Zabbix/fr

From SME Server
Revision as of 12:59, 28 October 2009 by VIP-ire (talk | contribs) (Fix User link)
Jump to navigationJump to search


Mainteneur

Daniel B. de Firewall Services


Incomplete.png Incomplete:
This article or section needs to be expanded. Please help to fill the gaps or discuss the issue on the talk page


Description

Zabbix offre fonctionnalités de surveillance avancées, d'alertes et de visualisation de performances qui font défaut aujourd'hui dans d'autres systèmes de surveillance, même avec quelques-uns des meilleurs logiciels commerciaux :

Fonctions

Voici quelques-unes des fonctionnalités offertes par Zabbix:

  • Surveillance distribuée
    • Configuration centralisée
    • Accès aux données centralisé
    • Jusqu'à 1000 nœuds
    • Nombre illimité de proxys
  • Scalability
    • Testé avec 1000 éléments réseau et serveurs surveillés
    • Testé avec 100 000 vérifications de disponibilité et de performance
    • Traitement de centaines de vérifications de disponibilité et performance par seconde
  • Surveillance en temps réel
    • Surveillance des performances
    • Surveillance de la disponibilité
    • Surveillance de l'intégrité
    • Conditions de notification flexibles
    • Alertes (Email, SMS, Jabber)
    • Journalisation
  • Visualisation
    • Vues et diaporamas définis par l'utilisateur
    • Cartographie
    • Graphique (y compris les diagrammes circulaires)
    • Zoom
  • Résolution rapide des problèmes
    • Envoi des alertes par email, SMS, alertes sonore etc...
    • Exécution de commandes distantes
  • Assuring SLA
    • Services IT hiérarchiques
    • Rapport SLA temps réel
  • Reporting and trending
    • Intégration d'outils tiers aisée
    • Analyse des statistiques quotidiennes/mensuelles/annuelles
    • Rapport SLA
  • Importation / exportations de données XML
    • partage aisé des modèles
  • Découverte automatique
    • Découverte par plage d'adresses IP, services et SNMP
    • Surveillance automatique des éléments découverts
  • Surveillance de services WEB
    • Surveillance de la disponibilité et de la performance de services WEB
    • Scénarios flexibles
    • Support des méthodes GET et POST
  • Flexibilité
    • Support de l'IPv4 et IPv6
    • Agents natifs facilement extensibles
    • Toutes les méthodes de notifications
    • Fonctionne sur n'importe quelle plate-forme
  • Surveillance Pro-active
    • Exécution automatique de commandes distantes
    • Commandes IPMI automatiques
  • Surveillance globale
    • Suivi d'un groupe d'hôtes comme d'un seul hôte
  • Agent de surveillance
    • La surveillance des services distants (FTP, SSH, HTTP, autres)
    • Support de SNMP v1,2,3
    • Support de IPMI
    • Messages d'alertes SNMP
  • Haute performance des agents
    • Toutes les plates-formes sont supportées (UNIX, Windows, Novell)
    • Utilisation de la mémoire
    • Utilisation du réseau
    • Entrée/Sortie (I/O) des disques
    • Espace disque disponible
    • Fichier de contrôle
    • Surveillance des fichiers journaux
    • Et plus encore ...
  • Sécurité
    • Permissions des utilisateurs flexibles
    • Authentification par adresse IP
    • Protection contre les attaques par force brut
  • Escalade et notification
    • Notifications répétées
    • Escalades illimitées
    • Messages de retour à la normal
    • Soyez informé des problèmes non résolus
  • Fonctions de gestion
    • Ping, traceroute vers un hôte
    • Toutes les autres fonctions
  • Tableau de bord
    • Tableau de bord personnalisé
    • Ressources favorites
    • Vue de haut niveau
  • Surveillance par agent
    • Agent natif pour toutes les plateformes
    • Immunisé contre les problèmes de connexion
  • Solution Open Source
    • Pas de limitation au niveau de la licence
    • Accès au code source
    • Ouvert à l'audit de code
  • Facilité d'administration
    • Courbe d'apprentissage très rapide
    • Toutes les données sont stockées dans une base de données (Oracle, MySQL, PostgreSQL, SQLite)
    • Centralisation de la configuration et du stockage de l'information
  • et plus encore ...

Documentation complète

Une documentation complète est disponible en fichier PDF ici http://www.zabbix.com/documentation.php Vous trouverez également quelques informations utiles sur le wiki officiel du projet et sur le forum.


Important.png Note:
Cette page wiki n'est pas un guide complet de Zabbix, mais juste un point de départ pour l'exécuter sur votre serveur SME à l'aide de cette contrib.

Pour une documentation complète, merci de se référer à la documentation du projet: http://www.zabbix.com/documentation.php


Versions

Voici des informations sur la dernière version de chaque composant:

Contrib 10:
Devel 9:
Contrib 9:
smeserver-zabbix-server
The latest version of smeserver-zabbix-server is available in the SME repository, click on the version number(s) for more information.


zabbix-server
The latest version of zabbix-server is available in the SME repository, click on the version number(s) for more information.


Contrib 10:
smeserver-zabbix-agent
The latest version of smeserver-zabbix-agent is available in the SME repository, click on the version number(s) for more information.


Alpha 9:
zabbix-agent
The latest version of zabbix-agent is available in the SME repository, click on the version number(s) for more information.


smeserver-zabbix-proxy
The latest version of smeserver-zabbix-proxy is available in the SME repository, click on the version number(s) for more information.


zabbix-proxy
The latest version of zabbix-proxy is available in the SME repository, click on the version number(s) for more information.




Exigences

  • SME Server 7.X
  • php-bcmath (smeserver-zabbix-server seulement): si vous avez les paquets php4 standards de SME, cela devrait être ok. Si vous avez mis à jour SME en php5 avec le repo de centosplus, vous devez installer manuellement php-bcmath.

Composants

Zabbix est composé de quatre éléments principaux:

  • Le serveur (la partie principale). Le serveur va stocker et analyser les différentes données, envoyer des alertes, etc...
  • L'interface Web (qui est automatiquement installée sur le serveur avec cette contrib)
  • L'agent, qui rassemble des informations sur les différents hôtes à surveiller
  • Le proxy, qui est une partie optionnelle, peut être utilisé pour recueillir les données de performances et de disponibilité au niveau local, et à les envoyer au serveur

Serveur

Le serveur est le composant principal de la suite Zabbix. Il utilise une base de données (MySQL dans cette contrib) pour stocker la configuration, et les informations de performance et d'intégrité. Le serveur peut vérifier les services réseau avec un simple contrôle (ICMP, TCP etc ..) pour une surveillance sans agent, il peut contrôler les périphériques réseau utilisant SNMP et est également l'élément central auquel l'agent rapporte les informations (l'agent peut travailler en mode actif, en mode passif , ou dans les deux modes). Le serveur analysera aussi l'ensemble des informations et enverra des alertes en fonction de facteurs déclencheurs très souples.

Installation

Pour installer Zabbix serveur, il suffit d'utiliser yum:

yum --enablerepo=smecontribs install smeserver-zabbix-server
Paramètres BD

Voici la liste des paramètres BD du service Zabbix-server sur SME:

  • DbName: Le nom de la base de données où tout est stocké. La valeur par défaut est 'zabbixdb'
  • DbPassword: Le mot de passe de la base de données. Un mot de passe aléatoire est généré lors de l'installation
  • DbUser: Le nom d'utilisateur pour accéder à la base de données. La valeur par défaut est zabbixuser
  • JabberAccount: Compte utilisé pour envoyer la notification jabber
  • JabberServer: serveur Jabber à utiliser pour envoyer des notifications
  • JabberPassword: Mot de passe pour le compte (pour "JabberAccount")
  • JabberTLS: (enabled|disabled) Est-ce que votre serveur Jabber nécessite des sécurités TLS
Important.png Note:
Les différents paramètres Jabber ci-dessus ne sont pas pour la fonction de notification jabber native à zabbix (parce que la fonction intégrée ne supporte pas les connexions TLS). Mais j'ai inclus un script externe utilisant sendxmpp pour envoyer la notification. Vous devez avoir un média appelé "xmpp" dans Zabbix administration.


  • NodeID: L'ID du nœud de votre serveur. Si vous n'utilisez pas de surveillance distribuée (un seul serveur central Zabbix), il faut le laisser à 0
  • TCPPort: Port utilisé pour la communication agent <-> serveur (et proxy <-> serveur). La valeur par défaut est 10051
  • TimeZone: le serveur Zabbix doit connaître votre fuseau horaire (paramètre PHP TimeZone). Malheureusement, SME ne le configure pas par défaut. Vous pouvez préciser votre fuseau horaire. Ce paramètre affecte uniquement Zabbix
  • WebAccess: (local|public|disabled) Contrôle l'accès à l'interface web. Vous pouvez le régler sur disabled si vous souhaitez désactiver l'interface Web (par exemple, si votre serveur est un nœud d'un environnement distribué)
  • access: (public|local) D'où le port Zabbix sera disponible (TCPPort). Vous pouvez restreindre l'accès à une liste d'hôtes avec la clé AllowHosts si vous définissez 'public' ici.
  • status: Si le service est lancé automatiquement?


Une fois que vous avez tout configuré comme vous voulez, il suffit de faire

signal-event zabbix-server-update

pour appliquer les modifications et redémarrer les services nécessaires.

Interface Web

L'interface web est disponible (si elle n'est pas désactivée avec la clé WebAccess) sur https://server.domain.tld/zabbix. L'utilisateur par défaut est admin, avec mot de passe zabbix (vous devez changer ce mot de passe aussi rapidement que possible)

Voici quelques captures d'écran de ce que vous pouvez obtenir avec Zabbix

Utilisation du CPU
Utilisation de la mémoire
Utilisation du réseau
Important.png Note:
Vous pouvez choisir une période sur un graphique. Grâce à cette fonction, vous pouvez facilement zoomer sur une période de temps pour analyser les choses avec précision


Statistique des courriels entrants
Écran
Important.png Note:
Vous pouvez afficher autant de graphiques que vous voulez dans un seul et même écran. Un écran peut s'actualiser automatiquement, et changer les graphiques (affichage des graphiques réseau de l'hôte 1 pendant 2 minutes, puis affichage du graphique des températures de l'hôte 2 pendant 3 minutes etc ..)


Aperçu de Déclencheurs
Carte des Hôtes
Important.png Note:
il s'agit d'une carte très simple, vous pouvez en faire des bien plus jolies



Pour plus de captures d'écran, vous pouvez jeter un œil sur le site Web du projet ici

Agent

l'Agent Zabbix est un petit démon qui va rassembler des informations sur l'hôte à surveiller, et les renvoyer à un ou plusieurs serveur (s) (ou proxy (s)). Les agents peuvent fonctionner en mode actif ou passif (ou les deux):

  • En mode actif, l'agent fera une connexion sortante vers le serveur (port 10051 par défaut).
  • En mode passif, le serveur va se connecter à l'agent (sur le port 10050 par défaut).

Lisez le Chap. Agent 2.3.4.ZABBIX page 39 et chap. 3.3.ZABBIX Agent (UNIX, standalone daemon) du manuel pour plus d'informations sur les agents Zabbix.

Installation

Pour installer Zabbix agent , il suffit d'utiliser yum:

yum --enablerepo=smecontribs install smeserver-zabbix-agent


Ce paquet sera téléchargé avec au moins les dépendances suivantes:

  • zabbix (tout petit paquet avec les répertoires communs utilisés par tous les composants de Zabbix)
  • zabbix-agent (l'agent)
  • smeserver-remoteuseraccess: cette contrib est nécessaire car elle fournit des modèles de métadonnées nécessaires pour le fichier /etc/sudoers.
Paramètres BD

Voici la liste des paramètres BD du service Zabbix-agent sur SME:

  • RemoteCommands: (enabled|disabled). Si vous souhaitez activer à distance des commandes sur l'agent Zabbix (vous devriez lire la documentation Zabbix). Il faut savoir qu'il y a des répercussions sur la sécurité si vous l'activez. Cette fonction est désactivée par défaut
  • ServerPort: port pour contacter le serveur lors de l'exécution en mode actif. Par défaut à 10051
  • Servers: Liste de serveurs (ou proxy), séparés par des virgules, à qui envoyer les informations. Le premier sera utilisé pour le mode actif, les autres sont seulement pour le mode passif
  • TCPPort: Le port TCP sur lequel l'agent sera à l'écoute, si le mode passif est activé
  • access: (public|private) Si vous souhaitez ouvrir l'agent sur l'interface publique (ne sera utile que si passive est activé). Si vous réglez cela sur «public», vous devez utiliser la clé AllowHosts pour limiter l'accès
  • active: (enabled|disabled) Voulez-vous activé le mode actif
  • passive: (enabled|disabled) Voulez-vous activé le mode passif
  • status: (enabled|disabled) Si le service est lancé automatiquement


Une fois que vous avez tout configuré comme vous voulez, il suffit de faire

signal-event zabbix-agent-update

pour appliquer les modifications et redémarrer les services nécessaires.

Items supplémentaires

Même si l'agent Zabbix supporte nativement un grand nombre d'items, certains étaient manquants pour mon utilisation, j'ai ajouté quelques entrés "UserParameters" dans le fichier de configuration. Pour chacun de ces items, vous devez ajouter un nouvel élément avec le nom de l'item comme clé. Configurer les items sur le serveur peut être assez long. Vous pouvez jeter un œil sur les modèles je les utilise pour surveiller des serveurs de SME. Cette archive contient quelques templates/items/graphes/déclencheurs au format XML (exportés de Zabbix). Vous pouvez utiliser la fonctionnalité d'import / export de Zabbix (Manuel Chap. 8.XML IMPORTATION ET EXPORTATION page 154) pour l'importer sur votre serveur.

Vous pouvez aussi jeter un œil sur le fichier de configuration /etc/zabbix/zabbix_agentd.conf pour voir les commandes utilisées pour retourner les valeurs correspondantes. Vous trouverez également pour chaque UserParameter des informations sur la manière de créer l'item correspondant sur le serveur.

Merci de lire le chapitre 4.11.User Paramètres de la page 119 du manuel pour avoir plus d'informations sur la façon dont fonctionne UserParameters.

  • IP externe:
    • ip.external: Retourne la véritable adresse IP externe.
  • Incoming mails statistics:


Important.png Note:
Depuis la version 0.1-28 smeserver-zabbix-agent, les clés pour récupérer les statistiques des e-mails ont changé. La valeur renvoyées sont pour les 10 dernières minutes (les statistiques sont mises à jour avec un cron toutes les 10 minutes), vous devrez donc configurer ces item pour se rafraîchir toutes les 600 secondes


    • mail.in[dnsbl]: nombre d'e-mails rejetés par DNSBL
    • mail.in[rhsbl]: nombre d'e-mails rejetés par RHSBL
    • mail.in[clamav]: nombre d'e-mails rejetés par CLAMAV
    • mail.in[check_earlytalker]: nombre d'e-mails rejetés par EARLYTALKER
    • mail.in[check_basicheaders]: nombre d'e-mails rejetés par BASICHEADERS
    • mail.in[check_goodrcptto]: nombre d'e-mails rejetés par GOODRCPTTO
    • mail.in[check_spamhelo]: nombre d'e-mails rejetés par SPAMHELO
    • mail.in[total_denied]: somme d'e-mails rejetés (somme des vérifications ci-dessus)
    • mail.in[spam_denied]: nombre d'e-mails rejetés par SPAMASSASSIN
    • mail.in[other_denied]: nombre d'e-mails rejetés par d'autres contrôles
    • mail.in[spam_queued]: nombre d'e-mails acceptés, mais marqués comme spam par SpamAssassin
    • mail.in[queued]: nombre d'emails acceptés (HAM)
    • mail.in[total]: nombre d'emails reçus (acceptés + refusés)
  • Statistiques de l'envoi de mails
    • mail.out[total]: somme de courrier sortant
    • mail.out[success]: nombre d'e-mails transmis
    • mail.out[deferral]: nombre d'e-mails différés
    • mail.out[failure]: nombre d'échecs
  • utilisation de Mémoire / Swap
    • vm.memory.size.used: Mémoire utilisée en octets
    • vm.memory.size.pused: Mémoire utilisée en %
    • system.swap.size.used: Espace swap utilisée en octets
  • Informations MySQL
    • mysql.uptime: temps de fonctionnement du serveur MySQL en secondes
    • mysql.threads: nombre de threads
    • mysql.questions: nombre de requêtes depuis que mysql a été lancé
    • mysql.slowqueries: nombre de requêtes lentes (slow queries)
    • mysql.qps: moyenne des requêtes par secondes
    • mysql.size: espace total utilisé par les bases de données mysql
  • Utilisation du réseau. Ces items sont utiles si vous voulez surveiller plusieurs serveurs SME en utilisant un modèle (mêmes items), mais ces serveurs utilisent différentes interfaces (eth0, eth1, br0, bond0, ppp0 etc ..)
    • net.if.in.internal: Équivalent à net.if.in [ethX, octets], mais est indépendant du nom de l'interface interne (eth0, bond0, br0 etc ...)
    • net.if.out.internal: Équivalent à net.if.out[ethX,bytes]
    • net.if.in.external: Équivalent à net.if.in [ethX, octets], mais est indépendant du nom de l'interface externe (eth0, eth1, ppp0 etc ..)
    • net.if.out.external: Équivalent à net.if.out[ethX,bytes]
  • statut de l'onduleur (UPS)
    • ups.load: Charge (en %) de votre UPS
    • ups.battery.charge: Charge (en %) de la batterie
    • ups.status: État actuel de l'onduleur (OL, OB, OL CHRG etc ..)
    • ups.model: Modèle de l'onduleur
  • Raid Array Monitoring
    • raid.sw.status: État actuel de votre raid logiciel (tout les volumes raid logiciel sont surveillés)
    • raid.mega.status: État actuel de vos volumes raid basés sur un chipset MegaRaid (par exemple, les cartes perc5/5(i) sont basées sur un chipset MegaRaid). Nécessite le paquet MegaCli disponible ici: [1]

Proxy

Le proxy Zabbix est un démon léger. Il agira comme un serveur pour les agents, mettra en cache localement (dans une base de données mysql) les informations et les enverra au serveur à qui il appartient. C'est utile pour surveiller des éléments derrière un pare-feu.

Installation

Pour installer Zabbix proxy , il suffit d'utiliser yum:

yum --enablerepo=smecontribs install smeserver-zabbix-proxy
DB Parameters
  • DbName: le nom de la base de données utilisée par le proxy. La valeur par défaut est zabbixproxydb
  • DbPassword: le mot de passe pour accéder à la base de données
  • DbUser: l'utilisateur pour accéder à la base de données
  • Servers: Liste de serveurs (séparés par des virgules) à qui envoyer les informations
  • TCPPort: Le port TCP sur lequel le proxy écoute. Les clients pourront se connecter sur le proxy comme sur un serveur Zabbix. La valeur par défaut est 10051
  • access: (private|public) Si vous souhaitez ouvrir Zabbix-proxy sur l'interface externe. Si vous définissez l'accès à public, vous devez utiliser la touche AllowHosts pour limiter l'accès
  • status: (enabled|disabled) Si le service est lancé automatiquement

Surveillance des serveurs SME

Si vous voulez surveiller des serveurs SME avec Zabbix, vous devez d'abord installer l'agent, comme expliqué précédemment, puis configurer l'agent pour qu'il accepte les connexions depuis votre serveur. Par exemple, pour surveiller votre serveur local (celui qui exécute le serveur Zabbix):

db configuration setprop zabbix-agent Servers localhost active disabled passive enabled
signal-event zabbix-agent-update


Important.png Note:
Après l'installation, l'agent est configuré en mode actif. Ici, nous désactivons le mode actif, et permettons seulement le mode passif.


Ensuite, il suffit d'ajouter un hôte dans Zabbix, pointant sur localhost.

Maintenant, vous pouvez commencer à ajouter des items (type agent, actif ou passif, selon le mode que vous utilisez sur l'agent) à ce nouvel hôte.

Si vous voulez surveiller des serveurs SME sur Internet et utiliser le mode passif, le serveur va initier des connexions vers l'agent. Vous avez besoin de rediriger le port, si vous utilisez le mode serveur seul (serveronly) (la valeur par défaut est le port TCP 10050), ou d'ouvrir ce port dans le pare-feu si vous utilisez le mode serveur et passerelle (server&gateway):

db configuration setprop zabbix-agent Servers w.x.y.z active disabled passive enabled access public AllowHosts w.x.y.z
signal-event zabbix-agent-update


Warning.png Warning:
Si vous utilisez le mode actif, vous avez besoin d'utiliser le nom exact de l'hôte dans le serveur Zabbix 'hostname.domainname.tld' (vérifiez le fichier /etc/Zabbix/zabbix_agentd.conf, la directive Hostname). Si vous ne le faites pas, les contrôles ne fonctionneront pas


Vous pouvez télécharger ici une archive avec plusieurs modèles (template) d'exports XML que j'utilise pour surveiller mes serveurs. Extrayez l'archive et importez les modèles (template) que vous souhaitez dans Zabbix (en utilisant l'Import / Export Zabbix dans le menu de configuration)

Chaque fichier XML représente un modèle (template) dans Zabbix

  • Template_SME est le principal template. Il va ajouter beaucoup d'items de surveillance globale, de déclencheurs si la charge est trop élevée, s'il n'y a plus de mémoire libre, si httpd ne fonctionne plus, si les mots de passe changent etc .. et aussi des graphiques, comme l'utilisation de l'UC, mémoire, espace disque, utilisation du réseau etc .. Ce modèle exige les templates Template_icmp et Template_app_MySQL
  • Template_SME_coovaChilli ajoutera les statistiques pour tun0 (utile si vous utilisez la contrib CoovaChilli). Il va également créer un graphique à partir de ces statistiques.
  • Template_SME_softRaid va ajouter des items et des déclencheurs pour la surveillance du raid logiciel. Si vous liez un serveur SME avec ce modèle, vous serez prévenu si l'un des volumes est dégradé ou en court de reconstruction
  • Template_SME_megaRaid fera de même pour les cartes MegaRAID. Elle nécessite également l'utilitaire MegaCli du site web LSI
  • Template_SME_nutUPS: Ajoutera des items et des déclencheurs pour être prévenues si votre onduleur est sur batterie, ou surchargé.
  • Template_icmp: crée deux items pour vérifier si le serveur est en vie, et mesure le temps de latence. Il ajoute également un graphique de latence et certains déclencheurs (si la latence est trop élevée, si l'hôte est in-joignable depuis plus de 5 minutes ou plus de 1 heure)

Bugs

Merci de faire parvenir les problèmes à SME-Contribs sur bugzilla en sélectionnant le logiciel smeserver-zabbix ou en utilisant un de ces liens :


server

agent

proxy