Difference between revisions of "Déscription des sondes grilles"
(→Mode de fonctionnement) |
(→Structure et syntaxe des sondes) |
||
(8 intermediate revisions by 2 users not shown) | |||
Ligne 1: | Ligne 1: | ||
− | + | Cette page décrit les sondes grilles délivrées par le projet (WLCG Monitoring Working group). | |
− | + | ||
+ | Description faite par le projet sur: | ||
+ | https://twiki.cern.ch/twiki/bin/view/LCG/SAMProbesMetrics | ||
− | |||
− | Les informations sur ces sondes sont disponibles [[https://twiki.cern.ch/twiki/bin/view/EGEE/OAT_EGEE_III | + | Les informations sur ces sondes sont disponibles [[https://twiki.cern.ch/twiki/bin/view/EGEE/OAT_EGEE_III sur le Wiki de l'OAT]]. |
= Structure et syntaxe des sondes = | = Structure et syntaxe des sondes = | ||
Ligne 10: | Ligne 11: | ||
Les sondes délivrés par le projet ne sont pas limités qu'à une utilisation dans Nagios, elles ont été développés de façon à pouvoir être intégré dans d'autres outils de monitoring (Lemon,...). | Les sondes délivrés par le projet ne sont pas limités qu'à une utilisation dans Nagios, elles ont été développés de façon à pouvoir être intégré dans d'autres outils de monitoring (Lemon,...). | ||
− | Le projet a donc défini des spécifications pour l'écriture de ces sondes | + | Le projet a donc défini des spécifications pour l'écriture de ces sondes. |
Les sondes développés en suivant ces spécifications intègrent des options standard : | Les sondes développés en suivant ces spécifications intègrent des options standard : | ||
Ligne 37: | Ligne 38: | ||
L'option '''-n''' permet d'exécuter ces sondes avec une sortie formaté pour nagios. | L'option '''-n''' permet d'exécuter ces sondes avec une sortie formaté pour nagios. | ||
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x $X509_USER_PROXY | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x $X509_USER_PROXY -n |
Grid proxy is valid. Certificate will expire in 10.85 hours (Nov 27 22:30:05 2008 GMT). | Grid proxy is valid. Certificate will expire in 10.85 hours (Nov 27 22:30:05 2008 GMT). | ||
$ echo $? | $ echo $? | ||
0 | 0 | ||
− | |||
− | |||
− | |||
= Pagkages RPM = | = Pagkages RPM = | ||
Ligne 63: | Ligne 61: | ||
Ce script ne s'exécute que si le service est démarré. Le script de démarrage du service est /etc/init.d/nagios-proxy-refresh. Ce dernier positionne un fichier de lock qui autorise ou non le script cron a s'exécuter. | Ce script ne s'exécute que si le service est démarré. Le script de démarrage du service est /etc/init.d/nagios-proxy-refresh. Ce dernier positionne un fichier de lock qui autorise ou non le script cron a s'exécuter. | ||
− | Le proxy généré est stocké dans le fichier '''/ | + | Le proxy généré est stocké dans le fichier '''/etc/nagios/globus/userproxy.pem'''. L'accès à ce fichier n'est autorisé que pour l'utilisateur ''nagios''. |
Par défaut, le proxy est récupéré en s'authentifiant sur le serveur myproxy avec le '''certificat machine''' (/etc/grid-security/hostcert.pem; /etc/grid-security/hostkey.pem). Il faut que la commande '''/usr/sbin/nagios-proxy-refresh''' soit appelé sous l'identité '''root'''. | Par défaut, le proxy est récupéré en s'authentifiant sur le serveur myproxy avec le '''certificat machine''' (/etc/grid-security/hostcert.pem; /etc/grid-security/hostkey.pem). Il faut que la commande '''/usr/sbin/nagios-proxy-refresh''' soit appelé sous l'identité '''root'''. | ||
Ligne 69: | Ligne 67: | ||
Le proxy préalablement déposé sur le serveur myproxy doit donc explicitement authoriser le DN du certificat machine a générer des certificat. | Le proxy préalablement déposé sur le serveur myproxy doit donc explicitement authoriser le DN du certificat machine a générer des certificat. | ||
− | $ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s | + | $ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s myproxy.grif.fr -l nagios -x -Z "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=ccegeevmli10.in2p3.fr" |
# avec des Expression rationelles | # avec des Expression rationelles | ||
− | $ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s | + | $ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s myproxy.grif.fr -l nagios -x -Z "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=ccegeevm*" |
= Package grid-monitoring-fm-nagios-local = | = Package grid-monitoring-fm-nagios-local = | ||
Ligne 88: | Ligne 86: | ||
Cette sonde test le service FTS en se connectant sur le serveur TOMCAT du service et en récupérant la liste des canaux ouvert. Elle ne contient qu'un seul module ('''ch.cern.FTS-ChannelList'''). | Cette sonde test le service FTS en se connectant sur le serveur TOMCAT du service et en récupérant la liste des canaux ouvert. Elle ne contient qu'un seul module ('''ch.cern.FTS-ChannelList'''). | ||
− | + | ||
− | $ export X509_USER_PROXY=/ | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem |
$ /usr/libexec/grid-monitoring/probes/ch.cern/FTS-probe -m ch.cern.FTS-ChannelList -u cclcgftsprod.in2p3.fr -x $X509_USER_PROXY -n | $ /usr/libexec/grid-monitoring/probes/ch.cern/FTS-probe -m ch.cern.FTS-ChannelList -u cclcgftsprod.in2p3.fr -x $X509_USER_PROXY -n | ||
OK - Found 74 channels | OK - Found 74 channels | ||
Ligne 171: | Ligne 169: | ||
Ce module teste la validité du certificat serveur du service RGMA. | Ce module teste la validité du certificat serveur du service RGMA. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/ch.cern/RGMA-probe -m ch.cern.RGMA-CertLifetime -u cclcgmoli01 -n | $ /usr/libexec/grid-monitoring/probes/ch.cern/RGMA-probe -m ch.cern.RGMA-CertLifetime -u cclcgmoli01 -n | ||
Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT). | Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT). | ||
Ligne 179: | Ligne 176: | ||
Vérifie le status du service RGMA. | Vérifie le status du service RGMA. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
./RGMA-probe -m ch.cern.RGMA-ServiceStatus -u cclcgmoli01 -n -x /etc/nagios/globus/userproxy.pem | ./RGMA-probe -m ch.cern.RGMA-ServiceStatus -u cclcgmoli01 -n -x /etc/nagios/globus/userproxy.pem | ||
OK | OK | ||
Ligne 197: | Ligne 193: | ||
=== Utilisation === | === Utilisation === | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/CAdist-probe -m hr.srce.CAdist-Version -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/CAdist-probe -m hr.srce.CAdist-Version -n | ||
Ligne 218: | Ligne 213: | ||
=== hr.srce.GRAM-CertLifetime === | === hr.srce.GRAM-CertLifetime === | ||
Ce module permet de tester la validité d'un certificat en se connectant sur la port du service (2119 par défaut. | Ce module permet de tester la validité d'un certificat en se connectant sur la port du service (2119 par défaut. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-CertLifetime -u ccsrm:8443 -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-CertLifetime -u ccsrm:8443 -n | ||
Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT). | Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT). | ||
Ligne 225: | Ligne 219: | ||
=== hr.srce.GRAM-Auth === | === hr.srce.GRAM-Auth === | ||
Ce module permet de tester l'authentification auprès du service Gatekeeper d'un CE et voir ainsi si le service reconnaît le DN du proxy. | Ce module permet de tester l'authentification auprès du service Gatekeeper d'un CE et voir ainsi si le service reconnaît le DN du proxy. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | |||
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Auth -u cclcgvmli03 -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Auth -u cclcgvmli03 -n | ||
GRAM Authentication test successful | GRAM Authentication test successful | ||
Ligne 236: | Ligne 228: | ||
* Soumission sur la queue '''jobmanager-fork''' | * Soumission sur la queue '''jobmanager-fork''' | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u cclcgceli03:2119/jobmanager-fork -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u cclcgceli03:2119/jobmanager-fork -n | ||
GRAM OK: Command successfully executed. Output is: "1228755558 ". Result matches the expected result. | GRAM OK: Command successfully executed. Output is: "1228755558 ". Result matches the expected result. | ||
− | * Soumission sur | + | * Soumission sur le batch systeme, queue '''jobmanager-pbs''' |
− | /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u grid63.lal.in2p3.fr:2119/jobmanager-pbs -o "(queue=dteam)" -n |
− | + | GRAM OK: Command successfully executed. Output is: "1232541226 ". Result matches the expected result. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== GridFTP-probe == | == GridFTP-probe == | ||
Ligne 271: | Ligne 253: | ||
Cette sonde teste si un proxy est valide. Elle est utilisé pour tester le proxy utilisé par Nagios : | Cette sonde teste si un proxy est valide. Elle est utilisé pour tester le proxy utilisé par Nagios : | ||
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x / | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x /etc/nagios/globus/userproxy.pem -n -v dteam |
Grid proxy is valid. Certificate will expire in 9.15 hours (Dec 09 02:30:03 2008 GMT). | Grid proxy is valid. Certificate will expire in 9.15 hours (Dec 09 02:30:03 2008 GMT). | ||
Ligne 282: | Ligne 264: | ||
Ce module teste la validité du certificat serveur du service MyProxy. | Ce module teste la validité du certificat serveur du service MyProxy. | ||
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-CertLifetime -u | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-CertLifetime -u myproxy.grif.fr -n |
Certificate will expire in 147.85 days (Jun 17 14:00:37 2009 GMT). | Certificate will expire in 147.85 days (Jun 17 14:00:37 2009 GMT). | ||
=== hr.srce.MyProxy-ProxyLifetime === | === hr.srce.MyProxy-ProxyLifetime === | ||
Ce module test la validité du proxy longue durée déposé sur le serveur MyProxy. L'authentification sur le serveur myproxy est faite en utilisant le certificat préalablement chargé. | Ce module test la validité du proxy longue durée déposé sur le serveur MyProxy. L'authentification sur le serveur myproxy est faite en utilisant le certificat préalablement chargé. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-ProxyLifetime -u myproxy.grif.fr -x $X509_USER_PROXY -n |
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-ProxyLifetime -u | ||
Certificate will expire in 8.83 days (Jan 29 13:35:21 2009 GMT). | Certificate will expire in 8.83 days (Jan 29 13:35:21 2009 GMT). | ||
=== hr.srce.MyProxy-Store === | === hr.srce.MyProxy-Store === | ||
Ce module permet de tester que le service Myproxy fonctionne bien. Il crée un nouveau proxy à partir du proxy courant, le dépose sur le serveur myproxy, affiche les informations puis le supprime en fin de test | Ce module permet de tester que le service Myproxy fonctionne bien. Il crée un nouveau proxy à partir du proxy courant, le dépose sur le serveur myproxy, affiche les informations puis le supprime en fin de test | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-Store -u myproxy.grif.fr --verbose -n |
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-Store -u | ||
INFO: getting proxy certificate info | INFO: getting proxy certificate info | ||
COMMAND: /opt/globus/bin/grid-proxy-info 2>&1 | COMMAND: /opt/globus/bin/grid-proxy-info 2>&1 | ||
− | COMMAND: /opt/globus/bin/myproxy-init -x -S -k nagios -l nagios -c 1 -s | + | COMMAND: /opt/globus/bin/myproxy-init -x -S -k nagios -l nagios -c 1 -s myproxy.grif.fr -p 7512 -r "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=Pierre-Emmanuel Brinette" |
− | COMMAND: /opt/globus/bin/myproxy-info -l nagios -s | + | COMMAND: /opt/globus/bin/myproxy-info -l nagios -s myproxy.grif.fr -p 7512 |
− | COMMAND: /opt/globus/bin/myproxy-destroy -k nagios -l nagios -s | + | COMMAND: /opt/globus/bin/myproxy-destroy -k nagios -l nagios -s myproxy.grif.fr -p 7512 |
MyProxy credential created. Querying stored credential succeeded. MyProxy credential destroyed. | MyProxy credential created. Querying stored credential succeeded. MyProxy credential destroyed. | ||
Ligne 315: | Ligne 295: | ||
Ce module permet de tester un Ressource Broker en soumettant un job et en récupérant le résultat. Les options utiles sont : | Ce module permet de tester un Ressource Broker en soumettant un job et en récupérant le résultat. Les options utiles sont : | ||
− | + | * '''-v''' : Nom de la vo utilisé pour soumettre le job | |
− | + | * '''--ce''' : Force le hostname d'un CE de déstination | |
− | + | * '''-t (timeout)''' : Par défaut 600s, nécessite peut-etre d'être augmenté. | |
Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré. | Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | + | $ /usr/libexec/grid-monitoring/probes/hr.srce/ResourceBroker-probe -m hr.srce.ResourceBroker-RunJob -u rb104.cern.ch -v dteam --ce cclcgceli02.in2p3.fr -n -x $X509_USER_PROXY |
− | $ /usr/libexec/grid-monitoring/probes/hr.srce/ResourceBroker-probe -m hr.srce.ResourceBroker-RunJob -u rb104.cern.ch -v dteam --ce | + | Job https://rb104.cern.ch:9000/LHRfaNYfsybHGqNWwsKkmw successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid. |
− | Job https://rb104.cern.ch:9000/LHRfaNYfsybHGqNWwsKkmw successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid. | ||
== SRM-probe == | == SRM-probe == | ||
Ligne 339: | Ligne 318: | ||
Teste si l'interface du service SRM répond à une requete SRM-ping. | Teste si l'interface du service SRM répond à une requete SRM-ping. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM1-Ping -u ccsrm.in2p3.fr -n -x $X509_USER_PROXY | $ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM1-Ping -u ccsrm.in2p3.fr -n -x $X509_USER_PROXY | ||
SRM ping successful. | SRM ping successful. | ||
Ligne 355: | Ligne 333: | ||
* ''' -t ''' : Timeout de la commande (par défaut 600s) | * ''' -t ''' : Timeout de la commande (par défaut 600s) | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM-Transfer -x $X509_USER_PROXY -u ccsrm02 --path /pnfs/in2p3.fr/data/dteam/ -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM-Transfer -x $X509_USER_PROXY -u ccsrm02 --path /pnfs/in2p3.fr/data/dteam/ -n | ||
Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid. | Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid. | ||
Ligne 382: | Ligne 359: | ||
Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré. | Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré. | ||
− | + | $ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem | |
− | $ export X509_USER_PROXY=/ | ||
$ /usr/libexec/grid-monitoring/probes/hr.srce/WMProxy-probe -m hr.srce.WMProxy-RunJob -x $X509_USER_PROXY -u wms114.cern.ch -v dteam -t 3600 --ce cclcgceli02.in2p3.fr -n | $ /usr/libexec/grid-monitoring/probes/hr.srce/WMProxy-probe -m hr.srce.WMProxy-RunJob -x $X509_USER_PROXY -u wms114.cern.ch -v dteam -t 3600 --ce cclcgceli02.in2p3.fr -n | ||
Job https://wms114.cern.ch:9000/dqlZqLb2bdXRxPEC9eRSuQ successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid. | Job https://wms114.cern.ch:9000/dqlZqLb2bdXRxPEC9eRSuQ successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid. |
Latest revision as of 12:18, 19 février 2010
Cette page décrit les sondes grilles délivrées par le projet (WLCG Monitoring Working group).
Description faite par le projet sur: https://twiki.cern.ch/twiki/bin/view/LCG/SAMProbesMetrics
Les informations sur ces sondes sont disponibles [sur le Wiki de l'OAT].
Sommaire
- 1 Structure et syntaxe des sondes
- 2 Pagkages RPM
- 3 Package nagios-proxy-refresh
- 4 Package grid-monitoring-fm-nagios-local
- 5 Package grid-monitoring-probes-cern
- 6 Package grid-monitoring-probes-hr.srce
Structure et syntaxe des sondes
Les sondes délivrés par le projet ne sont pas limités qu'à une utilisation dans Nagios, elles ont été développés de façon à pouvoir être intégré dans d'autres outils de monitoring (Lemon,...).
Le projet a donc défini des spécifications pour l'écriture de ces sondes.
Les sondes développés en suivant ces spécifications intègrent des options standard :
- -h|--help : affiche l'aide sur l'utilisation de la sonde.
- -l : Liste les "métriques" testé par la sondes. Une seule et même sonde peut intégrer plusieurs métriques, c'est à dire des tests différents.
- -m : Spécifie la "métrique" à invoquer.
- -x : Chemin vers le fichier de proxy.
- -n : Affiche le résultat de la sonde au format Nagios (résultat sur 1 seule ligne + valeur de retour).
- -u : URI du service à tester (dans le cas de sondes non locale).
Par défaut, le résultat d'exécution de la sonde est affiché au format WLCG.
$ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x $X509_USER_PROXY serviceType: GridProxy metricName: hr.srce.GridProxy-Valid metricStatus: OK timestamp: 2008-11-27T11:38:49Z summaryData: Grid proxy is valid. Certificate will expire in 10.85 hours (Nov 27 22:30:05 2008 GMT). hostName: cclcgsrvli01 EOT
L'exécution de la sonde renvoi deux codes retour possibles (qui sont différent de ceux de nagios) :
- 0 : La sonde a effectué sont traitement correctement (même si le metricStatus est CRITICAL)
- 1 : La sonde n'a pas pu effectuer sont traitement correctement (échec de connexion au service par exemple).
L'option -n permet d'exécuter ces sondes avec une sortie formaté pour nagios.
$ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x $X509_USER_PROXY -n Grid proxy is valid. Certificate will expire in 10.85 hours (Nov 27 22:30:05 2008 GMT). $ echo $? 0
Pagkages RPM
4 packages RPM contiennent les sondes et les outils nécessaire à l'exécution de ces sondes :
nagios-proxy-refresh-1.7-3.noarch grid-monitoring-probes-hr.srce-0.10.1-1.noarch grid-monitoring-probes-ch.cern-0.12.0-1.x86_64 grid-monitoring-fm-nagios-local-0.11.1-1.noarch
Le nom des packages de sondes contient le nom de l'organisme délivrant les sondes (pour le moment uniquement cern.ch et srce.hr).
Package nagios-proxy-refresh
Ce paquet contient le mécanisme de renouvellement de proxy.
Le fichier de configuration est /etc/nagios-proxy-refresh.conf. Le renouvellement de proxy est effectué toute les 4 heures par le script cron /etc/cron.d/nagios-proxy-refresh. Ce script ne s'exécute que si le service est démarré. Le script de démarrage du service est /etc/init.d/nagios-proxy-refresh. Ce dernier positionne un fichier de lock qui autorise ou non le script cron a s'exécuter.
Le proxy généré est stocké dans le fichier /etc/nagios/globus/userproxy.pem. L'accès à ce fichier n'est autorisé que pour l'utilisateur nagios.
Par défaut, le proxy est récupéré en s'authentifiant sur le serveur myproxy avec le certificat machine (/etc/grid-security/hostcert.pem; /etc/grid-security/hostkey.pem). Il faut que la commande /usr/sbin/nagios-proxy-refresh soit appelé sous l'identité root.
Le proxy préalablement déposé sur le serveur myproxy doit donc explicitement authoriser le DN du certificat machine a générer des certificat.
$ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s myproxy.grif.fr -l nagios -x -Z "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=ccegeevmli10.in2p3.fr" # avec des Expression rationelles $ myproxy-init -c 336 -k NagiosRetrieve-ccegeevmli10.in2p3.fr-dteam -s myproxy.grif.fr -l nagios -x -Z "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=ccegeevm*"
Package grid-monitoring-fm-nagios-local
Ce package contient ne contient pas de sondes mais 2 utilitaires :
- check_wlcg : un wrapper permettant de positionner l'environnement prealablement à l'exécution des sondes grilles.
- nagios-run-check : programme permettant d'éxécuter un test de service sur un host à partir de la configuration nagios. Cette commande doit être éxécuté sous l'identité root:
# nagios-run-check cclcgceli01.in2p3.fr hr.srce.GridFTP-Transfer Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid.
Package grid-monitoring-probes-cern
Ce package contient des sondes fournies par le CERN. Elle sont installés dans le répertoire /usr/libexec/grid-monitoring/probes/ch.cern/.
FTS-probe
Cette sonde test le service FTS en se connectant sur le serveur TOMCAT du service et en récupérant la liste des canaux ouvert. Elle ne contient qu'un seul module (ch.cern.FTS-ChannelList).
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/ch.cern/FTS-probe -m ch.cern.FTS-ChannelList -u cclcgftsprod.in2p3.fr -x $X509_USER_PROXY -n OK - Found 74 channels
LFC-probe
Cette sonde permet de tester un Service LFC. La particularité de cette sonde est qu'elle ne supporte pas le format de sortie Nagios (option -n) et quelle est écrite en Python. Elle contient 4 modules.
ch.cern.LFC-Write
Ce module écrit une entrée dans le répertoire /grid/VO d'un serveur LFC donné en utilisant l'API python.
$ /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -m ch.cern.LFC-Write -u lfc-prod.in2p3.fr -v dteam -x $X509_USER_PROXY serviceType: glite-LFC gatheredAt: ccegeevmli10 metricStatus: OK timestamp: 2009-01-21T10:09:15.330553 voName: dteam summaryData: OK serviceURI: lfc-prod.in2p3.fr metricName: ch.cern.LFC-Write EOT
$ /usr/libexec/grid-monitoring/plugins/nagios/check_wlcg -m ch.cern.LFC-Write-u lfc-prod.in2p3.fr -P /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -o "-v dteam" -x $X509_USER_PROXY OK
ch.cern.LFC-Read
Ce module lie l'entrée précédemment crée par le module ch.cern.LFC-Write dans le répertoire /grid/VO d'un serveur LFC donné en utilisant l'API python.
$ /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -m ch.cern.LFC-Write -u lfc-prod.in2p3.fr -v dteam -x $X509_USER_PROXY serviceType: glite-LFC gatheredAt: ccegeevmli10 metricStatus: OK timestamp: 2009-01-21T10:09:15.330553 voName: dteam summaryData: OK serviceURI: lfc-prod.in2p3.fr metricName: ch.cern.LFC-Write EOT
$ /usr/libexec/grid-monitoring/plugins/nagios/check_wlcg -m ch.cern.LFC-Read -u lfc-prod.in2p3.fr -P /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -o "-v dteam" -x $X509_USER_PROXY OK
ch.cern.LFC-ReadDli
Ce module vérifie la présence d'une entrée précédemment crée par le module ch.cern.LFC-Write en se connectant sur le serveur TOMCAT du service.
$ /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -m ch.cern.LFC-ReadDli -u lfc-prod.in2p3.fr -v dteam -x $X509_USER_PROXY serviceType: glite-LFC gatheredAt: ccegeevmli10 metricStatus: OK timestamp: 2009-01-21T10:17:58.569287 voName: dteam summaryData: Found 1 PFN serviceURI: lfc-prod.in2p3.fr metricName: ch.cern.LFC-ReadDli EOT
$ /usr/libexec/grid-monitoring/plugins/nagios/check_wlcg -m ch.cern.LFC-ReadDli -u lfc-prod.in2p3.fr -P /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -o "-v dteam" -x $X509_USER_PROXY Found 1 PFN
ch.cern.LFC-Readdir
Cette sonde lit les entrée d'un répertoire LFC et affiche le temps d'exécution de la commande.
$ /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -m ch.cern.LFC-Readdir -u lfc-prod.in2p3.fr -v dteam -x $X509_USER_PROXY serviceType: glite-LFC gatheredAt: ccegeevmli10 metricStatus: OK timestamp: 2009-01-21T10:19:07.828381 voName: dteam summaryData: 0.053 serviceURI: lfc-prod.in2p3.fr metricName: ch.cern.LFC-Readdir EOT
$ /usr/libexec/grid-monitoring/plugins/nagios/check_wlcg -m ch.cern.LFC-Readdir -u lfc-prod.in2p3.fr -P /usr/libexec/grid-monitoring/probes/ch.cern/LFC-probe -o "-v dteam" -x $X509_USER_PROXY 0.048
RGMA-probe
Cette sonde permet de tester le service MON Box. Elle se connecte sur le serveur TOMCAT de la machine et récupère le status du service. Elle contient 2 modules
ch.cern.RGMA-CertLifetime
Ce module teste la validité du certificat serveur du service RGMA.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/ch.cern/RGMA-probe -m ch.cern.RGMA-CertLifetime -u cclcgmoli01 -n Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT).
ch.cern.RGMA-ServiceStatus
Vérifie le status du service RGMA.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem ./RGMA-probe -m ch.cern.RGMA-ServiceStatus -u cclcgmoli01 -n -x /etc/nagios/globus/userproxy.pem OK
Package grid-monitoring-probes-hr.srce
Ce package contient des sondes fournies par SRCE. Elle sont installés dans le répertoire /usr/libexec/grid-monitoring/probes/hr.srce/.
CAdist-probe
Cette sonde permet de tester si la version des CA distribué par le projet sur une machine donnée est bien à jour.
La sonde télécharge la version des CA courante sur les site de l'IGTF et du respository LCG et les compare de deux façon possible :
- Soit localement en extrayant les données du fichier /etc/grid-security/certificates/policy-igtf-classic.info
- Soit à distance (si un nom de Host est passé en paramètre) en transférant ce même fichier par gridftp
Utilisation
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/CAdist-probe -m hr.srce.CAdist-Version -n
DPM-probe
Cette sonde permet de tester un serveur DPM.
Elle contient un seul module hr.srce.DPM-Query qui effectue une commande dpm-qryconf
DPNS-probe
Cette sonde permet de tester le service DPNS.
Elle contient un seul module hr.srce.DPNS-List qui exécute une command dpns-ls.
GRAM-probe
Cette sonde permet de tester des services (essentiellement les CEs) en utilisant la couche Globus GRAM (Globus Resource Allocation Manager). Les services GRAM sont utilisé coté client pour s'authentifier auprès d'un service et effectuer des action (telles que la soumission de job).
Cette sonde contient 3 modules :
hr.srce.GRAM-CertLifetime
Ce module permet de tester la validité d'un certificat en se connectant sur la port du service (2119 par défaut.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-CertLifetime -u ccsrm:8443 -n Certificate will expire in 253.99 days (Aug 14 14:01:00 2009 GMT).
hr.srce.GRAM-Auth
Ce module permet de tester l'authentification auprès du service Gatekeeper d'un CE et voir ainsi si le service reconnaît le DN du proxy.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Auth -u cclcgvmli03 -n GRAM Authentication test successful
hr.srce.GRAM-Command
Ce module permet de soumettre un job sur un CE via la commande "globus-job-run". Le paramètre -u (URL) permet de spécifier le jobmanager que l'on souhaite utiliser. En cas de soumission sur le système de batch, il faut spécifier l'option -t (timeout) avec un valeur minimale de 600 secondes.
- Soumission sur la queue jobmanager-fork
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u cclcgceli03:2119/jobmanager-fork -n GRAM OK: Command successfully executed. Output is: "1228755558 ". Result matches the expected result.
- Soumission sur le batch systeme, queue jobmanager-pbs
$ /usr/libexec/grid-monitoring/probes/hr.srce/GRAM-probe -m hr.srce.GRAM-Command -u grid63.lal.in2p3.fr:2119/jobmanager-pbs -o "(queue=dteam)" -n GRAM OK: Command successfully executed. Output is: "1232541226 ". Result matches the expected result.
GridFTP-probe
Cette sonde permet de tester un service GridFTP en effectuant un transfert (écriture/lecture/suppression). Il est possible de spécifier des paramètres optionnels tels que :
- -vo : Nom de la Vo utilisé pour faire le test
- -t : timeout (par défaut 600 s)
- --path= : répertoire de destination (par défaut /tmp)
$ /usr/libexec/grid-monitoring/probes/hr.srce/GridFTP-probe -m hr.srce.GridFTP-Transfer -u cclcgceli01 -n Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid. $ /usr/libexec/grid-monitoring/probes/hr.srce/GridFTP-probe -m hr.srce.GridFTP-Transfer -u gsiftp://cclcgseli01:2811 --path=/grid/dteam -n Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid.
GridProxy-probe
Cette sonde teste si un proxy est valide. Elle est utilisé pour tester le proxy utilisé par Nagios :
$ /usr/libexec/grid-monitoring/probes/hr.srce/GridProxy-probe -x /etc/nagios/globus/userproxy.pem -n -v dteam Grid proxy is valid. Certificate will expire in 9.15 hours (Dec 09 02:30:03 2008 GMT).
MyProxy-probe
Cette sonde permet de tester la validité du proxy stocké sur le serveur MyProxy. Cette sonde contient 3 modules
hr.srce.MyProxy-CertLifetime
Ce module teste la validité du certificat serveur du service MyProxy.
$ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-CertLifetime -u myproxy.grif.fr -n Certificate will expire in 147.85 days (Jun 17 14:00:37 2009 GMT).
hr.srce.MyProxy-ProxyLifetime
Ce module test la validité du proxy longue durée déposé sur le serveur MyProxy. L'authentification sur le serveur myproxy est faite en utilisant le certificat préalablement chargé.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-ProxyLifetime -u myproxy.grif.fr -x $X509_USER_PROXY -n Certificate will expire in 8.83 days (Jan 29 13:35:21 2009 GMT).
hr.srce.MyProxy-Store
Ce module permet de tester que le service Myproxy fonctionne bien. Il crée un nouveau proxy à partir du proxy courant, le dépose sur le serveur myproxy, affiche les informations puis le supprime en fin de test
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/MyProxy-probe -m hr.srce.MyProxy-Store -u myproxy.grif.fr --verbose -n INFO: getting proxy certificate info COMMAND: /opt/globus/bin/grid-proxy-info 2>&1 COMMAND: /opt/globus/bin/myproxy-init -x -S -k nagios -l nagios -c 1 -s myproxy.grif.fr -p 7512 -r "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=Pierre-Emmanuel Brinette" COMMAND: /opt/globus/bin/myproxy-info -l nagios -s myproxy.grif.fr -p 7512 COMMAND: /opt/globus/bin/myproxy-destroy -k nagios -l nagios -s myproxy.grif.fr -p 7512 MyProxy credential created. Querying stored credential succeeded. MyProxy credential destroyed.
ResourceBroker-probe
Cette sonde permet de tester un Ressource Broker. Elle contient 2 modules
hr.srce.ResourceBroker-CertLifetime
Ce module teste la validité du certificat serveur du service Ressource Broker.
$ /usr/libexec/grid-monitoring/probes/hr.srce/ResourceBroker-probe -m hr.srce.ResourceBroker-CertLifetime -u rb104.cern.ch -n Certificate will expire in 66.65 days (Mar 28 09:27:28 2009 GMT).
hr.srce.ResourceBroker-RunJob
Ce module permet de tester un Ressource Broker en soumettant un job et en récupérant le résultat. Les options utiles sont :
- -v : Nom de la vo utilisé pour soumettre le job
- --ce : Force le hostname d'un CE de déstination
- -t (timeout) : Par défaut 600s, nécessite peut-etre d'être augmenté.
Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/ResourceBroker-probe -m hr.srce.ResourceBroker-RunJob -u rb104.cern.ch -v dteam --ce cclcgceli02.in2p3.fr -n -x $X509_USER_PROXY Job https://rb104.cern.ch:9000/LHRfaNYfsybHGqNWwsKkmw successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid.
SRM-probe
Cette sonde permet de tester les services SRMv1 et SRMv2. Elle contient 4 modules:
hr.srce.SRM1-CertLifetime
Ce module teste la validité du certificat serveur du service SRMv1
$ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM1-CertLifetime -u ccsrm.in2p3.fr -n Certificate will expire in 205.83 days (Aug 14 14:01:00 2009 GMT).
hr.srce.SRM1-Ping
Teste si l'interface du service SRM répond à une requete SRM-ping.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM1-Ping -u ccsrm.in2p3.fr -n -x $X509_USER_PROXY SRM ping successful.
hr.srce.SRM2-CertLifetime
Ce module teste la validité du certificat serveur du service SRMv2.
$ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM2-CertLifetime -u ccsrm.in2p3.fr -n Certificate will expire in 205.83 days (Aug 14 14:01:00 2009 GMT).
hr.srce.SRM-Transfer
Effectue un transfert d'un fichier sur le serveur SRM. Les options utiles sont :
- --path : spécifie le répertoire de déstination (par défault /tmp)
- -t : Timeout de la commande (par défaut 600s)
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/SRM-probe -m hr.srce.SRM-Transfer -x $X509_USER_PROXY -u ccsrm02 --path /pnfs/in2p3.fr/data/dteam/ -n Upload to remote computer succeeded. Download from remote computer succeeded. File successfully removed from remote computer. Received file is valid.
WMProxy-probe
Cette sondes et le pendant de la sonde ResourceBroker-probe pour le WMS. Elle permet de tester un WMS en soumettant un job.
Elle contient 2 modules :
hr.srce.WMProxy-CertLifetime
Ce module teste la validité du certificat serveur du service WMS:
$ /usr/libexec/grid-monitoring/probes/hr.srce/WMProxy-probe -m hr.srce.WMProxy-CertLifetime -u wms114.cern.ch -n Certificate will expire in 210.86 days (Aug 19 15:32:13 2009 GMT).
hr.srce.WMProxy-RunJob
Ce module permet de tester un WMS en soumettant un job et en récupérant le résultat. Les options utiles sont :
- -v : Nom de la vo utilisé pour soumettre le job
- --ce : Force le hostname d'un CE de déstination
- -t (timeout) : Par défaut 600s, nécessite peut-etre d'être augmenté.
ATTENTION Les WMS sont particulièrement sensible au décalage d'horloges. Si la machine qui exécute la sondes à quelques secondes d'avance sur l'horloge des WMS vous obtenez le message:
Proxy exception: Proxy validity starting time in the future
Le résultat de cette sonde est considéré comme valide lorsque le job s'est exécuté et que l'output de job a bien été récupéré.
$ export X509_USER_PROXY=/etc/nagios/globus/userproxy.pem $ /usr/libexec/grid-monitoring/probes/hr.srce/WMProxy-probe -m hr.srce.WMProxy-RunJob -x $X509_USER_PROXY -u wms114.cern.ch -v dteam -t 3600 --ce cclcgceli02.in2p3.fr -n Job https://wms114.cern.ch:9000/dqlZqLb2bdXRxPEC9eRSuQ successfully submitted. Job successfully finished. Job output successfully retrieved. Received file is valid.
WMS-probe
Cette sonde est similaire à la sonde VMProxy-probe. Elle utilise les commande glite-job-* qui on disparu du middleware. Cette sonde n'est plus utilisé
refresh_proxy
Ce n'est pas une sonde ! Ce script est utilisé par la commande /usr/sbin/nagios-proxy-refresh pour obtenir un proxy préalablement déposé sur le serveur Myproxy. Pour pouvoir utiliser le certificat machine pour s'authentifier (/etc/grid-security/hostcert.pem; /etc/grid-security/hostkey.pem), , ce script doit être éxécuté sous l'identité root afin de pouvoir lire la clé privé.
/usr/libexec/grid-monitoring/probes/hr.srce/refresh_proxy \ -x $OUTPUT_PROXY \ -m hr.srce.GridProxy-Get \ -u $MYPROXY_HOST \ --myproxyuser $MYPROXY_USER \ --name $MYPROXY_NAME \ --localuser $LOCALUSER \ --vo $NAGIOS_VO \