Zabbix/fr
Mainteneur
Daniel B. de Firewall Services
Description
Zabbix offre des avancées de surveillance, d'alerte et de visualisation de caractéristiques 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:
- Distributed monitoring
- Centralized configuration
- Centralized access to all data
- Up-to 1000 of nodes
- Unlimited number of proxies
- Scalability
- Tested with 10,000 monitored devices and servers
- Tested with 100,000 availability and performance checks
- Processing of thousands of availability and performance checks per second
- Real-time monitoring
- Performance monitoring
- Availability monitoring
- Integrity monitoring
- Flexible notification conditions
- Alerting users (Email, SMS, Jabber)
- Logging
- Visualisation
- User-defined views and slide shows
- Mapping
- Graphing (including pie charts)
- Zooming
- Fast Problem Resolution
- Send alerts via email, cell phone, SMS or audio alerts
- Execute remote commands
- Assuring SLA
- Hierarchical IT Services
- Real-time SLA reporting
- Reporting and trending
- Easy integration of 3rd party tools
- Analysis of yearly/monthly/daily statistics
- SLA reports
- XML data import/export
- Easy sharing of templates
- Auto discovery
- Discovery by IP range, services and SNMP
- Automatic monitoring of discovered devices
- WEB monitoring
- WEB performance and availability monitoring
- Flexible scenarios
- Support of POST and GET methods
- Flexibility
- Support of IPv4 and IPv6
- Easily extendable native agents
- Any notifications methods
- Runs on any platform
- Pro-active monitoring
- Automatic execution of remote commands
- Automatic IPMI commands
- Aggregate monitoring
- Monitoring of a group of hosts as a single host
- Agentless monitoring
- Monitoring of remote services (FTP, SSH, HTTP, other)
- Support of SNMP v1,2,3
- Support of IPMI
- SNMP traps
- High performance agents
- All platforms supported (UNIX, Windows, Novell)
- Memory utilisation
- Network utilisation
- Disk I/O
- Disk space availability
- File checksums
- Monitoring of log files
- And more...
- Security
- Flexible user permissions
- Authentication by IP address
- Protection against brute force attacks
- Escalations and notifications
- Repeated notifications
- Unlimited escalations
- Recovery messages
- Be notified while problem is not resolved
- Management functions
- Ping, traceroute to a host
- Any other functions
- Dashboard
- Personalized dashboard
- Favourite resources
- High level view
- Agent-based monitoring
- Native agent for any platform
- Immune to connection problems
- Open Source Solution
- No license driven limitations
- Access to source code
- Open to code audit
- Easy Administration
- Very fast learning curve
- All data is stored in a database (Oracle, MySQL, PostgreSQL, SQLite)
- Centralised configuration and storage of information
- and more...
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.
Versions
Voici des informations sur la dernière version de chaque composant:
Exigences
- SME Server 7.X
- php-bcmath (smeserver-zabbix-server seulement): si vous avez les paquets php4 standard 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é 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 performances et la disponibilité des données au niveau local, et à les envoyer au serveur
Serveur
Le serveur est la composante de base du logiciel Zabbix. Il utilise une base de données (MySQL dans cette contrib) pour stocker la configuration, la performance et l'intégrité des informations. 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éclenchants 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
- NodeID: Le nœud ID 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: Il est très important pour Zabbix à connaître votre fuseau horaire (TimeZone PHP setting). Malheureusement, SME ne le permet pas. Vous pouvez préciser votre fuseau horaire. Ce paramètre affecte uniquement Zabbix
- WebAccess: (local|public|disabled) De l'endroit où vous serez en mesure d'accéder à l'interface web. Vous pouvez le régler sur désactivé si vous souhaitez désactiver l'interface Web (par exemple, si votre serveur est un noeud d'un environnement distribué)
- access: (public|local) D'où le port Zabbix sera disponible (controllé par 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
La principale 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 ASAP)
Voici quelques captures d'écran de ce que vous pouvez obtenir avec Zabbix
Pour plus de captures d'écran, vous pouvez jeter un oeil sur le site Web du projet ici
Agent
Zabbix agent est un très petit démon qui va rassembler des informations sur l'hôte à surveiller, et de faire rapport à 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).
S'il vous plaît lire 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 package 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 il 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 Zabbix agent (vous devriez lire la documentation Zabbix). S'il vous plaît, sachez qu'il ya des répercussions sur la sécurité si vous vous l'activez. Il est désactivé 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 des informations. Le premier sera utilisé pour des contrôles actifs, 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ée). 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
- passvie: (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.
Contrôles supplémentaires
Même si l'agent Zabbix est important et supporte nativement un grand nombre de contrôles, certains étaient manquants pour mon utilisation, j'ai ajouté quelques UserParameters en entrées dans le fichier de configuration. Pour chacun de ce contrôle, vous devez ajouter un nouvel élément avec le nom du contrôle de la clé. Configurer les contrôles sur le serveur peut être assez long. Vous pouvez jeter un coup d'oeil à la modèles je l'utilise pour surveiller les serveurs des PME. Cette archive contient quelques templates/articles/graphes/triggers au format XML (exportés de Zabbix). Vous pouvez utiliser l'import / export de la fonctionnalité de Zabbix (Manuel Chap. 8.XML IMPORTATION ET EXPORTATION page 154) pour l'importer sur votre serveur.
Vous pouvez aussi jeter un oeil 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'élément correspondant sur le serveur.
S'il vous plaît, lisez 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:
- 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 en attente, mais marqué comme spam par SpamAssassin
- mail.in[queued]: nombre d'emails en attente (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: Actuellement mémoire utilisée en octets
- vm.memory.size.pused: Actuellement mémoire utilisée en %
- system.swap.size.used: Actuellement 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 contrôles sont utiles si vous voulez suivre plusieurs serveurs SME en utilisant un modèle (même contrôle), mais ces serveurs utilisent différentes interfaces de configuration (eth0, eth1, br0, bond0, ppp0 etc ..)
- net.if.in.internal: Equivalent à net.if.in [ethX, octets], mais est indépendant de votre nom de l'interface interne (eth0, bond0, br0 etc ..
- net.if.out.internal: Equivalent à net.if.out[ethX,bytes]
- net.if.in.external: Equivalent à net.if.in [ethX, octets], mais est indépendant de votre nom de l'interface externe (eth0, eth1, ppp0 etc ..)
- net.if.out.external: Equivalent à net.if.out[ethX,bytes]
- statut de l'onduleur (UPS)
- ups.load: Courant de charge (en %) de votre UPS
- ups.battery.charge: Courant charge (en %) de la batterie
- ups.status: Etat actuel de l'UPS (OL, OB, OL CHRG etc ..)
- ups.model: Modèle de l'onduleur
- Raid Array Monitoring
- raid.sw.status: Statut actuel de votre logiciel Raid (tous ensemble)(all array)
- raid.mega.status: Current status of your mega raid based raid array (for example, the perc5/6(i) are megaraid based). Requires additional MegaCLI package available from here: [1]
Proxy
Le proxy de Zabbix est un démon léger. Il agira comme un serveur pour les agents, cachera localement (dans une base de données mysql) les renseignements et l'enverra au serveur à qui il appartient. C'est utile de contrôler des éléments de réseaux derrière un pare-feu (firewall).
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 si c'est 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 ce 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 les serveurs SME avec Zabbix, vous devez d'abord installer l'agent, comme expliqué précédemment, puis configurer l'agent à accepter des connexions de votre serveur. Par exemple, pour surveiller votre serveur local (l'un qui tourne Zabbix serveur):
db configuration setprop zabbix-agent Servers localhost active disabled passive enabled signal-event zabbix-agent-update
Ensuite, il suffit d'ajouter un hôte dans Zabbix, pointant sur localhost.
Maintenant, vous pouvez commencer à ajouter des éléments (type agent (actif ou passif, selon le mode que vous utilisez sur l'agent)) à ce nouvel hôte.
Si vous voulez surveiller les serveurs SME sur Internet et utiliser le mode passif, le serveur va initier des connexions à l'agent. Vous avez besoin de port-forwarder le port, si vous exécutez en 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 exécutez en 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
Vous pouvez télécharger ici une archive avec plusieurs modèles (template) d'exports XML que j'utilise pour surveiller mes serveurs. Juste extraire l'archive et importer 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 un lot de modèles de système mondial de surveillance, de triggers si la charge est trop élevée, s'il n'y a plus de mémoire libre, si httpd ne fonctionne plus, si les motes de passe changnt 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 Template_icmp et Template_app_MySQL templates
- Template_SME_coovaChilli ajoutera une statisque tun0 (utile si vous utilisez CoovaChilli contrib). Il va également créer un graphique de tun0 stats
- Template_SME_softRaid va ajouter des éléments et des déclencheurs pour les logiciels de surveillance raid. Si vous liez un serveur SME avec ce modèle, vous serez prévenu si l'un des disques est dégradé ou reconstruit
- 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 éléments et triggers pour être prévenues si votre UPS est sur la batterie, ou surchargé.
- Template_icmp: configure deux points à vérifier si le serveur est en vie, et de mesurer le temps de latence. Il prévoit également graphique de latence et de certains triggers (si la latence est trop élevé, si l'hôte est out depuis plus de 5 minutes et si l'hôte est out depuis 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 :