[comment]: # translation:outdated

[comment]: # ({21821a36-aae66dcf})
# Fonctionnement du modèle d'agent Zabbix

Étapes pour garantir le bon fonctionnement des modèles qui collectent des métriques avec [l'agent Zabbix](/manual/concepts/agent):

1\. Assurez-vous que l'agent Zabbix est installé sur l'hôte. Pour les vérifications actives, assurez-vous également que l'hôte est ajouté au paramètre 'ServerActive' du [fichier de configuration](/manual/appendix/config/zabbix_agentd) de l'agent.\
2. [Liez](/manual/config/templates/linking#linking_a_template) le modèle à un hôte cible (si le modèle n'est pas disponible dans votre installation Zabbix, vous devrez peut-être d'abord importer le fichier .xml du modèle - voir [Modèles prêts à l'emploi](/manual/config/templates_out_of_the_box) pour les instructions).\
3. Ajustez les valeurs des macros obligatoires selon vos besoins.\
4. Configurez l'instance surveillée pour autoriser le partage de données avec Zabbix - voir les instructions dans la colonne *Étapes supplémentaires/commentaires*.

::: notetip
 Cette page ne contient qu'un ensemble minimal de macros et d'étapes de configuration nécessaires au bon fonctionnement du modèle. Une description détaillée d'un modèle, y compris la liste complète des macros, des éléments et des déclencheurs, est disponible dans le fichier Readme.md du modèle (accessible en cliquant sur un nom de modèle).
:::

|Nom du modèle|Macros obligatoires|Étapes supplémentaires/commentaires|
|-------------|----------------|-------------------------|
|[Apache by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/apache_agent/README.md)|**{$APACHE.STATUS.HOST}** - le nom d'hôte ou l'adresse IP de la page d'état d'Apache (par défaut : 127.0.0.1)<br>**{$APACHE.STATUS.PATH}** - le chemin de l'URL (par défaut : server-status?auto)<br>**{$APACHE.STATUS.PORT}** - le port de la page d'état d'Apache (défaut : 80)|Le module apache mod\_status doit être défini (voir la [documentation](https://httpd.apache.org/docs/current/mod/mod_status.html) Apache pour pluse de détails).<br>Pour vérifier la disponibilité, exécutez :<br>`httpd -M 2>/dev/null \| grep status_module`<br><br>Exemple de configuration Apache :<br>`<Location "/server-status">`<br>`SetHandler server-status`<br>`Require host example.com`<br>`</Location>`|
|[HAProxy by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/haproxy_agent/README.md)|**{$HAPROXY.STATS.PATH}** - le chemin de la page HAProxy Stats (par défaut : stats)<br>**{$HAPROXY.STATS.PORT}** - le port de l'hôte ou du conteneur HAProxy Stats (par défaut : 8404)<br>**{$HAPROXY.STATS.SCHEME}** - le schéma de la page HAProxy Stats. Pris en charge : http (par défaut), https|La page HAProxy Stats doit être configurée (voir l'[article du blog](https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/) HAProxy pour plus de détails ou le fichier Readme.md du modèle pour un exemple de configuration).|
|[IIS by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent) / [IIS by Zabbix agent active](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/iis_agent_active/README.md)|**{$IIS.PORT}** - le port d'écoute du serveur IIS (par défaut : 80)<br>**{$IIS.SERVICE}** - le service de contrôle de port (par défaut : http). Voir la section [net.tcp.service](/manual/config/items/itemtypes/simple_checks) pour plus de détails.|Le serveur doit avoir les rôles suivants :<br>[Serveur Web](https://docs.microsoft.com/en-us/iis/web-hosting/web-server-for-shared-hosting/installing-the-web-server-role)<br>[Scripts et outils de gestion IIS](https://docs.microsoft.com/en-us/iis/manage/scripting/managing-applications-and-application-pools-on-iis-with-wmi)<br><br>Voir la documentation IIS pour plus de détails.|
|[Microsoft Exchange Server 2016 by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/exchange/README.md)/[Microsoft Exchange Server 2016 by Zabbix agent active](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/exchange_active/README.md)| |Notez que le modèle ne fournit pas d'informations sur l'état des services Windows. Il est recommandé de l'utiliser avec le modèle *OS Windows by Zabbix agent* ou *OS Windows by Zabbix agent active*.|
|[Nginx by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/nginx_agent/README.md)|**{$NGINX.STUB\_STATUS.HOST}** - le nom d'hôte ou l'adresse IP de l'hôte ou du conteneur Nginx stub\_status (par défaut : localhost)<br>**{$NGINX.STUB\_STATUS.PATH}** - le chemin de la page Nginx stub\_status (par défaut : basic\_status)<br>**{$NGINX.STUB\_STATUS.PORT}** - le port de l'hôte ou du conteneur Nginx stub\_status (par défaut : 80)|`ngx_http_stub_status_module` doit être configuré (voir la [documentation](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html) Nginx pour plus de détails ou le fichier Readme.md du modèle pour un exemple de configuration).<br>Pour vérifier la disponibilité, exécutez :<br>`nginx -V 2>&1 \| grep -o with-http_stub_status_module`|
|[PHP-FPM by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/php-fpm_agent/README.md)|**{$PHP\_FPM.HOST}** - un nom d'hôte ou une IP d'hôte ou de conteneur de statut PHP-FPM (par défaut : `localhost`)<br>**{$PHP\_FPM.PING.PAGE}** - Chemin de la page de ping PHP-FPM (par défaut : `ping`)<br>**{$PHP\_FPM.PORT}** - le port de l'hôte ou du conteneur de statut PHP-FPM (par défaut : `80`)<br>**{$PHP\_FPM.PROCESS\_NAME}** - Nom du processus PHP-FPM (par défaut : `php-fpm`)<br>**{$PHP\_FPM.STATUS.PAGE}** - Chemin de la page d'état PHP-FPM (par défaut : `status`)|1\. Ouvrez le fichier de configuration php-fpm et activez la page d'état :<br>`pm.status_path = /status`<br>`ping.path = /ping`<br><br>2. Validez la syntaxe : `$ php-fpm7 -t`<br><br>3. Rechargez le service php-fpm.<br><br>4. Dans le fichier de configuration Nginx Server Block (hôte virtuel), ajoutez (voir le *Readme.md* du modèle pour un exemple développé avec des commentaires) :<br>`location ~ ^/(status\|ping)$ {`<br>`access_log off;`<br>`fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;`<br>`fastcgi_index index.php;`<br>`include fastcgi_params;`<br>`fastcgi_pass 127.0.0.1:9000;`<br>`}`<br><br>5. Vérifiez la syntaxe : `$ nginx -t`<br><br>6. Rechargez Nginx<br><br>7. Vérifiez : `curl -L 127.0.0.1/status`|
|[RabbitMQ cluster by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/rabbitmq_agent)|**{$RABBITMQ.API.CLUSTER\_HOST}** - le nom d'hôte ou l'adresse IP du point de terminaison de l'API du cluster RabbitMQ (par défaut : `127.0.0.1`)<br>**{$RABBITMQ.API.USER}**, **{\$RABBITMQ.API.PASSWORD}** - Identifiants de connexion RabbitMQ (nom d'utilisateur par défaut : zbx\_monitor, mot de passe : zabbix)|Activez le plugin de gestion RabbitMQ (voir la [documentation RabbitMQ](https://www.rabbitmq.com/management.html)).<br><br>Pour créer un utilisateur RabbitMQ avec les autorisations nécessaires pour la surveillance, exécutez :<br>`rabbitmqctl add\_user zbx\_monitor <PASSWORD>`<br>`rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%%`<br>`rabbitmqctl set_user_tags zbx_monitor monitoring`<br><br>Si le cluster se compose de plusieurs nœuds, il est recommandé d'attribuer le modèle de cluster à un hôte d'équilibrage distinct. Dans le cas d'une installation à nœud unique, le modèle de cluster peut être attribué à l'hôte avec un modèle de nœud.|
|[MySQL by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent/README.md)|**{$MYSQL.HOST}** - le nom d'hôte ou l'adresse IP de l'hôte ou du conteneur MySQL (par défaut : 127.0.0.1 (depuis 6.0.8)/localhost (avant 6.0.8))<br>**{$MYSQL.PORT}** - le port du service de base de données (par défaut : 3306)|1\. Si nécessaire, ajoutez le chemin vers les utilitaires mysql et mysqladmin à la variable d'environnement globale PATH.<br><br>2. Copiez le fichier `template_db_mysql.conf` depuis le répertoire *templates* de Zabbix dans le dossier avec la configuration de l'agent Zabbix (/etc/zabbix/zabbix\_agentd.d/ par défaut) et redémarrez l'agent Zabbix.<br><br>3. Créer un utilisateur MySQL `zbx_monitor`. Pour accorder les privilèges requis à l'utilisateur, exécutez :<br>`GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<username>'@'%';%%`<br>(voir la [documentation MYSQL](https://dev.mysql.com/doc/refman/8.0/en/grant.html) pour plus de détails).<br><br>4. Créez `.my.cnf` dans le répertoire d'accueil de l'agent Zabbix pour Linux (/var/lib/zabbix par défaut) ou `my.cnf` dans c:\\ pour Windows. Le fichier doit avoir trois chaînes :<br>`[client]`<br>`user='zbx\_monitor'`<br>`password='<password>'`|
|[PostgreSQL](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql/README.md)|**{\$PG.DB}** - le nom de la base de données pour se connecter au serveur (par défaut : postgres)<br>**{$PG.HOST}** - le répertoire de l'hôte ou du socket du serveur de base de données (par défaut : 127.0.0.1)<br>**{$PG.PORT}** - le port du serveur de base de données (par défaut : 5432)<br>**{$PG.USER}** - le nom d'utilisateur de la base de données (par défaut : zbx\_monitor)|1\. Créez un utilisateur en lecture seule `zbx_monitor` avec un accès approprié au serveur PostgreSQL. Pour PostgreSQL 10 et versions ultérieures, exécutez :<br>`CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;`<br>`GRANT pg_monitor TO zbx_monitor;`<br>Pour les anciennes versions de PostgreSQL, exécutez :<br>`CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>';`<br>`GRANT SELECT ON pg_stat_database TO zbx_monitor;`<br><br>2. Copiez `postgresql/` vers le répertoire d'accueil de l'agent Zabbix (/var/lib/zabbix/).<br><br>3. Copiez `template_db_postgresql.conf` du répertoire *templates* de Zabbix vers le répertoire de configuration de l'agent Zabbix (/etc/zabbix/zabbix\_agentd.d/) et redémarrez l'agent Zabbix.<br><br>4. Modifiez `pg_hba.conf` pour autoriser les connexions depuis l'agent Zabbix (voir la [Documentation PostgreSQL](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html) pour plus de détails).<br>Exemples de lignes : <br>`host all zbx_monitor 127.0.0.1/32 trust`<br>`host all zbx_monitor 0.0.0.0/0 md5`<br>`host all zbx_monitor ::0/0 md5`<br><br>5. Pour surveiller un serveur distant, créez un fichier `.pgpass` dans le répertoire d'accueil de l'agent Zabbix (/var/lib/zabbix/) et ajoutez des lignes avec les informations d'instance, de port, de base de données, d'utilisateur et de mot de passe (voir la [Documentation PostgreSQL](https://www.postgresql.org/docs/current/libpq-pgpass.html) pour plus de détails).<br>Exemples de lignes : <br>`<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>`<br>`*:5432:postgres:zbx_monitor:<PASSWORD>`|

[comment]: # ({/21821a36-aae66dcf})
