WikiMiNET

La documentation technique et administrative

Outils pour utilisateurs

Outils du site


wiki:monitoring:zabbix:zabbix_agent

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
wiki:monitoring:zabbix:zabbix_agent [2015/11/15 05:54]
vzh Reorganisation de la doc zabbix
wiki:monitoring:zabbix:zabbix_agent [2017/09/15 22:49]
backpack
Ligne 1: Ligne 1:
 +====== Configurer un agent zabbix ======
 +
 +L'agent zabbix dialogue avec le serveur zabbix et fait remonter tout type d'information vers le serveur zabbix.
 +
 +Commencez par installer l'agent zabbix : ''apt-get install zabbix-agent''
 +
 +Ensuite, ouvrez l'interface WEB du Zabbix et renseignez le nom de l’hôte (là ou apparaît le fixme dans le template openvz). Ajoutez le Template, selon le device.
 +
 +Créez ensuite un hôte dans zabbix pour monitorer le serveur, en renseignant l'IP du serveur.
 +
 +Finalement, dans le serveur (l'hôte) même, configure l'agent zabbix dans `/etc/zabbix/zabbix_agentd.conf`
 +
 +    PidFile=/var/run/zabbix/zabbix_agentd.pid
 +    LogFile=/var/log/zabbix-agent/zabbix_agentd.log
 +    LogFileSize=0
 +    SourceIP=<IP du Serveur>
 +    Server= 192.168.102.78 < ou 192.168.103.78 ou encore 192.168.104.65> 
 +    ServerActive= 192.168.102.78 < ou 192.168.103.78 ou encore 192.168.104.65> 
 +    Hostname=<hostname>
 +    
 +Après, restaurez l'agent et vérifiez les logs 
 +    
 +    sudo /etc/init.d/zabbix-agentd restart
 +    sudo tail -n 40 /var/log/zabbix-agent/zabbix_agentd.log
 +
 +Selon le cas, vous pouvez ajouter de paramètres additionnels dans le fichier de config de l'agent, utilisant UserParameters.
 +
 +===== Les éléments =====
 +
 +Les éléments **Zabbix** servent à effectuer des mesures depuis l'agent zabbix. Un élément est donc une valeur remontée de l'agent zabbix vers le serveur.
 +
 +Voici une [[https://www.zabbix.com/documentation/1.8/manual/config/items|liste de ces éléments]].
 +
 +Vous pouvez tester la valeur d'un élément en ligne de commande, par exemple depuis le client :
 +
 +    zabbix_agent -t proc.num[ruby]
 +
 +Ou sinon sur le serveur zabbix, une fois l'élément ajouté :
 +
 +    zabbix_get -s 192.168.102.154 -p 10050 -k "ioping[/mnt/pve/scylla_prod/]"
 +
 +Pour créer un nouvel élément dans l'interface web :
 +
 +   - Aller dans le menu configuration
 +   - puis le sous menu hôtes
 +   - Sélectionnez votre hôte (ou modèle)
 +   - Cliquez sur Éléments
 +   - Puis sur Créer un élément
 +
 +Vous pouvez maintenant donner un petit nom sexy à votre événement (pas celui de l'agent) et la clé (le nom donné dans l'agent). On a pour convention à MiNET de conserver l'historique 7 jours et les tendances 120 jours (pour ne pas exploser la base de données). Je vous laisse régler les autres détails sans importances.
 +
 +===== Définir ses propres éléments =====
 +
 +Il faut d'abord, dans le fichier de configuration de l'agent, définir ce qu’il faut faire remonter au serveur, et sous quel nom. Pour cela, éditez ''/etc/zabbix/zabbix_agentd.conf''.
 +
 +Voici un exemple avec UserParameter :
 +
 +Ajoutez une ligne :
 +
 +    UserParameter=[nom],[commande]
 +
 +La commande UNIX renvoie préférentiellement un nombre...
 +
 +Ce qui donne pour par exemple remonter le nombre de pool dégradé :
 +
 +    UserParameter=zpooldegraded,zpool status | grep DEGRADED | wc -l
 +
 +Il reste plus qu'à récupérer la valeur sur le serveur zabbix. La valeur de la clé de l'élément que vous allez créer est celle du UserParameter.
 +
 +==== Un user parameter avec des paramètres ====
 +
 +Vous vous dites que vous allez devoir lancer 20 fois la même commande dans 20 user parameters différents, et ça vous gonfle d'avance?
 +
 +Passez donc des paramètres à un user parameter !
 +
 +c'est assez simple, voici la syntaxe :
 +
 +    UserParameter=identifiant[*], commande
 +
 +Utilisez $1, $2... pour passer des arguments à la commande (comme en bash)
 +
 +Ça donne donc en vrai quelque chose comme :
 +
 +    UserParameter=hulk.diskperf[*],iostat -xtc | grep $1 | awk '{print $ $2}'
 +
 +Note : $ est à la fois utilisé pour passer des arguments à zabbix et à awk, c'est pour ça qu'il est passé deux fois...
 +
 +Pour utiliser cet Userparameter depuis l'interface web, il faudra lui passer ses arguments, par exemple :
 +
 +    hulk.diskperf[sd1,4]
 +
 +
 +===== Les alertes =====
 +
 +Elles se configurent via les déclencheurs de l'hôte (ou modèle).
 +
 +  - Allez sur l'hôte (ou modèle)
 +  - cliquez sur déclencheur
 +  - créer un déclencheur
 +
 +Donnez lui un nom explicite.
 +
 +Ne tentez pas de remplir l'expression ( qui dit quand votre déclencheur se déclenche ), préférez le bouton ajouter juste à coté.
 +
 +Indiquez dans celui ci le nom de l'élément à surveiller, la fonction (condition de déclenchement), la gravité de l'alerte et préciser N. Vous pouvez de plus ajouter des dépendances pour éviter une avalanche de mail en cas de (gros) soucis : ça complique pas mal la lecture...
 +
 +
 +===== Maintenant je veux un graphique =====
 +
 +Et c'est une bonne idée : ton événement, vraisemblablement personne ne pensera à aller le voir...
 +
 +Va dans ton hôte (ou modèle) puis ajoute un graphique :
 +  - Bouton graphique
 +  - Puis créer un graphique
 +
 +Donne lui encore un nom sexy, et ajoute un élément à représenter (tu peux d'ailleurs en mettre plusieurs).
 +
 +Et voilà, tu as un beau graphique...
 +
 +===== C'est bien beau, mais je vais jamais aller voir tous les graphiques que j'ai créé=====
 +
 +Et les développeurs de zabbix ont pensés à toi : ils ont créés des écrans : en bref, plein de graphiques mis cote à cote.
 +
 +Pour les créer rien de plus simple :
 +
 +  - Menu configuration
 +  - Sous menu écran
 +  - Puis créer un écran (ou en modifier un existant)
 +
 +Quel que soit ce que vous faites, rien de bien technique ici ^^
  
wiki/monitoring/zabbix/zabbix_agent.txt · Dernière modification: 2020/06/27 18:16 (modification externe)