Difference between revisions of "Installer Nagios NCG sans YAIM"
Ligne 31: | Ligne 31: | ||
* jpackage (pour glite-UI) | * jpackage (pour glite-UI) | ||
* glite-UI | * glite-UI | ||
+ | # cd /etc/yum.repos.d/ | ||
# wget http://grid-deployment.web.cern.ch/grid-deployment/glite/repos/'''[nom du repository]'''.repo | # wget http://grid-deployment.web.cern.ch/grid-deployment/glite/repos/'''[nom du repository]'''.repo | ||
Ligne 38: | Ligne 39: | ||
=== Installation les packages nécessaire === | === Installation les packages nécessaire === | ||
− | |||
* installer la couche UI | * installer la couche UI | ||
Ligne 47: | Ligne 47: | ||
* Configuration de la couche 'UI' de la machine | * Configuration de la couche 'UI' de la machine | ||
− | Modification du site-info.def | + | Modification du site-info.def afin de le configurer pour un UI minimale |
BDII_HOST=cclcgtopbdii01.in2p3.fr | BDII_HOST=cclcgtopbdii01.in2p3.fr | ||
Ligne 93: | Ligne 93: | ||
* Démarrage du service de renouvellement de proxy | * Démarrage du service de renouvellement de proxy | ||
# /etc/init.d/nagios-proxy-refresh start | # /etc/init.d/nagios-proxy-refresh start | ||
+ | |||
+ | === Configuration de HTTPd === | ||
+ | |||
+ | * Ajouter d'un utilisateur autorisé à se connecter à la console de Nagios. | ||
+ | |||
+ | # htpasswd -c /etc/nagios/htpasswd.users nagiosadmin | ||
+ | New password: | ||
+ | Re-type new password: | ||
+ | Adding password for user nagiosadmin | ||
+ | |||
+ | # usermod -G nagiocmd apache | ||
+ | |||
+ | * Démarrer le service | ||
+ | |||
+ | # /etc/init.d/httpd start | ||
=== Configuration de NCG === | === Configuration de NCG === | ||
Ligne 104: | Ligne 119: | ||
* MYPROXY_SERVER : Serveur myproxy utilisé pour stocker le proxy longue durée | * MYPROXY_SERVER : Serveur myproxy utilisé pour stocker le proxy longue durée | ||
* BDII : hostname du '''site'''bdii du site à superviser | * BDII : hostname du '''site'''bdii du site à superviser | ||
+ | * MAIN_DB_FILE=/etc/ncg/ncg.localdb : fichier contenant les définitions locales de la configuration. | ||
Le fichier est en suite découpé en section correspondant aux modules perl utilisés pour générer la configuration | Le fichier est en suite découpé en section correspondant aux modules perl utilisés pour générer la configuration | ||
Ligne 141: | Ligne 157: | ||
'''Attention''' : la syntaxe des noms des VOs utilisée par la variable '''SAM_VOS''' n'est pas la même que celle définie dans le CIC portal. De plus il faut respecter la casse. Pour récupérer la liste des VOs déclarée dans la base de SAM, il suffit de lancer depuis le serveur nagios la commande : | '''Attention''' : la syntaxe des noms des VOs utilisée par la variable '''SAM_VOS''' n'est pas la même que celle définie dans le CIC portal. De plus il faut respecter la casse. Pour récupérer la liste des VOs déclarée dans la base de SAM, il suffit de lancer depuis le serveur nagios la commande : | ||
$ wget -q -O - http://lcg-sam.cern.ch:8080/same-pi/vo_names.jsp | xmllint --format - | $ wget -q -O - http://lcg-sam.cern.ch:8080/same-pi/vo_names.jsp | xmllint --format - | ||
+ | |||
+ | |||
+ | Dans la section '''<NCG::SiteInfo>''' on peut spécifier des information complémentaires | ||
+ | * Ajouter les neuds présents dans le BDII mais non déclaré dans la GOCDB: | ||
+ | # NCG modules for gathering site information | ||
+ | <NCG::SiteInfo> | ||
+ | [...] | ||
+ | <LDAP> | ||
+ | LDAP_ADDRESS=$BDII | ||
+ | ADD_HOSTS=0 | ||
+ | </LDAP> | ||
+ | [...] | ||
+ | |||
+ | La dernière section '''<NCG::RemoteMetrics>''' permet de spécifier les actions concerntant SAM en utilisant les variables déclarés plus haut. | ||
+ | <NCG::RemoteMetrics> | ||
+ | # Values of parameters will be taken from | ||
+ | # configuration of NCG::ConfigGen::Nagios | ||
+ | <SAM> | ||
+ | SAM_INCLUDE_ALL=$SAM_INCLUDE_ALL | ||
+ | SAM_VOS=$SAM_VOS | ||
+ | </SAM> | ||
+ | <NPM/> | ||
+ | </NCG::RemoteMetrics> | ||
* Fichier de configuration /etc/ncg/ncg.cfg | * Fichier de configuration /etc/ncg/ncg.cfg | ||
Ligne 157: | Ligne 196: | ||
# /usr/sbin/ncg.pl -v | # /usr/sbin/ncg.pl -v | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Configuration de Nagios === | === Configuration de Nagios === |
Version du 16:28, 21 janvier 2009
Installer Nagios NCG sans YAIM
L'installation et la configuration des packages NCG avec Yaim présentent des inconvénients majeurs. La distribution Nagios+NCG est actuellement testée par l'OAT comme un composant d'un système de monitoring régional distribué. Cette distribution évolue assez rapidement et intègre régulièrement de nouveaux composants qui ne sont pas utiles, et peuvent même être génant pour un système de monitoring de site. Par exemple:
- l'accès à la page de status de nagios pour n'importe quelle personnes appartenant à la VO Ops ou dteam
- L'envoi des résultat d'éxécution des sondes par Active MQ "quelque part"
- Le stockage des informations dans une base de donnée mysql (NDOTools)
- (ce qui vous agasse dans yaim) ...
Prérequis
NCG nécessite d'avoir accès à la SAM Programatic Interface (SAM-PI) afin de pouvoir générer la configuration et surtout récupérer les résultats des tests SAM. Pour obtenir un accès, il faut créer un ticket GGUS avec comme sujet:
SAM-PI Access request as profile "EGEE-SA1 Monitoring Profile"
Dans le message du ticket, il faut spécifier l'IP et/ou le Hostname de la machine qui accédera à la base SAM.
Installation de la machine
Configuration matérielle
- 256 Mo de RAM
- 5 Go de disque
- SL 4.5 i386/x86_64
- Installation minimale du système
Configurer les repository
Ajouter les repository suivant dans /etc/yum.repos.d/
- LCG-CA
- DAG
- jpackage (pour glite-UI)
- glite-UI
# cd /etc/yum.repos.d/ # wget http://grid-deployment.web.cern.ch/grid-deployment/glite/repos/[nom du repository].repo
- egee-SA1
# wget http://www.sysadmin.hep.ac.uk/rpms/egee-SA1/sl4/egee-SA1.repo
Installation les packages nécessaire
- installer la couche UI
# yum install LCG-CA # yum install glite-UI # yum install gcc-c++
- Configuration de la couche 'UI' de la machine
Modification du site-info.def afin de le configurer pour un UI minimale
BDII_HOST=cclcgtopbdii01.in2p3.fr VOS="ops dteam" PX_HOST=myproxy.grif.fr GLOBUS_TCP_PORT_RANGE=20000,250000
- Configuration avec YAIM
# /opt/glite/yaim/bin/yaim -c -s site-info.def -n glite-UI
- Installation de Nagios:
# yum install nagios nagios-plugins httpd
- Installation des sondes et de ncg
# yum install nagios-proxy-refresh grid-monitoring-probes-hr.srce grid-monitoring-probes-ch.cern # yum install grid-monitoring-config-gen grid-monitoring-fm-nagios-local grid-monitoring-fm-nagios-remote grid-monitoring-probes-org.bdii
Configuration du service
Rafraichissement de proxy
Il faut au préalable déposer un proxy longue durée sur le serveur MyProxy. Depuis un machine interactive, lancer la commande suivante :
$ export GT_PROXY_MODE=old $ 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"
Cette commande permet de générer un proxy valide 14 jours.
- Le login ( -l) : nagios
- Le "Credential" (-k) : NagiosRetrieve-"hostname de nagios + domaine"-"VO"
- Le DN de la machine autorisé de récupéré le proxy (-Z) : le DN du certificat machine du serveur nagios.
Il est possible d'autoriser plusieurs machine à récupérer ce proxy, le paramètre -Z autorise les expressions rationnelles (regexp):
-Z "/O=GRID-FR/C=FR/O=CNRS/OU=CC-LYON/CN=ccegeevmli[0-3][0-9].in2p3.fr"
Le fichier de configuration du service est: /etc/nagios-proxy-refresh.conf
MYPROXY_HOST=myproxy.grif.fr NAGIOS_VO=dteam MYPROXY_USER=nagios LOCALUSER=nagios MYPROXY_NAME=NagiosRetrieve-`hostname -f`-${NAGIOS_VO} OUTPUT_PROXY=/etc/nagios/globus/userproxy.pem
- Démarrage du service de renouvellement de proxy
# /etc/init.d/nagios-proxy-refresh start
Configuration de HTTPd
- Ajouter d'un utilisateur autorisé à se connecter à la console de Nagios.
# htpasswd -c /etc/nagios/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
# usermod -G nagiocmd apache
- Démarrer le service
# /etc/init.d/httpd start
Configuration de NCG
Le fichier de configuration principal de NCG est /etc/ncg/ncg.cfg. Il inclut le fichier /etc/ncg/ncg.localdb permettant de personnaliser la configuration générée.
Le fichier principal est découpé en section. Le début du fichier permet de renseigner des variables utilisées dans la suite du fichier.
Les variables à renseigner en entête de fichier sont :
- SITENAME : Le nom du site pour lequel générer la configuration
- MYPROXY_SERVER : Serveur myproxy utilisé pour stocker le proxy longue durée
- BDII : hostname du sitebdii du site à superviser
- MAIN_DB_FILE=/etc/ncg/ncg.localdb : fichier contenant les définitions locales de la configuration.
Le fichier est en suite découpé en section correspondant aux modules perl utilisés pour générer la configuration
Dans la section <NCG::ConfigGen> il faut renseigner les valeurs :
<NCG::ConfigGen> <Nagios> MYPROXY_SERVER=${MYPROXY_SERVER} # utilise la variable déclaré précédement) PROBES_TYPE=local,remote,native # type configuration nagios à générer # Emplacement des répertoire à utiliser, ne pas modifier pour une install SL4 TEMPLATES_DIR = /usr/share/grid-monitoring/config-gen/nagios OUTPUT_DIR = /etc/nagios/wlcg.d NRPE_OUTPUT_DIR = /etc/nagios/nrpe/ RESOURCES_OUTPUT_DIR = /etc/nagios # Adresse email par défaut de l'administrateur nagios NAGIOS_ADMIN=admin@mondomaine.fr # Nom du "Credential" utilisé pour récupérer un proxy depuis le serveur myproxy # Il faut utiliser la même valeur que celle définie dans /etc/nagios-proxy-refresh.conf MYPROXY_NAME=NagiosRetrieve-ccegeevmli08.in2p3.fr-dteam # nom de l'utilisateur utilisé pour récupérer un proxy depuis le serveur myproxy # Il faut utiliser la même valeur que celle définie dans /etc/nagios-proxy-refresh.conf MYPROXY_USER=nagios # Récupère les tests SAM non critique ? SAM_INCLUDE_ALL=0 # Liste des VOs pour lesquels récupérer les tests SAM SAM_VOS=OPS # nom de la vo utilisée pour passer les tests locaux: VO=dteam </Nagios> </NCG::ConfigGen>
Attention : la syntaxe des noms des VOs utilisée par la variable SAM_VOS n'est pas la même que celle définie dans le CIC portal. De plus il faut respecter la casse. Pour récupérer la liste des VOs déclarée dans la base de SAM, il suffit de lancer depuis le serveur nagios la commande :
$ wget -q -O - http://lcg-sam.cern.ch:8080/same-pi/vo_names.jsp | xmllint --format -
Dans la section <NCG::SiteInfo> on peut spécifier des information complémentaires
- Ajouter les neuds présents dans le BDII mais non déclaré dans la GOCDB:
# NCG modules for gathering site information <NCG::SiteInfo> [...] <LDAP> LDAP_ADDRESS=$BDII ADD_HOSTS=0 </LDAP> [...]
La dernière section <NCG::RemoteMetrics> permet de spécifier les actions concerntant SAM en utilisant les variables déclarés plus haut.
<NCG::RemoteMetrics> # Values of parameters will be taken from # configuration of NCG::ConfigGen::Nagios <SAM> SAM_INCLUDE_ALL=$SAM_INCLUDE_ALL SAM_VOS=$SAM_VOS </SAM> <NPM/> </NCG::RemoteMetrics>
- Fichier de configuration /etc/ncg/ncg.cfg
SITENAME=IN2P3-CC MYPROXY_SERVER=myproxy.grif.fr BDII=cclcgip01.in2p3.fr [...] PROBES_TYPE=remote NAGIOS_ADMIN=pbrinett@cc.in2p3.fr SAM_VOS=OPS VO=dteam
- Génération de la configuration
# /usr/sbin/ncg.pl -v
Configuration de Nagios
* /etc/nagios/nagios.cfg
#cfg_file=/etc/nagios/objects/commands.cfg #cfg_file=/etc/nagios/objects/contacts.cfg #cfg_file=/etc/nagios/objects/timeperiods.cfg #cfg_file=/etc/nagios/objects/templates.cfg #cfg_file=/etc/nagios/objects/localhost.cfg cfg_dir=/etc/nagios/wlcg.d