42
1/42 Zabbix Webinar Alain Ganuchaud Consultant chez Core IT Project http://www.coreit.fr [email protected] Agence commerciale Lyon [email protected] Agence commerciale Valence [email protected] Présentation

Optimisation de la plateforme de Supervision Zabbix

Embed Size (px)

DESCRIPTION

Optimisation de la plateforme de Supervision Zabbix : Slides en Français du Webminar du 4 Novembre 2013.

Citation preview

Page 1: Optimisation de la plateforme de Supervision Zabbix

1/42 Zabbix Webinar

Alain GanuchaudConsultant chez Core IT Project

http://[email protected]

Agence commerciale [email protected]

Agence commerciale [email protected]

Présentation

Page 2: Optimisation de la plateforme de Supervision Zabbix

2/42 Zabbix Webinar

Optimisation des Performances Zabbix

Tirez le meilleur de vos serveurs

Page 3: Optimisation de la plateforme de Supervision Zabbix

3/42 Zabbix Webinar

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 …

Page 4: Optimisation de la plateforme de Supervision Zabbix

4/42 Zabbix Webinar

Vue d’ensembleQuels sont les éléments de performance Zabbix?

Page 5: Optimisation de la plateforme de Supervision Zabbix

5/42 Zabbix Webinar

Flux de données standard

Architecture standalone (pas de proxies, non distribuée)

Database

Poller

Poller

Trapper

Trapper

GUI

DATA

Historysyncer

DATA

DATA

Historysyncer

DATA

Alerter

Escalator

Conf syncer OTHERConf

syncer

Serveur Zabbix

Page 6: Optimisation de la plateforme de Supervision Zabbix

6/31 Zabbix Webinar

Zabbix Server Components

Zabbix server

Database

history syncer db watchdog

housekeeper

escalator

alerter

timer

Configurationcache

History & trendscache

configuration syncer

node watcher

poller

icmp pinger

ipmi poller

http poller

trapper

discoverer

self-monitoringproxy poller

unreachable poller

java gateway poller

snmp trapper

Page 7: Optimisation de la plateforme de Supervision Zabbix

7/42 Zabbix Webinar

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

Page 8: Optimisation de la plateforme de Supervision Zabbix

8/42 Zabbix Webinar

Métriques de Performance Zabbix

• Nombre de valeurs proceessées par seconde (NVPS)

• Evaluation des NVS dans le tableau de bord

NVPS

Page 9: Optimisation de la plateforme de Supervision Zabbix

9/42 Zabbix Webinar

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

Page 10: Optimisation de la plateforme de Supervision Zabbix

10/42 Zabbix Webinar

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

Page 11: Optimisation de la plateforme de Supervision Zabbix

11/42 Zabbix Webinar

Performance versus nombre d’hôtes

Nombre d’hôtes Performance (valeurs par seconde)100 1001000 100010000 10000

60 items par hôte, régularité une fois par minute

Nombre d’hôtes Performance (valeurs par seconde)

100 10001000 10000

10000 100000

600 items par hôte, régularité une fois par minute

Page 12: Optimisation de la plateforme de Supervision Zabbix

12/42 Zabbix Webinar

Lent versus Rapide

Objet Lent Rapide

Taille de la base Volumineuse Montée en RAM

Expressions des Triggers

min(),max(),avg() last(), nodata()

Collecte des données

Polling (SNMP, Agent-less, agents passifs)

Trappers (agents actifs)

Type des données Texte, string Numerique

Page 13: Optimisation de la plateforme de Supervision Zabbix

13/42 Zabbix Webinar

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

Page 14: Optimisation de la plateforme de Supervision Zabbix

14/42 Zabbix Webinar

Queue sans problème

Page 15: Optimisation de la plateforme de Supervision Zabbix

15/42 Zabbix Webinar

Identifiez et corrigezles problèmes

courantsETAPE 1

Page 16: Optimisation de la plateforme de Supervision Zabbix

16/42 Zabbix Webinar

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! :-( - Unhappy!

Page 17: Optimisation de la plateforme de Supervision Zabbix

17/42 Zabbix Webinar

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

Page 18: Optimisation de la plateforme de Supervision Zabbix

18/42 Zabbix Webinar

Comment savoir si les performances de la base sont

mauvaises?

LogSlowQueries=1000

Fichier de config du serveur zabbix, zabbix_server.conf:

Page 19: Optimisation de la plateforme de Supervision Zabbix

19/42 Zabbix Webinar

Optimisez la configuration de

ZabbixETAPE 2

Page 20: Optimisation de la plateforme de Supervision Zabbix

20/42 Zabbix Webinar

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

Page 21: Optimisation de la plateforme de Supervision Zabbix

21/42 Zabbix Webinar

Surveillez les items internes

Avant la 1.8.5, il était impossible d’avoir le statut de chaque composant Zabbix.

Page 22: Optimisation de la plateforme de Supervision Zabbix

22/42 Zabbix Webinar

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

Page 23: Optimisation de la plateforme de Supervision Zabbix

23/42 Zabbix Webinar

Graphez le Busy Time

• A graph indicating a problem

Page 24: Optimisation de la plateforme de Supervision Zabbix

24/42 Zabbix Webinar

Optimisez le nombre de processus Zabbix

StartPollers=80StartPingers=10StartPollersUnreachable=80StartIPMIPollers=10StartTrappers=20StartDBSyncers=8

Fichier de configuration du serveur Zabbix, zabbix_server.conf:

Page 25: Optimisation de la plateforme de Supervision Zabbix

25/42 Zabbix Webinar

Et après ?ETAPE 3

Page 26: Optimisation de la plateforme de Supervision Zabbix

26/42 Zabbix Webinar

Utilisez les Proxies

Les Proxies déchargent le serveur de la collecte

Trapper

Trapper

Trapper

Trapper

DATA

Historysyncer

DATA

DATA

Historysyncer

Alerter

Escalator

Conf syncer OTHERConf

syncer

Zabbix Server

Proxy

Proxy

Pollers

Pollers

DATA

DATA

Page 27: Optimisation de la plateforme de Supervision Zabbix

27/42 Zabbix Webinar

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

Page 28: Optimisation de la plateforme de Supervision Zabbix

28/42 Zabbix Webinar

Zabbix server DB access

Housekeeper

Trends

Page 29: Optimisation de la plateforme de Supervision Zabbix

29/42 Zabbix Webinar

Pas de table partitioning

ZabbixServer& GUI

History

Page 30: Optimisation de la plateforme de Supervision Zabbix

30/42 Zabbix Webinar

Avec du table partitioning

ZabbixServer& GUI

Partition 2013_08

Partition 2013_09

Partition 2013_07

Partition 2013_06

Page 31: Optimisation de la plateforme de Supervision Zabbix

31/42 Zabbix Webinar

J’ai tout essayé! Les performances sont

toujours minables.Architecture 3Tiers, répartissez sur 3 serveurs séparés!

Zabbix Server8 core CPU4GB of RAM

Database24 core CPU64GB of RAM

Disques rapides

Zabbix GUIFast CPU

4GB of RAM

Page 32: Optimisation de la plateforme de Supervision Zabbix

32/42 Zabbix Webinar

Check ListSoyez certains de n’avoir rien oublié!

Page 33: Optimisation de la plateforme de Supervision Zabbix

33/42 Zabbix Webinar

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

Page 34: Optimisation de la plateforme de Supervision Zabbix

34/42 Zabbix Webinar

Lectures de chevet

• MySQL & PostgreSQL Performance Tuning Guides

• Table partitioning for Zabbix

• MySQL: zabbixzone.com

• PostgreSQL: https://www.zabbix.org/wiki/Docs/howto/zabbix2_postgresql_partitioning

• Zabbix Internal Checks

• http://blog.zabbix.com/monitoring-how-busy-zabbix-processes-are

• http://www.zabbix.com/documentation/1.8/manual/config/items#internal_checks

Page 35: Optimisation de la plateforme de Supervision Zabbix

35/42 Zabbix Webinar

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

Page 36: Optimisation de la plateforme de Supervision Zabbix

36/42 Zabbix Webinar

Retours d'expérience 2/8

Archi PRA peut vous aider !

Page 37: Optimisation de la plateforme de Supervision Zabbix

37/42 Zabbix Webinar

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

Page 38: Optimisation de la plateforme de Supervision Zabbix

38/42 Zabbix Webinar

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)

Page 39: Optimisation de la plateforme de Supervision Zabbix

39/42 Zabbix Webinar

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

Page 40: Optimisation de la plateforme de Supervision Zabbix

40/42 Zabbix Webinar

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

Page 41: Optimisation de la plateforme de Supervision Zabbix

41/42 Zabbix Webinar

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

Page 42: Optimisation de la plateforme de Supervision Zabbix

42/42 Zabbix Webinar

Retours d'expérience 8/8

• Top 10 des outils utilisés

1) Innotop

2) Mysqltuner

3) Tuning-primer.sh

4) iostat

5) tcpdump