Auteur:


Date:
20/11/2007

Catégories:
Open-source
Reseau

Tags:




Installation de Zabbix sur Linux

Zabbix un un outil de monitoring système et réseau. Contrairement à des systèmes comme Nagios ou Cacti, il fonctionne seulement en mode client/serveur. C'est à dire que l'architecture se base sur un serveur (zabbix_server) qui va demander des informations à des clients (zabbix_agent). Nous allons dans ce billet détailler l'installation de Zabbix sur une distribution Linux Ubuntu.

Installation de Zabbix serveur

J'ai ici choisi de faire une installation depuis les sources, histoire d'avoir plus rapidement la dernière version, mais si vous préférez, il existe des versions pré-compilée pour Ubuntu 6.10.

Pré-requis au niveau des librairies de developpement:

# sudo apt-get install libsnmp-dev libcurl4-gnutls-dev libmysqlclient15-dev

Récupération des sources sur la page suivante puis compilation:

# tar zxvf zabbix-1.4.2.tar.gz
# cd zabbix-1.4.2
# ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
# sudo make install

Configuration de la base de donnée MySQL locale (il vous faut donc un serveur MySQL installé accessible avec le login/password: username/password).

# mysql -u -p

mysql> create database zabbix;
mysql> quit;
# cd create/schema
# cat mysql.sql | mysql -u root -p zabbix
# cd ../data
# cat data.sql | mysql -u
root

-p zabbix # cat images_mysql.sql | mysql -u root

-p zabbix

Création des fichiers de configuration:

# sudo mkdir /etc/zabbix
# sudo cp misc/conf/*.conf /etc/zabbix/
# vi /etc/zabbix/zabbix_server.conf
...
DBHost=localhost
DBUser=username
DBPassword=password

...

Création de l'interface Web:

# sudo mkdir /var/www/zabbix
# sudo cp -rf ./frontends/php/* /var/www/zabbix/
# vi /etc/php5/apache2/php.ini
max_execution_time = 300
date.timezone = Europe/Paris
# apache2ctl restart

Lancement du serveur:

# /usr/local/sbin/zabbix_server

En cas de problème, le serveur génère des logs dans le fichier /tmp/zabbix_server.log.

Se connecter à l'interface Web: http://localhost/zabbix/

Puis suivre le wizard de configuration:
Introduction - Next
Licence - I agree / Next
Pre-requisites - Verifier que tout est OK puis Next
Configure DB - Saisir username/password MySQL, test OK puis Next
Pre-installation summary - Next
Install - Cliquer sur le bouton "Save configuration file" et télécharger manuellement le fichier zabbix.conf.php dans le répertoire /var/www/zabbix/conf puis cliquez sur Next

Si l'installation se passe sans problème vous devriez être redirigé vers la page d'authentification du serveur Zabbix (login: admin / password: ).

Installation du client Zabbix

Cette installation est à faire sur toutes les machines à surveiller. L'agent (le client) Zabbix existe pré-compilé sur de nombreux OS (Linux Ubuntu / Fedora, FreeBSD, Windows...).

Par exemple pour installer l'agent Zabbix sur une machine Linux Ubuntu, il suffit de faire:

# sudo apt-get install zabbix_agent

Il faut ensuite configurer les fichiers zabbix_agent.conf et zabbix_agentd.conf:

# sudo vi /etc/zabbix/zabbix_agent.conf
...
Server=adresse IP du serveur Zabbix
...
# sudo vi /etc/zabbix/zabbix_agentd.conf
...
Server=adresse IP du serveur Zabbix
...

Puis lancer le client:

# sudo /etc/init.d/zabbix-agent start

Pour installer un agent Zabbix sous Windows, il suffit de récupérer le binaire sur le site, de décompresser l'archive (via WinRAR) à la racine de votre disque c: et de créer un fichier c:zabbix_agent.conf contenant la ligne suivante:

Server=adresse IP du serveur Zabbix

Puis de lancer l'exécutable c:binwin32zabbix_agentd.exe

Configuration initiale de Zabbix

La première chose à faire une fois logué dans l'interface Web du serveur est de cliquer sur le lien Profile (en haut à droite) afin de modifier le mot de passe et la langue (Zabbix est traduit en Français).

Ensuite il faut ajouter des machines à surveiller (les machines ou l'on a installé le client Zabbix). Il faut donc se rendre dans le menu Configuration/Hôtes et cliquer sur le bouton Create Host (comme quoi il reste des choses à traduire...). Saisir les informations sur la machine (nom, adresse, ...).

Vous pouvez consulter la documentation , le wiki ou le forum pour aller plus loin.

  • zatmania

    Il me semble avoir constaté un truc mais j’aimerai en être sûr, pour monitorer une machine sous zabbix, il faut installer un client sur les équipements à surveiller alors que nagios ne nécessite qu’un plugin sur la machine l’hébergeant, c’est bien ça ?

    zat

  • http://blog.nicolargo.com NicoLargo

    @zatmania: c’est exactement cela !

  • Hwd

    # sudo cp misc/conf/*.conf /etc/zabbix/

    Je n’ai pas ce dossier “misc” ???

    [EDIT] Dans le dossier zabbix-1.4.4 :D

  • Hwd

    J’ai eu bcp de soucis pr lancer ce $&#! de zabbix_server…

    j’ai du chowner et chgrp tout ca ! :p

    chown zabbix /tmp/zabbix_server.log
    chgrp admin du groupe zabbix” /tmp/zabbix_server.log

    chgrp admin /var/tmp/zabbix_server.pid
    chown zabbix /var/tmp/zabbix_server.pid
    ;)

  • collie

    Je voulais juste dire bravo pour ce blog, car même un noob comme moi sur Linux (Ubuntu 7.10) a réussi a installer zabbix, pas sans mal mais avec ce tuto sa a été tous seul. Je voulais aussi voir ce que donner nagios que je connaissais de nom et c’est a ma grande surprise que j’ai retrouvé ce blog pour un tuto.
    Chapeau Nico !

  • collie

    Au fait, je ne m’en suis pas rendu compte au départ mais je n’arrivais pas a lancer le serveur tout simplement parceque il n’y avait rien dans le répertoire “/usr/local/sbin/”. Au fait le seul moment ou je n’ai pas suivi le tuto c’est lors du ./configure, étant pas doué du tous sur linux j’arrivai pas a faire la commande en entier comme dans le tuto et j’ai fais un ./configure tous cour. Ensuite j’ai fais marche arrière en remplaçant les – par – - et la tous de suite sa marche impécable !! Dans Report>status of zabbix la valeur est Yes. Alors pourquoi nico sa marchais pas comme toi tu a fais ? pourtant je suis bien sous ubuntu 7. Aussi la commande pour installer l’agent fonctionne pas alors que j’ai réussi a l’installer avec synaptic, pas compris.

  • wassim

    slt, je n’arrive pas a m’authentifier sur http://localhost/zabbix/
    j’ai testé avec tous les mot de passe possible
    si vous pouvez m’appeler je vous serez trés reconnaissant

  • wassim

    je voulais dire si vous pouvez m’aider je vous serez trés reconnaissant

  • K2

    Excellent tuto, comme toujours sur ce site ! Merci !

  • Julio

    Bonjour à tous. Merci a Nico pour ce tuto.
    Je suis entrain d’installer zabbix, mais je trouve quelques pb puisque je ne suis pas bien en Linux. La cammande :
    # apache2ctl restart
    ne fonctionne pas, me donne ce message d’erreur:

    apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName

    Si vous pouvez m’aider je vous serez trés reconnaissant

  • Martial

    Bonjour,
    J’ai suivi ton tuto sur l’install de zabbix (serveur).

    Mais j’ai téléchargé la version ZABBIX 1.6.4 Il semblerait que dans cette version le mot de passe ne soit pas vide !

    Pour se connecter à l’interface web zabbix :
    Login : Admin password : zabbix

    Pour trouver le mot de passe somme toute “devinable”, j’ai cherché le moyen de déhasher le mot de passe contenu dans le champ passwd de la table user dans la base zabbix (phpmyadmin est ton ami !)

    ET j’ai trouvé le site : http://www.authsecu.com/decrypter-dechiffrer-cracker-hash-md5/decrypter-dechiffrer-cracker-hash-md5.php
    COOOL !!

    Quelques problèmes aussi dans quelques chemins non explicites :
    # cd create/schema
    Là j’ai dû chercher un bon moment encore car je n’étais pas dans le bon répertoire.

    Je vais passer à l’install des agents sur les machines !

    Un grand merci pour ton blog

    Cordialement.

  • Njamakely

    lulu’

    il mank qlq confg sur ce tuto pour Ubuntu 8.
    Mais en tout pas mal du tout!

    Misaotra (merci en malgache)

  • S4kur4

    Bonjour j’ai suivis le tuto mais j’ai un soucis tout est ok sauf que quand je fais cette commande :

    /usr/local/sbin/zabbix_server rien ne se passe et :
    ZABBIX server is running No –

    quelqu’un a t’il une solution merci ?

  • highfighter

    Bonjour,

    De même j’ai un problème lors du lancement du serveur ZABBIX:
    j’entre /usr/local/sbin/zabbix_server et zabbix me retourne : User zabbix does not exist et Cannot run as root !
    Comment faire pour résoudre se problème?

    Merci d’avance ;-)

  • Orphee

    Il faut créer un utilisateur “zabbix”
    les manips dépendent de ta distribution.

    pour Debian :
    useradd zabbix -g 1002 -d /dev/null
    usermod -a -G 1002 zabbix

    Sachant que 1002 est le group id de mes utilisateurs normaux (et je ne lui ai pas attribué de home volontairement)

  • highfighter

    je créé un utilisateur zabbix maintenant la commande /usr/local/sbin/zabbix_server et zabbix me retourne aucun message : je sais pas si s’est bon signe. Le problème que j’ai, c’est quand je me connecte sur l’interface web de zabbix le serveur zabbix est non fonctionnel !!
    Voilà mes logs zabbix:
    5112:20090721:211442 Starting zabbix_server. ZABBIX 1.6.5 (revision 7442).
    5112:20090721:211442 **** Enabled features ****
    5112:20090721:211442 SNMP monitoring: YES
    5112:20090721:211442 WEB monitoring: YES
    5112:20090721:211442 Jabber notifications: NO
    5112:20090721:211442 ODBC: NO
    5112:20090721:211442 IPv6 support: NO
    5112:20090721:211442 **************************
    5112:20090721:211442 [Z3001] Connection to database ‘zabbix’ failed: [1045] Access denied for user ‘root’@'localhost’ (using password: NO)

    Si quelqu’un connait la solution?

  • S4kur4

    c’est marquer dans le tuto :

    # vi /etc/zabbix/zabbix_server.conf

    DBHost=localhost
    DBUser=username
    DBPassword=password

    il faut mettre tes infos personelles et ca devrais marcher

    ps : c’est tout a la fin du fichier ^^

  • highfighter

    ok c’es bon mon serveur zabbix est en fonction mais j’ai un autre problème quand je vais dans hôte il me dise qu’il est non disponible et dans erreur : Get value from agent failed: Cannot connect to [127.0.0.1:10050] [Connection refused] ensuite j’ai entrer mon hôte windows et dans disponibilité j’ai inconu :/
    Quelqu’un pourrai t’il m’aider ?

  • Bayoro

    Salut , je viens d’installer zabbix , mais j’ai un problème :
    * mysql_pconnect() [function.mysql-pconnect]: Access denied for user ‘zabbix’@'localhost’ (using password: YES)[/usr/share/zabbix/include/db.inc.php:56]
    * Timezone for PHP is not set. Please set “date.timezone” option in php.ini.

    je n’arrive pas à demarrer le serveur .
    pouvez vous m’aider merci

  • djromy

    bonjour a tous,
    je viens par ce msg donner un coup de chapeau à nico qui ne cesse de nous documenter. je viens moi aussi d’installer la dernière version 1.8.1 de zzabbix il m’a l’air de bien marché,
    merci bien

  • hugo

    Bonjour

    J’essai de mettre en place un serveur zabbix 1.8. Ayant deja un serveur en 1.4.2 j’aimerai up ma base de donnée mais je suis un peu perdu dans l’execution des scripts quelqu’un pourait-il me donner un coup de main?
    Merci d’avance.

  • Nic0

    Bonjour à tous,

    Je viens d’installer Zabbix (version 1.8.1) sur une Debian 5.0.4.
    Lorsque je me log sur Zabbix (avec la config de base user=admin pwd=zabbix) j’arrive à atteindre l’interface de configuration, mais j’ai le message d’erreur suivant :

    Error in query [select n.nodeid,min(r.permission) as permission, g.userid from nodes n left join rights r on r.id=n.nodeid and r.type=0 left join users_groups g on r.groupid=g.usrgrpid and g.userid=1 where n.nodeid in (0) group by n.nodeid, g.userid order by nodeid desc, userid desc, permission desc] [Unknown column 'r.type' in 'on clause']

    mysql_fetch_array(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:411]

    mysql_fetch_array(): supplied argument is not a valid MySQL result resource[/usr/share/zabbix/include/db.inc.php:411]

    Ca fait un moment que j’essaie de corriger le problème, mais je suis pas à un pro de linux, et il y a peu (voir pas) de réponse à ce problème sur le net. Si vous pouviez m’aider, ce serait génial.

    Merci d’avance.

  • djromy

    slt Nic0
    si tu as bien suivie la doc et tu arrive a cette erreur, redémarre ta base de données et réactualise ta page web.

  • Nic0

    Salut djromy,

    J’ai déjà essayé, plusieurs reboot de la machine aussi, mais rien n’y fait … toujours la même erreur …

    Jai bien suivit la doc à la lettre mais sur une Debian … : /

    Et j’arrive pas à trouver la faille dans le fichier annoncé par l’erreur :
    /usr/share/zabbix/include/db.inc.php, apparement à la ligne 411 …

  • djromy

    slt nicO,
    poste nous le contenu du fichier /usr/share/zabbix/include/db.inc.php avec la commande cat -n /usr/share/zabbix/include/db.inc.php pour qu’on identifie la line 411

    De mon coté tout marche a merveille lorsqu’un agent snmp ou zabbix est installer sur l’hôte.mais le monitoring sans agent me cause beaucoup de probleme il n’est pas réactif commme avec les agents. quelqu’un a-t-il déja configurer un monitoring sans agent avec zabbix? j’attend vos reply portez vous bien.

  • sadikh

    salut nico!
    j’ai installé zabbix en suivant ce tuto (merci au passage).
    Mais j’ai un problème pour récupéré les données. Après création des items aucune donnée n’est remontée. Et quand je teste la connection (telnet localhost 10050), j’ai le message: Connection closed by foreign host.
    Que faut il faire? Merci pour vos réponse!

  • scyrus87

    Bonjour à tous,

    Tout d’abord, un grand merci à Nico pour l’ensemble de tes tuto qui sont tous excellent!!

    Je viens de suivre celui-ci, concernant l’installation de Zabbix, tout se déroule bien jusqu’au moment de la finalisation de l’installation via l’interface Web “http://localhost/zabbix”.

    Au niveau “3. Check of pre-requisites”, j’ai le message suivant :

    PHP memory limit 16M 128M 256M Fail
    PHP post max size 8M 16M 32M Fail
    PHP max input time 60 300 600 Fail

    J’ai donc modifier les valeurs suivantes dans le fichier /etc/php5/apache2 mais sa ne change rien à mon problème…

    Si quelqu’un à une idée :)
    Merci d’avance !

    • http://www.nicolargo.com NicoLargo

      As tu pensé à relancer Apache après cette modification ?

      Quels valeurs as tu mis dans le fichier de configuration de PHP ?

  • scyrus87

    Oui j’ai bien relancé Apache puisque j’ai redémarré plusieurs fois mon serveur (Ubuntu 8.04).

    Dans le fichier /etc/php5/apache2/php.ini :

    ********************
    * Resource Limits *
    ********************
    max_execution_time = 300
    max_input_time = 300
    memory_limit = 128M

    ********
    ;Maximum size of POST data that PHP will accept.
    post_max_size = 16M

    ************

    Merci pour ton aide Nico ! :)

    • http://www.nicolargo.com NicoLargo

      Bizarre autant qu’étrange…
      Essaye de voir si il n’existe pas un autre fichier php.ini sur ton système:

      # locate php.ini

      Nicolas

      • scyrus87

        Merci Nico ! :)
        en faisant :

        root# updatedb
        root# locate php.ini

        Je me suis aperçu que j’avais un fichier php.ini dans “/”. J’ai essayé de le supprimer mais j’avais une autre erreur donc j’ai modifié les valeurs ci-dessus et sa fonctionne!

        Merci pour ton aide et ta réactivité!

  • djromy

    Bjr;
    quelqu’un a-t-il déjà monitorer les service de cluster sur un serveur AIX 5.3?

  • http://www.itnet-service.fr datashoot

    bonjour à tous,
    j’ai le message d’erreur suivant à chaque fois que je veux monitorer un serveur avec ou sans agent:

    Get value from agent failed: Cannot connect to [serveur01:10050] [Connection refused]

    mon serveur est OK et mes service aussi je précise que je suis sur une machine virtuelle c’est à dire que j’ai installer le serveur zabbix et le frontend sur cette VM et je n’utilise pas de proxy.

    merci de votre aide

  • the first one

    j’ai un problème concernant l’installation de zabbix server j’utilise ubuntu 8.04 server tout c’est bien passer sauf que au 6èm étape: install, j’ai téléchargé le fichier qu’il m’indique à télécharger et puis j’appuie sur retry comme il me l’indique toujours de faire mais on me dit que j’ai fait des erreurs alors que j’ai déjà vérifier le chemin qui est voici /usr/share/zabbix/conf/zabbix.conf.php ce dernier s’y trouve (car c’est le fichier à télécharger).besoin d’aide rapide SVP

  • Epi

    Merci pour tous les tutos, vraiment sympa pour débuter le monitoring!

  • nejib gaddour

    s.v.p comment installer zabbix sur ubuntu ??