Académique Documents
Professionnel Documents
Culture Documents
Introduction 1.1
Notes 1.2
1
Introduction
Zabbix
Notes
Version HTML
Version PDF
Version EPUB
Version MOBI
2
Notes
Notes Zabbix
Plan
Objectifs
1. Fondamental
2. Configuration et administration
3. supervision
Zabbix Network Monitoring - Second Edition
1. Introduction
1.1. Fonctionnalités
1.2. Comparaisons / alternatives Open Source
1.3. Architecture
1.4. Définitions
hôte (host)
groupe d'hôtes (host group)
article (item)
déclencheur (trigger)
un événement (event)
problème
action
escalade (escalation)
media
notification
commande à distance
modèle (template)
application
scénario web
frontend
API zabbix
serveur Zabbix
l'agent Zabbix
proxy zabbix
1.5. Installation
2. Première Alerte
3. Configuration
Zabbix Agent vs. Zabbix Agent Active
Items
Triggers
Hosts et Hosts Groups
Import de Template
Macros
Discovery / Auto Registration
Low Level Discovery
Notes SNMP
Protocle SNMP
Version de SNMP
Éléments SNMP
Superviseur
Agents et noeuds
Objets OID
SNMP en bref
SNMP en pratique
Mise en oeuvre de SNMP
Polling
Traps
SNMPv2c
SNMP v3
3
Notes
OIDs
Notes d'installation du lab
GNS3 firewall_gns3_open_rules
Zabbix Server Network Configiration
Debian 8 Zabbix agent
Switch
docker debian8
Liens
Plan
Comment commencer ?
Objectifs
Majeurs :
Configuration et administration
Gestion des templates, macros
1. Fondamental
Concepts, (automation), scripts
Introduction
Installation
Topologie simple
Première Alerte : Hello Word
supervision passive et active
supervision SNMP
Gérer des hôtes, utilisateurs et permissions
Chapitres 1 à 5
2. Configuration et administration
1. déclencheurs, alertes, actions, escalade
2. Templates (configurations complexes)
3. Configuration automatique
4. Visualisation de données
3. supervision
supervision avancée
supervision Web
supervision Windows
Proxy
Maintenance
4
Notes
5
Notes
Summary
12: AUTOMATING CONFIGURATION
Low-level discovery
Global regular expressions
Network discovery
Active agent autoregistration
Summary
13: MONITORING WEB PAGES
Monitoring a simple web page
Logging in to the Zabbix interface
Authentication options
Using agent items
Summary
14: MONITORING WINDOWS
Installing the Zabbix agent for Windows
Querying performance counters
Querying WMI
Monitoring Windows services
Windows event log monitoring
Summary
15: HIGH-LEVEL BUSINESS SERVICE MONITORING
Deciding on the service tree
Setting up IT services
Viewing reports
Specifying uptime and downtime
Summary
16: MONITORING IPMI DEVICES
Getting an IPMI device
Preparing for IPMI monitoring
Setting up IPMI items
Monitoring discrete sensors
Summary
17: MONITORING JAVA APPLICATIONS
Setting up the Zabbix Java gateway
Monitoring JMX items
Summary
18: MONITORING VMWARE
Preparing for VMware monitoring
Automatic discovery
Available metrics
The underlying operation
Summary
19: USING PROXIES TO MONITOR REMOTE LOCATIONS
Active proxy, passive proxy
Setting up an active proxy
Proxy benefits
Proxy limitations
Proxies and availability monitoring
Setting up a passive proxy
Tweaking the proxy configuration
Summary
20: ENCRYPTING ZABBIX TRAFFIC
Overview
Pre-shared key encryption
Certificate-based encryption
Concerns and further reading
Summary
21: WORKING CLOSELY WITH DATA
Getting raw data
6
Notes
1. Introduction
Livre de référence :
Documentation
https://www.zabbix.com/documentation/3.2/manual/introduction/about
1.1. Fonctionnalités
https://www.zabbix.com/documentation/3.2/manual/introduction/features
7
Notes
1.3. Architecture
https://www.zabbix.com/documentation/3.2/manual/introduction/overview
https://www.zabbix.com/documentation/3.2/manual/installation
1.4. Définitions
https://www.zabbix.com/documentation/3.2/manual/concepts/definitions
hôte (host)
un dispositif en réseau que vous souhaitez surveiller, avec IP / DNS .
Les hôtes Zabbix typiques sont les appareils que vous souhaitez surveiller (serveurs, postes de travail, commutateurs, etc.).
Création d'hôtes est l'une des premières tâches de supervision dans Zabbix. Par exemple, si vous désirez surveiller certains
paramètres sur un serveur « x », vous devez d'abord créer un hôte appelé, par exemple, « Serveur X » et vous pouvez chercher à ajouter
des éléments de contrôle à elle.
8
Notes
un regroupement logique d'hôtes; il peut contenir des hôtes et des modèles. Les hôtes et les modèles au sein d' un groupe hôte ne
sont en aucune façon liée à l'autre. Les groupes hôtes sont utilisés lors de l' attribution des droits d'accès aux hôtes pour
différents groupes d'utilisateurs.
article (item)
un élément particulier de données que vous souhaitez recevoir hors d'un hôte, une métrique de données.
déclencheur (trigger)
une expression logique qui définit un seuil de problème et est utilisé pour les données « évaluer » reçus en articles
Lorsque les données reçues sont au-dessus du seuil, déclenche aller de l'état « Ok » dans un « problème ». Lorsque les données
reçues sont en dessous du seuil, déclenche rester dans / retour à un état « OK ».
un événement (event)
une seule occurrence de quelque chose qui mérite une attention comme un déclencheur de changement d' état ou une découverte
/ l' agent qui a lieu l' enregistrement automatique
problème
un déclencheur qui est à l' état « problème »
action
un moyen prédéfini de réagir à un événement.
Une action se compose d'opérations (par exemple , l' envoi d' une notification) et les conditions ( lorsque l'opération est effectuée)
escalade (escalation)
un scénario personnalisé pour l' exécution d' opérations dans une action; une séquence d'envoi de notifications / exécution de
commandes à distance
media
un moyen de fournir des notifications; canal de distribution
notification
un message sur un événement envoyé à un utilisateur via le canal média choisi
commande à distance
une commande prédéfinie qui est automatiquement exécuté sur un hôte surveillé sur une certaine condition
modèle (template)
un ensemble d'entités (objets, déclencheurs, des graphiques, des écrans, des applications, des règles de découverte à faible
niveau, des scénarios web) prêt à être appliqué à un ou plusieurs hôtes
Le travail des modèles est d'accélérer le déploiement de la surveillance des tâches sur un hôte; aussi pour le rendre plus facile
d'appliquer les changements de masse à des tâches de surveillance. Les modèles sont liés directement à des hôtes individuels.
application
un groupement d'éléments dans un groupe logique
scénario web
9
Notes
une ou plusieurs requêtes HTTP pour vérifier la disponibilité d'un site web
frontend
l'interface Web fournie avec Zabbix
API zabbix
Zabbix API vous permet d'utiliser le protocole RPC JSON pour créer, mettre à jour et aller chercher des objets Zabbix (comme
hôtes, des articles, des graphiques et d' autres) ou d' effectuer d'autres tâches personnalisées
serveur Zabbix
un processus central de logiciel Zabbix qui effectue la surveillance, interagit avec des procurations Zabbix et agents, calcule les
déclencheurs, envoie des notifications; un dépôt central de données
l'agent Zabbix
un processus déployé sur les cibles de surveillance pour surveiller activement les ressources locales et les applications
proxy zabbix
un processus qui peut recueillir des données au nom du serveur Zabbix, en prenant une charge de traitement hors du serveur
1.5. Installation
https://www.zabbix.com/documentation/3.2/manual/installation
2. Première Alerte
Livre de référence :
Documentation
https://www.zabbix.com/documentation/3.2/manual/web_interface/frontend_sections
https://www.zabbix.com/documentation/3.2/manual/quickstart
3. Configuration
Documentation
https://www.zabbix.com/documentation/3.2/manual/config
10
Notes
Livre de référence :
La directive Server indiquant le serveur dans le fichier de configuration de l'agent zabbix_agentd.conf doit être valorisée. On peut
placer plusieurs serveurs en les séparant par une virgule Server=192.168.122.50:10051,192.168.122.51,zabbix01
L'agent actif est le seul a initier les connexions vers le serveur. (Il demande la liste des items à fournir, il envoie les données
attendues).
La directive ServerActive et Hostname dans le fichier de configuration de l'agent zabbix_agentd.conf doivent être valorisées.
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.122.50
ServerActive=192.168.122.50
Hostname=debian8-1
Include=/etc/zabbix/zabbix_agentd.d/*.conf
EnableRemoteCommands=1
Items
Key net.tcp.service HTTP
11
Notes
Note : le rafraîchissement des données d'un agent actif peut prendre jusqu'à 3 minutes. La directive RefreshActiveChecks dans le
fichier zabbix_agentd.conf (par défaut 120 secondes) règle ce délai.
Les clés de type log et event log ne sont disponibles qu'avec un Zabbix Agent active.
agent.ping : Retourne 1 quand l'agent est disponible et rien quand il ne l'est pas
net.if.in/out : Fournit des informations sur le trafic entrant/sortant d'une interface
net.tcp.service : Réalise une simple connexion sur certaines services TCP
proc.num : Compte le nombre de processus qui peuvent filtés par de nombreux paramètres
vfs.fs.size : Fournit des informations sur les systèmes de fichiers
vm.memory.size : Charge mémoire
system.cpu.load : Charge CPU en représentation décimale
system.cpu.util : Utilisation du CPU de type iowait
Par défaut le cache de configuration est rechargé toutes les 60 secondes pour les nouveaux items, en sachant qu'un agent actif a un
délai de rafraîchissement de 120 secondes.
net.tcp.service.perf
net.udp.service
net.udp.service.perf
Quoting.
Paramètres positionnels : $1, $2, etc. a fournir dans le nom de l'item pour le premier, le second, etc. paramètre de la clé.
Mass Update : réaliser un changement commun sur plusieurs items.
Value Mapping : Dans la définition, permet d'indiquer une interprétation d'une valeur. Par exemple Service state pour un item de
type net.tcp.service .
Unités
unixtime
https://www.zabbix.com/documentation/3.2/manual/config/items
Triggers
https://www.zabbix.com/documentation/3.2/manual/config/triggers
12
Notes
Périodes de maintenance
Import de Template
https://github.com/zhangcandrew/ZabbixCiscoTemplate/blob/master/Flexible%20Cisco%20DevMon.xml
Macros
https://www.zabbix.com/documentation/3.2/manual/appendix/macros/supported_by_location
Un objet (item, trigger, applications, graphs) prototype sert à créer automatiquement à partir d'un template des objets aux paramètres
inconnus d'avance, comme les interfaces d'un commutateur ou la version d'un os sur un host. Pour réaliser cette découverte, il s'agit
d'associer l'hôte à surveiller à un template disposant d'une "discovery rule" qui reprendra l'élément spécifique découvert avec une
macro spéciale par exemple {#IFNAME} ou encore {#SNMPVALUE} dans un nouvel item.
On trouvera des exemples dans les template par défaut "Template SNMP Interfaces" et dans la discovery rule "Template SNMP
Interfaces: Network interfaces".
Notes SNMP
Protocle SNMP
Simple Network Management Protocol (abrégé SNMP), en français « protocole simple de gestion de réseau », est un protocole de
communication qui permet aux administrateurs réseau de gérer les équipements du réseau, de superviser et de diagnostiquer des
problèmes réseaux et matériels à distance.
Version de SNMP
Il existe actuellement 3 versions différentes du protocole SNMP :
13
Notes
Éléments SNMP
Les systèmes de gestion de réseau sont basés sur trois éléments principaux :
un superviseur,
des nœuds (ou nodes)
et des agents.
Superviseur
Dans la terminologie SNMP, le synonyme manager est plus souvent employé que superviseur.
Le superviseur est la console qui permet à l'administrateur réseau d'exécuter des requêtes de management.
Agents et noeuds
Les agents sont des entités qui se trouvent au niveau de chaque interface, connectant au réseau l'équipement géré (nœud) et
permettant de récupérer des informations sur différents objets.
Objets OID
Les commutateurs, routeurs, postes de travail et serveurs (physiques ou virtuels) sont des exemples d'équipements contenant des
objets gérables.
Ces objets gérables peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performance et
autres objets qui sont directement liés au comportement en cours de l'équipement en question.
Ces objets sont classés dans une sorte de base de données arborescente définie par l'ISO appelée MIB (« Management Information
Base »). SNMP permet le dialogue entre le superviseur et les agents afin de recueillir les objets souhaités dans la MIB. Disposer du
MIB d'un constructeur ou d'un type de matériel a donc tous son intérêt et peut faire l'objet de services payants.
SNMP en bref
Les équipements gérés (managed devices) sont des éléments du réseau (ponts, commutateurs, concentrateurs, routeurs ou
serveurs), contenant des « objets de gestion » (managed objects) pouvant être des informations sur le matériel, des éléments de
configuration ou des informations statistiques.
Les agents, c'est-à-dire les applications de gestion de réseau résidant dans un périphérique, sont chargés de transmettre les données
locales de gestion du périphérique au format SNMP.
Les systèmes de gestion de réseau (network management systems notés NMS), c'est-à-dire les consoles à travers lesquelles les
administrateurs peuvent réaliser des tâches d'administration.
SNMP en pratique
Concrètement, dans le cadre d'un réseau, SNMP est utilisé :
Il suscite des menaces de sécurité selon la version déployée. Il est déconseillé de l'utiliser dans un réseau non contrôlé.
Polling
Le polling consiste simplement à envoyer une requête à intervalles réguliers pour obtenir une valeur particulière. Cette technique est
appelée « vérification active ».
14
Notes
Vous pouvez, par programme ou script, vérifier si les valeurs sont correctes. Si la requête échoue, il est possible qu'il y ait un problème
avec le périphérique. Cependant, vu que SNMP s'appuie sur UDP, il est conseillé de réitérer la requête pour confirmer le problème.
Traps
Les traps consistent à faire de la vérification passive ; en gros, on configure l'agent SNMP pour qu'il contacte un autre agent SNMP en
cas de problème. C'est-à-dire que l'on peut configurer un périphérique réseau (comme un routeur) pour qu'il envoie un trap SNMP lors
de certains événements.
Par exemple, le routeur peut envoyer un trap lorsqu'il détecte que la ligne est coupée (down). Quand un événement trap apparaît,
l'agent sur le périphérique va envoyer le trap vers une destination pré-configurée communément appelé trap host.
Le trap host possède son propre agent SNMP qui va accepter et traiter les traps lorsqu'ils arrivent. Le traitement des traps est
effectué par des trap handlers. Le handler peut faire ce qui est approprié pour répondre au trap, comme envoyer un courriel d'alerte ou
faire ce qu'on veut.
SNMPv2c
Les schémas de sécurité dépendent des versions de SNMP (v1, v2 ou v3).
Dans les versions 1 et 2, une requête SNMP contient un nom appelé communauté, utilisé comme un mot de passe. Sur de nombreux
équipements, la valeur par défaut de communauté est public ou private. Pour des raisons de sécurité, il convient de modifier cette
valeur. Un nom de communauté différent peut être envisagé pour les droits en lecture et ceux en écriture.
Aussi, on prendra garde de contrôler le trafic entrant avec des ACLs (trafic entrant) sur base des adresses IP d'origine.
Les versions 1 et 2 du protocole SNMP comportent de nombreuses lacunes de sécurité. C'est pourquoi les bonnes pratiques
recommandent aujourd'hui de n'utiliser que la version 3.
Source : https://fr.wikipedia.org/wiki/Simple_Network_Management_Protocol
SNMP v3
OIDs
Number Label
1 iso
.3 org
.6 dod
.1 internet
http://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/8141-calculate-bandwidth-snmp.html
15
Notes
http://cric.grenoble.cnrs.fr/Administrateurs/Outils/MIBS/?oid=1.3.6.1.2.1.31.1.1.1
GNS3 firewall_gns3_open_rules
cat << EOF > firewall_gns3_open_rules.sh
iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
iptables -A FORWARD -d 192.168.122.0/24 -s 172.16.253.0/24 -j ACCEPT
iptables -A FORWARD -s 192.168.122.0/24 -d 172.16.253.0/24 -j ACCEPT
EOF
16
Notes
apt-get update
apt-get install zabbix-agent
Switch
enable
configure terminal
hostname SW0
interface vlan 1
ip address 192.168.122.10 255.255.255.0
no shutdown
snmp-server community public RO
end
wr
docker debian8
apt-get update && apt-get -y upgrade
apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg2 \
software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"
apt-get update
apt-get -y install docker-ce
Liens
https://github.com/monitoringartist
https://www.zabbix.org/wiki/Main_Page
https://devopstrailer.wordpress.com/
http://cric.grenoble.cnrs.fr/Administrateurs/Outils/MIBS/
17