[RESOLU] Script Perl et variable non initialisée. [nagios_send_host_mail.pl]

Avatar du membre
Akecc
Messages : 146
Enregistré le : 19 avril 2016, 16:24
Localisation : Saint-Brieuc

Re: Script Perl et variable non initialisée.

Message par Akecc » 14 avril 2017, 16:39

Salut,

installer les modules à la main ? C'est que tu n'utilise plus CPAN ? Tu fais une installation classique à la main ?
Pourrai tu renseigner le lien vers le forum que tu as cité précédemment ? (sur la résolution du problème de ton script op5) :?: :D
"C'est Darwin, tu t'adaptes ou tu dégages" :twisted:

Leo
Messages : 17
Enregistré le : 28 mars 2017, 16:30

Re: Script Perl et variable non initialisée.

Message par Leo » 18 avril 2017, 09:50

Bonjour Akecc,

Effectivement, pour faire fonctionner les plugins nagios avec l'utilisateur "nagios" j'ai installé à la main certaines des librairies CPAN dans mon /home/nagios. Ensuite je renseigne dans le script une ligne (use lib ....).

Pour mon soucis de lancement de script OP5 voici le lien qui m'a aidé : https://communities.vmware.com/thread/459571
Pour info cela a réglé mes soucis d’exécution du script en "root" mais pas en "nagios". Bref peu importe ce n'est pas le sujet ici ;)

Leo
Messages : 17
Enregistré le : 28 mars 2017, 16:30

Re: Script Perl et variable non initialisée.

Message par Leo » 03 mai 2017, 09:24

Bonjour à tous,

Je me suis replongé sur ce problème.

J'ai bien identifié que le soucis venait de la déclaration des variables (ligne 178 du script)

Code : Tout sélectionner

####### Global Variables - No changes necessary below this line ##########
# Nagios notification type, i.e. PROBLEM
my $o_notificationtype = $ENV{NAGIOS_NOTIFICATIONTYPE};
# Nagios notification author (if avail.)
my $o_notificationauth = $ENV{NAGIOS_NOTIFICATIONAUTHOR};
# Nagios notification comment (if avail.)
my $o_notificationcmt  = $ENV{NAGIOS_NOTIFICATIONCOMMENT};
# Nagios monitored host name
my $o_hostname         = $ENV{NAGIOS_HOSTNAME};
# Nagios monitored host alias
my $o_hostalias        = $ENV{NAGIOS_HOSTALIAS};
# Nagios host group the host belongs to
my $o_hostgroup        = $ENV{NAGIOS_HOSTGROUPNAME};
# Nagios monitored host IP address
my $o_hostaddress      = $ENV{NAGIOS_HOSTADDRESS};
# Nagios monitored host state, i.e. DOWN
my $o_hoststate        = $ENV{NAGIOS_HOSTSTATE};
# Nagios monitored host check output data
my $o_hostoutput       = $ENV{NAGIOS_HOSTOUTPUT};
# Nagios date when the event was recorded
my $o_datetime         = $ENV{NAGIOS_LONGDATETIME};
# The recipients defined in $CONTACTEMAIL$
my $o_to_recipients    = $ENV{NAGIOS_CONTACTEMAIL};
# Modified by Robert Becht for using $CONTACTGROUPEMEMBERS$ in nagios.conf
my $recipient_group    = $ENV{NAGIOS_CONTACTGROUPMEMBERS};
En effet, si je déclare la variable ainsi :

Code : Tout sélectionner

my $o_notificationtype = 'NOTIFICATIONTYPE';
Je récupère dans mon mail cette information.
Aussi, le soucis semble provenir de la récupération des variables d'environnement Nagios.

Pouvez-vous m'indiquer une piste à creuser ?

Merci,

Léo

Leo
Messages : 17
Enregistré le : 28 mars 2017, 16:30

Re: Script Perl et variable non initialisée.

Message par Leo » 03 mai 2017, 11:17

Je pense avoir trouvé...
Comment fixer ce paramètre :

Code : Tout sélectionner

enable_environment_macros=1
Dans le fichier nagios.cfg
J'ai beau le mettre en dur dans le fichier il est écrasé par la suite.

Source : http://nagios.fm4dd.com/howto/nagios-fl ... ations.htm
Commentaire :
Frank Frank Market Maker • 2 years ago

The scripts need the Nagios environment macros enabled. To my knowledge, Centreon doesn't have a GUI item to set this conveniently. You would need to dive into the underlying Nagios config files on the Linux OS. Find the nagios.cfg file, and set:

enable_environment_macros=1

Avatar du membre
Seb
Messages : 3430
Enregistré le : 11 février 2009, 17:35
Localisation : Limoges
Contact :

Re: Script Perl et variable non initialisée.

Message par Seb » 03 mai 2017, 12:44

Il sera écrasé a chaque export de "nagios configuration". Pour cet ajout je te conseille d'aller déposer une demande sur le github eyesofnetwork!
"Mieux vaut cent chevaux sous une selle que d'un âne assis dessus"
Joe dans son bar servant un de ses clients...JBT

Leo
Messages : 17
Enregistré le : 28 mars 2017, 16:30

Re: Script Perl et variable non initialisée.

Message par Leo » 04 mai 2017, 11:22

Fausse alerte, le champ peut être activé par "Nagios Daemon Configuration" Onglet "Other" ...
Je poursuit et je ferai un point récapitulatif lors du bon fonctionnement du module.

Leo
Messages : 17
Enregistré le : 28 mars 2017, 16:30

Re: Script Perl et variable non initialisée.

Message par Leo » 04 mai 2017, 12:04

Donc pour récapituler :

Pour des notifications plus "jolies" suivre :

http://nagios.fm4dd.com/howto/nagios-fl ... ations.htm

Bien installer les "librairies" cpan demandées.
+
Positionner Enable Environment Macros à "enable" depuis : "Nagios Daemon Configuration" Onglet "Other"

Tout est OK je passe le sujet en résolu.

Répondre