Paramétrage
Sommaire
Présentation
Cette section a pour objet de décrire comment paramétrer l'outil Zabbix.
Paramétrage système
Gestion des services Zabbix
Serveur
Démarrer le service du serveur Zabbix :
systemctl start zabbix-server.service
Arrêter le service du serveur Zabbix :
systemctl stop zabbix-server.service
Redémarrer le service du serveur Zabbix :
systemctl restart zabbix-server.service
Afficher l'état du service du serveur Zabbix :
systemctl status zabbix-server.service
Activer le démarrage du service du serveur Zabbix au démarrage de la machine :
systemctl enable zabbix-server.service
Désactiver le démarrage du service du serveur Zabbix au démarrage de la machine :
systemctl disable zabbix-server.service
Agent
Démarrer le service de l'agent Zabbix :
systemctl start zabbix-agent.service
Arrêter le service de l'agent Zabbix :
systemctl stop zabbix-agent.service
Redémarrer le service de l'agent Zabbix :
systemctl restart zabbix-agent.service
Afficher l'état du service de l'agent Zabbix :
systemctl status zabbix-agent.service
Activer le démarrage du service de l'agent Zabbix au démarrage de la machine :
systemctl enable zabbix-agent.service
Désactiver le démarrage du service de l'agent Zabbix au démarrage de la machine :
systemctl disable zabbix-agent.service
Passerelle Java
Démarrer le service de la passerelle Java de Zabbix :
systemctl start zabbix-java-gateway.service
Arrêter le service de la passerelle Java de Zabbix :
systemctl stop zabbix-java-gateway.service
Redémarrer le service de la passerelle Java de Zabbix :
systemctl restart zabbix-java-gateway.service
Afficher l'état du service de la passerelle Java de Zabbix :
systemctl status zabbix-java-gateway.service
Activer le démarrage du service de la passerelle Java de Zabbix au démarrage de la machine :
systemctl enable zabbix-java-gateway.service
Désactiver le démarrage du service de la passerelle Java de Zabbix au démarrage de la machine :
systemctl disable zabbix-java-gateway.service
Paramétrage applicatif
Informations interface utilisateur
Se rendre à l'URL sur laquelle est publié Zabbix :
Cliquer sur Next step.
Zabbix réalise une vérification des prérequis et affiche le résultat.
- En cas de prérequis manquant, apporter la correction et se rendre à nouveau sur la page d'accueil de Zabbix
- Dans le cas présent, les corrections apportées sont les suivantes :
- Dans le fichier
/local/php/php7/lib/php.ini
, définition du paramètredate.timezone = "Europe/Paris"
- Dans le fichier
/local/php/php7/etc/php-fpm.d/zabbix.conf
, définition des paramètres dédiés suivants :- php_admin_value[memory_limit] = 128M
- php_admin_value[post_max_size] = 16M
- php_admin_value[max_execution_time] = 300
- php_admin_value[max_input_time] = 300
- Redémarrage du service php7-fpm avec la commande
systemctl restart php7-fpm.service
- Dans le fichier
Une fois les prérequis validés, le message d'erreur disparaît :
Cliquer sur Next step.
Renseigner les informations relatives à la base de données et cliquer sur Next step :
Renseigner le informations relatives au serveur Zabbix et cliquer sur Next step :
Un résumé des informations s'affiche avant l'installation. Cliquer sur Next step :
Un message s'affiche informant de la bonne configuration de l'interface utilisateur de Zabbix :
Cela crée un fichier de configuration /data/www/zabbix/current/conf/zabbix.conf.php
.
Cliquer sur Finish pour être redirigé vers l'écran de connexion de l'interface utilisateur :
Première connexion
Une fois le paramétrage de l'interface utilisateur réalisé, se rendre à l'URL d'accueil de Zabbix et se connecter avec les identifiants par défaut :
- Identifiants :
- Username : Admin
- Password : zabbix
Une fois connecté, la page principale de Zabbix s'affiche :
Modification mot de passe
La première chose à faire est de sécuriser l'accès à l'interface Zabbix en changeant le mot de passe par défaut de l'utilisateur Admin. Pour ce faire, se rendre dans la section Administration -> Users :
La liste des utilisateurs s'affiche :
Cliquer sur l'utilisateur Admin. Le détail de son compte s'affiche :
Dans la section Password, cliquer sur Change password. Deux champs s'affichent alors :
Renseigner le mot de passe à deux reprises et cliquer sur Update.
Un retour sur la liste des utilisateurs indique que l'utilisateur Admin a bien été mis à jour :
Intégration Active Directory
Se rendre dans la section Administration -> Authentication :
Pour activer la connexion à un annuaire d'utilisateurs, cliquer sur LDAP :
Se rendre dans l'onglet LDAP settings :
Activer le remplissage des champs en cochant la case Enable LDAP authetication et remplir les champs comme ceci :
- LDAP host
- Correspond au serveur d'annuaire
- monserveurAD.mongroupe.local
- Port
- Correspond au port du serveur d'annuaire
- Laisser par défaut sur 389
- Base DN
- Correspond à l'arborescence racine à partir de laquelle chercher les utilisateurs dans l'annuaire
- OU=usersOU,DC=mongroupe,DC=local
- Search attribute
- Attribut sur lequel doit se faire la recherche de l'utilisateur
- Pour un annuaire Active Directory, saisir sAMAccountName
- Bind DN
- DN de l'utilisateur avec lequel se connecter à l'annuaire pour rechercher les utilisateurs
- CN=userquery,OU=tools,OU=Users applicatifs,DC=mongroupe,DC=local
- Case sensitive login
- Choix si le login doit être sensible à la casse ou pas
- Ne pas cocher cette case
- Bind password
- Mot de passe l'utilisateur qui effectue la recherche dans l'annuaire
- Login
- Identifiant d'un utilisateur pour tester la connexion à l'annuaire
- Choisir son propre identifiant
- User password
- Mot de passe de l'utilisateur de test de connexion à l'annuaire
- Rentrer son propre mot de passe
Une fois ces informations renseignées, cliquer sur le bouton Test :
Si le test est concluant, cliquer sur Update :
Un message s'affiche indiquant la bonne prise en compte du paramétrage de l'Active Directory.
Gestion des utilisateurs
Le mapping des groupes de l'Active Directory avec les groupes de Zabbix n'est pas disponible à ce jour (voir la réquête 276 ouverte depuis 2010 à ce sujet).
Il va donc falloir créer les utilisateurs de l'Active Directory un à un dans les groupes de Zabbix. Pour éviter de le faire manuellement, j'ai créé un script PHP de création automatique des utilisateurs Active Directory dans Zabbix. Il y a donc deux méthodes pour créer les utilisateurs.
Création automatique
Se rendre sur la page du script PHP de création automatique des utilisateurs Active Directory dans Zabbix et l'utiliser.
Création manuelle
Avant toute chose, il va falloir créer un groupe dans Zabbix.
Création groupe
Pour créer un groupe, aller dans la section Administration -> User groups et cliquer sur Create user group :
Renseigner les champs comme ceci :
- Group name
- Cela correspond au nom que portera le groupe dans Zabbix
- MonGroupe
- Users
- Liste des utilisateurs Zabbix à ajouter dans le groupe
- Laisser vide
- Frontend access
- Ce groupe permet-il l'accès à l'interface utilisateur de Zabbix ? Si oui, par quel moyen ?
- 'LDAP
- Enabled
- Ce groupe est-il actif ?
- Oui, cocher la case
- Debug mode
- Le mode débug est-il activé ?
- Non, ne pas cocher la case
Cliquer sur Add pour créer le groupe dans Zabbix :
Création utilisateur
Pour créer un utilisateur dans Zabbix, se rendre dans la section Administration -> Users et cliquer sur Create user :
Renseigner les champs comme ceci :
- Alias
- Renseigner ici l'identifiant de l'utilisateur tel qu'il est défini dans l'Active Directory
- Par exemple : JLN
- Name
- Renseigner ici le nom de l'utilisateur
- Par exemple : LE NUFF
- Surname
- Renseigner ici le prénom de l'utilisateur
- Par exemple : Jordan
- Groups
- Sélectionner un groupe déjà existant dans Zabbix
- Par exemple, le groupe précédemment créé : MonGroupe
- Password
- Renseigner ici un mot de passe aléatoire, il ne sera pas utilisé dans le cas d'une authentification LDAP
- Par exemple : toto
- Language
- Choisir ici la langue d'utilisation de l'utilisateur
- Par exemple : French (fr_FR)
- Theme
- Laisser par défaut
- Auto-login
- Ne pas cocher
- Auto-logout
- Ne pas cocher
- Refresh
- Laisser la valeur par défaut
- Rows per page
- Laisser la valeur par défaut
- URL (after login)
- Laisser vide
Cliquer sur Add pour créer l'utilisateur :
Un message apparaît pour confirmer la bonne création de l'utilisateur :
L'utilisateur a bien été créé.
Gestion des droits d'accès
Les droits d'accès s'appliquent selon le type d'utilisateur et les droits accordés au(x) groupe(s) de l'utilisateur.
Type d'utilisateur
Il existe 3 types d'utilisateur sous Zabbix :
- Utilisateur Zabbix
- L'utilisateur a accès au menu Surveillance. L'utilisateur n'a accès à aucune ressource par défaut. Toutes les autorisations sur les groupes d'hôtes doivent être explicitement attribuées.
- Administrateur Zabbix
- L'utilisateur a accès aux menus Surveillance et Configuration. L'utilisateur n'a accès à aucun groupe d'hôtes par défaut. Toutes les autorisations sur les groupes d'hôtes doivent être explicitement attribuées.
- Super administrateur Zabbix
- L'utilisateur a accès à tout : menus Surveillance, Configuration et Administration. L'utilisateur dispose d'un accès en lecture-écriture à tous les groupes d'hôtes. Les autorisations ne peuvent pas être révoquées en refusant l'accès à des groupes d'hôtes spécifiques.
Pour modifier le type d'utilisateur, se rendre dans la section Administration -> Users et cliquer sur l'alias de l'utilisateur à modifier :
Cliquer ensuite sur l'onglet Permissions :
Dans le menu déroulant User type, sélectionner le type d'utilisateur voulu :
Cliquer sur Update, un message s'afficher confirmant la bonne prise en compte de la modification de l'utilisateur :
Permissions de groupe
Pour modifier les autorisations d'un groupe, aller dans la section Administration -> User groups et cliquer sur le nom du groupe à modifier :
Cliquer ensuite sur l'onglet Permissions :
Cliquer sur le bouton Select et choisir les groupes de d'objets à ajouter à la sélection :
Cliquer sur Select pour valider la sélection :
Entre Read-write, Read, Deny et None, sélectionner le niveau d'accès à accorder à ces permissions :
Cliquer sur Add' pour ajouter les permissions et leur niveau associé :
Cliquer sur Update, un message s'afficher confirmant la bonne prise en compte de la modification du groupe :
Ajout template
PHP-FPM
Il existe plusieurs templates de monitoring de PHP-FPM pour Zabbix.
Au moment de la rédaction de cette page, le template le plus mis à jour est celui-ci : https://github.com/rvalitov/zabbix-php-fpm
Cette page ne fera que reprendre le Wiki du template présent à : https://github.com/rvalitov/zabbix-php-fpm/wiki/Installation
Côté agent
Installation des prérequis :
yum install grep gawk lsof jq fcgi unzip bc
Téléchargement de la dernière version :
curl -L $(curl -s https://api.github.com/repos/rvalitov/zabbix-php-fpm/releases/latest | grep 'zipball_' | cut -d\" -f4) --output /tmp/zabbix-php-fpm.zip
Extraction des fichiers :
unzip -j /tmp/zabbix-php-fpm.zip "*/zabbix/*" "*/ispconfig/*" -d /tmp/zabbix-php-fpm
Copie des fichiers dans la configuration Zabbix :
cp /tmp/zabbix-php-fpm/userparameter_php_fpm.conf $(find /etc/zabbix/ -name zabbix_agentd*.d -type d | head -n1) cp /tmp/zabbix-php-fpm/zabbix_php_fpm_discovery.sh /etc/zabbix/ cp /tmp/zabbix-php-fpm/zabbix_php_fpm_status.sh /etc/zabbix/
Ajout du droit d’exécution sur les scripts :
chmod +x /etc/zabbix/zabbix_php_fpm_discovery.sh chmod +x /etc/zabbix/zabbix_php_fpm_status.sh
Lancer visudo
et y ajouter la ligne suivante :
zabbix ALL = NOPASSWD: /etc/zabbix/zabbix_php_fpm_discovery.sh,/etc/zabbix/zabbix_php_fpm_status.sh
Augmentation du seuil de connexion par socket sur le serveur :
echo "net.core.somaxconn=1024" | tee -a /etc/sysctl.conf sysctl -p
Mise à jour de la variable pm.status_path
dans les différents pool PHP-FPM :
pm.status_path = /php-fpm-status
Relancer PHP-FPM pour prise en compte.
Supprimer les fichiers temporaires :
rm /tmp/zabbix-php-fpm.zip rm -rf /tmp/zabbix-php-fpm
Côté serveur Zabbix
Télécharger l'archive de la dernière version disponible depuis l'URL https://github.com/rvalitov/zabbix-php-fpm/releases/latest.
Depuis le dossier /zabbix
de l'archive, récupérer le fichier XML. Exemple :
zabbix_php_fpm_template_4.0.xml
Se rendre sur l'interface web du serveur Zabbix, aller dans Configuration -> Templates -> Import
et importer le fichier XML précédemment téléchargé.