3. De quoi s’agit-il ?
• Vue d’ensemble des performances Zabbix
• Etape 1. Identifiez et corrigez les problèmes basiques
• Etape 2. Optimisez les paramètres Zabbix
• Etape 3. Et plus encore …
3/42
Zabbix Webinar
5. Flux de données standard
Alerter
GUI
Poller
DATA
Escalator
History
syncer
Poller
DATA
DATA
History
syncer
Trapper
Database
Conf
syncer
Conf syncer
OTHER
Trapper
DATA
Serveur Zabbix
Architecture standalone (pas de proxies, non distribuée)
5/42
Zabbix Webinar
6. Zabbix Server Components
poller
Zabbix server
Configuration
cache
alerter
escalator
ipmi poller
unreachable poller
proxy poller
self-monitoring
History & trends
cache
timer
icmp pinger
history syncer
db watchdog
trapper
http poller
discoverer
node watcher
configuration syncer
housekeeper
java gateway poller
snmp trapper
Database
6/31
Zabbix Webinar
7. Zabbix Server Components
alerter – envoie les notifications
configuration syncer – gère le cache des configurations
db watchdog - surveille la dispo de la base de données
Discoverer – gère le changement des composants découverts par le
réseau
Escalator – gère les escalades
history syncer – écrit les données mesurées dans la base
http poller processes – déroule les scénarii web
Housekeeper – nettoie périodiquement les données obsoletes de la
base
icmp pinger - icmpping & icmppingpersec items
ipmi poller - IPMI items
node watcher – gère les nodes en architecture distribuée
Self-monitoring – mesure les internes
Poller – collecte les données des agents passifs et snmp
proxy poller – gère les proxies passifs
Timer – gère les fonctions de temps pour les triggers et les périodes de
maintenance
Trapper – gère les connexions entrantes notamment les active agents,
zabbix_sender and active Zabbix proxies
unreachable poller – gère les hosts non dispos
7/42
Zabbix Webinar
8. Métriques de Performance
Zabbix
• Nombre de valeurs proceessées par seconde (NVPS)
• Evaluation des NVS dans le tableau de bord
NVPS
8/42
Zabbix Webinar
9. Performances assurées par
Zabbix
Hardware: Quad Core CPU, 6GB, RAID10 BBWC*
Budget: ~ 2K EUR
• Zabbix est capable d’assurer 1 million de valeurs par
minute ( ~15.000 valeurs /s)
• En pratique, ce sera moins. Pourquoi?!
* Battery Backed Write Cache
9/42
Zabbix Webinar
10. Facteurs impactant les
performances
• Type d’items, types de valeurs, SNMPv3, nombre de
triggers et la nature des triggers
• Paramètrages du Housekeeper et la taille de la
Database
• Nombre d’utilisateurs sur le frontend
• Complexité des triggers
10/42
Zabbix Webinar
11. Performance versus nombre
d’hôtes
60 items par hôte, régularité une fois par minute
Nombre d’hôtes
100
1000
10000
Performance (valeurs par seconde)
100
1000
10000
600 items par hôte, régularité une fois par minute
Nombre d’hôtes
100
1000
10000
11/42
Performance (valeurs par seconde)
1000
10000
100000
Zabbix Webinar
12. Lent versus Rapide
Objet
Lent
Rapide
Taille de la base
Volumineuse
Montée en RAM
Expressions des
Triggers
Collecte des
données
min(),max(),avg() last(), nodata()
Type des données
Texte, string
12/42
Polling (SNMP,
Trappers (agents
Agent-less, agents actifs)
passifs)
Numerique
Zabbix Webinar
13. Symptomes de baisse des
performances
• La Queue d'attente Zabbix a trop de mesures en retard
Administration->Queue
• Trous dans les graphes, pas de données pour certains
items
• Faux positifs pour les triggers ayant des fonctions
nodata()
• Front-end lent
13/42
Zabbix Webinar
16. Ressentis différents
• “J’ai ajouté 5 hôtes et Zabbix est mort” :-(
• “Zabbix trop LENT, je n’ai que 48 hôtes” :-(
Pourtant:
• “Zabbix jalon 3 - 1000 hôtes et ça continue” :-)
• “Notre dernier point: 8500 hôtes, 950400 items,
670340 triggers, 9550 vps” :-)
:-) - Happy!
16/42
:-( - Unhappy!
Zabbix Webinar
17. Problèmes courants
• Utilisation des templates par défaut
• Personnalisez vos templates
• Paramètres par défaut de la base de données
• Optimisez la base de données
• Paramètres par défaut des processus zabbix_server
• Optimisez les paramètres de la config zabbix_server
• Housekeeper
• Désactivez -le
• Utilisation de releases trop anciennes
• Mettez à jour régulièrement
17/42
Zabbix Webinar
18. Comment savoir si les
performances de la base sont
mauvaises?
Fichier de config du serveur zabbix, zabbix_server.conf:
LogSlowQueries=1000
18/42
Zabbix Webinar
20. Surveillez les items internes
• Nombre réel de VPS
• zabbix[wcache, values, all]
• zabbix[queue,1m] nombre d’items en retard de plus
d’une minute
• Zabbix Server components
• Alerter, Configuration syncer, DB watchdog,
discoverer, escalator, history syncer, http poller,
housekeeper, icmp pinger, ipmi poller, poller,
trapper
20/42
Zabbix Webinar
21. Surveillez les items internes
Avant la 1.8.5, il était impossible
d’avoir le statut de chaque
composant Zabbix.
21/42
Zabbix Webinar
22. Surveillez les items internes
• Depuis la 1.8.5, il est possible d’avoir le statut de
chaque composant Zabbix
• Pourcentage du temps d’un processus en état
BUSY
• zabbix[process,<type>,<mode>,<state>]
• <type> - trapper, discoverer, escalator, alerter, etc
• <mode> - avg, count, min, max
• <state> - busy, idle
22/42
Zabbix Webinar
23. Graphez le Busy Time
• A graph indicating a problem
23/42
Zabbix Webinar
24. Optimisez le nombre de
processus Zabbix
Fichier de configuration du serveur Zabbix, zabbix_server.conf:
StartPollers=80
StartPingers=10
StartPollersUnreachable=80
StartIPMIPollers=10
StartTrappers=20
StartDBSyncers=8
24/42
Zabbix Webinar
27. Partitionnez vos tables
• Méthode pour répartir les grosses tables en petites
partitions.
• C’est surtout important pour les tables d’historiques:
• history_*, trends*, events
• Bénéfices
• Il est plus facile de supprimer les données
obsoletes
• Pas d’impact à la suppression des historiques
27/42
Zabbix Webinar
29. Pas de table partitioning
Zabbix
Server
& GUI
29/42
History
Zabbix Webinar
30. Avec du table partitioning
Partition 2013_09
Zabbix
Server
& GUI
Partition 2013_08
Partition 2013_07
Partition 2013_06
30/42
Zabbix Webinar
31. J’ai tout essayé!
Les performances sont
toujours minables.
Architecture 3Tiers, répartissez sur 3 serveurs séparés!
Database
Zabbix Server
24 core CPU
8 core CPU
64GB of RAM
4GB of RAM
Disques rapides
31/42
Zabbix GUI
Fast CPU
4GB of RAM
Zabbix Webinar
33. Check list
• Les Internes Zabbix sont surveillés!
• Sinon vous n’avez aucune visibilité sur la santé de
votre plateforme Zabbix
• La configuration Zabbix est optimisée
• Les performances de la Base de données sont
optimisées
• Le Housekeeper est dévalidé, utilisez le partitionning
DisableHousekeeper=1
33/42
Zabbix Webinar
35. Retours d'expérience 1/8
• A partir de quelles NVS a-t-on des problèmes de
Perf ?
• 500 NVS (attention c'est une évaluation de Zabbix)
• Ne gardez pas une installation Zabbix par défaut
• Ne négligez pas les accès au Frontend
• Hackez le frontend (Limitation des périodes de
graphes)
• Dévalidez le housekeeping & Partitionnez
• Changez l'architecture Zabbix
35/42
Zabbix Webinar
37. Retours d'expérience 3/8
• Limitez la taille de la base
• Baissez les durées des historiques
• Augmentez les durées des tendances
• Augmentez les régularités
• Ne soyez pas radin sur le Hardware
• 2/3 du budget pour le serveur de base de données
• Disques SSD pour la base de données
• 95% des problèmes de perf = Base de données
37/42
Zabbix Webinar
38. Retours d'expérience 4/8
• Mettez à jour Zabbix et Base de données
• Zabbix 1.8 < Zabbix 2.0 < Zabbix 2.2
• Mysql 5.5 < Mysql 5.6
• N'adoptez pas l'architecture DM avant la 2.4
• Je ne suis pas convaincu par l'ajout de proxies
• Architecture DM Master/Child à proscrire
• Architecture DM Master/Child à reconsidérer en
version 2.4 (fin 2014 / début 2015)
38/42
Zabbix Webinar
39. Retours d'expérience 5/8
• Active vs Passive
• Passive Proxy < Active Proxy
• Passive Agent < Active Agent
• Surveillez les paramètres internes
• Busy processes > 50 %
• Caches < 80 %
• ATTENTION StartDBSyncers
39/42
Zabbix Webinar
40. Retours d'expérience 6/8
• Choisissez la bonne base de données
• Proscrivez DB2
• Oracle < Postgresql < Mysql (PerconaDB &
MariaDB)
• Réservez sqlite aux proxies peu chargés (voire
embarqués)
• Clustérisez votre base de données
• Galera V24 supporte Mysql 5.6
• Percona XtraDB Cluster intègre la réplication Galera
• MariaDB Galera Cluster
40/42
Zabbix Webinar
41. Retours d'expérience 7/8
• Top 10 des problèmes de perf
1) Base de données
2) Config Zabbix
3) Organisation de la surveillance
4) CPU Serveur Zabbix
5) ...
6) ...
7) ...
8) ...
9) ...
10)Réseau : Jamais
41/42
Zabbix Webinar