1 votes

Zabbix 2.0 lit correctement les journaux, mais l'état du déclencheur est "INCONNU"

Je tente de surveiller un fichier journal à la recherche du mot "error", et si le mot apparaît, déclencher une alerte pour chaque nouvelle occurrence de "error." Je commence simplement, avec un fichier (/var/log/test.log) qui est lisible par tout le monde. Il contient les lignes suivantes :

test
error
also an error
but not this

L'élément dans Zabbix est log[/var/log/test.log,error], type "Zabbix Agent (Actif)", avec le type d'information "log".

Je utilise la déclencheur suivant lié à cet élément : {nero:log[/var/log/test.log,error].str(error)}=1

J'ai essayé de laisser de côté la partie "error" de l'élément, et de changer la valeur du déclencheur pour qu'elle soit égale à 0. Peu importe ce que je fais, j'obtiens un statut de déclencheur INCONNU dans l'onglet Evénements.

Je ne suis pas sûr de ce que je manque ici, est-ce que quelqu'un voit le problème ? J'ai vérifié le journal de l'agent sur le serveur, et il ne mentionne aucun problème.

1voto

tymik Points 358

Essayez d'utiliser des guillemets dans l'élément :

log[/var/log/test.log,"error"]

Assurez-vous d'utiliser le type "Agent Zabbix (actif)" et le type "Journal" comme type d'élément.

Vous devrez peut-être également définir l'encodage du fichier, mais je ne suis pas sûr de cela. Je ne suis pas non plus sûr des guillemets, mais la documentation le dit et de nombreux exemples que j'ai trouvés le disent également, lorsque je travaillais sur mes problèmes avec les journaux.

1voto

Tout d'abord, assurez-vous que votre élément reçoit effectivement ces lignes d'erreur. Vérifiez Surveillance -> Dernières données. Si ce n'est pas le cas, il s'agit d'un problème de configuration de l'agent actif, et non pas d'un problème de surveillance des journaux. Vérifiez que le nom d'hôte de l'agent (fichier de configuration du daemon de l'agent, paramètre Nom d'hôte) correspond au nom d'hôte dans l'interface - notez que la casse est prise en compte.

Si votre élément a bien reçu les lignes d'erreur, il est très probable que votre élément n'a pas reçu de nouvelles valeurs après la configuration du déclencheur. Assurez-vous de cocher la case "Génération de plusieurs événements PROBLÈME" pour ce déclencheur, puis exécutez : $ echo erreur >> /var/log/test.log

L'agent devrait récupérer la nouvelle ligne et l'envoyer au serveur. Le serveur évalue ce déclencheur après avoir reçu une nouvelle valeur uniquement.

0voto

zymhan Points 1332

Pour information, je n'ai jamais pu résoudre le problème. À la place, j'ai configuré une tâche cron pour boucler à travers chaque ligne du fichier journal, l'envoyant au serveur Zabbix avec zabbix_sender.

log_file="/var/log/rsmonit_errors.log"          # Fichier à lire
zabbix_server="host.foo.com"       # FQDN ou IP du serveur Zabbix
zabbix_host="servername"                             # Nom de l'hôte tel que défini dans l'entrée du serveur Zabbix. PAS DE DNS ou $HOSTNAME, ceci est spécifique à zabbix. Sensible à la casse.
item_key="rsmonit.errors"                       # Nom de l'élément, tel que défini pour l'hôte dans le serveur Zabbix

# Boucler à travers chaque ligne et l'envoyer via zabbix_sender au serveur Zabbix
while read line; do
    echo $line | xargs -0 zabbix_sender -v -z $zabbix_server -s $zabbix_host -k $item_key -o
done < $log_file

Cela semble fonctionner assez bien, bien que je reçoive quelques alertes en double, au lieu d'alertes uniques pour chaque ligne. N'hésitez pas à indiquer tout endroit où cela pourrait être amélioré, car c'est la première fois que je crée un script de ce type.

-2voto

Convenience Points 1

Zabbix, comme de nombreuses autres applications de surveillance modernes, permet à ses utilisateurs d'implémenter des plugins personnalisés. Dans votre cas, pour surveiller les fichiers journaux de la manière la plus simple possible, vous aurez besoin d'un plugin spécifiquement conçu à cet effet ; un qui vous permet de spécifier facilement les motifs de journal à rechercher et les seuils à attribuer à ces motifs lorsqu'ils sont trouvés dans le journal.

Un exemple d'un tel outil est autoresolve.kl.sh

Le processus d'installation de cet outil est simple :

1. Connectez-vous à l'hôte sur lequel vous avez des fichiers journaux à surveiller
2. wget (le-lien-url-du-fichier-zip-de-autoresolve.kl.sh)
3. cd /tmp ; unzip (le-fichier-zip-téléchargé)
4. ./install.sh /var/tmp/KINGLAZY/SHIELDX-autoresolve.kl.sh /home/jserver -force

Remplacez '/home/jserver' par votre répertoire de plugins zabbix. Assurez-vous également d'exécuter les commandes d'installation précédentes en tant qu'utilisateur ordinaire - pas en tant que root, sauf si vous testez.

Après l'installation, vous pouvez commencer à surveiller les journaux avec une commande simple comme celle-ci :

./autoresolve.kl.sh localhost /var/tmp/logXray,fixer,0n-1y-2y,0-uname,1-who,2-uptime autonda /var/log/rsmonit_errors.log 60m 'error' '.' 1 2 error_watch -ndshow

Les paramètres les plus importants que vous devrez modifier sont :

  1. /var/log/rsmonit_errors.log - C'est le fichier journal que vous surveillez

  2. error - C'est la chaîne que vous recherchez dans le fichier journal. Pour surveiller plusieurs motifs à l'intérieur d'un journal, spécifiez-les de cette manière : "error_P_fail_P_segfault_P_crash_P_panic". Le trait de soulignement P soulignement signifie "|". C'est une façon plus sûre de spécifier le symbole de pipe lors de l'utilisation de l'outil avec des applications externes... comme Zabbix.

  3. error_watch - C'est le nom/étiquette que vous attribuez à cette vérification de journal particulière. Plus tard, si vous le souhaitez, cette étiquette peut être utilisée pour vous aider à générer des graphiques sur le journal surveillé.

Pour une explication détaillée de ce que chaque paramètre signifie, vous pouvez visiter la page d'aide directement.

Sur la même page d'aide, vous trouverez également des instructions étape par étape sur la façon de faire fonctionner cet outil avec Zabbix... c'est-à-dire quel fichier de configuration zabbix vous devez mettre à jour... et quels paramètres vous devez avoir sur l'interface web de zabbix.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X