[comment]: # translation:outdated

[comment]: # ({67818883-aae66dcf})

# Zabbix agent 模板操作

确保通过[Zabbix agent](/manual/concepts/agent)收集模板指标的正确步骤:

1\. 确保主机上安装了Zabbix agent。对于主动模式 , 还需要确认agent [配置文件](/manual/appendix/config/zabbix_agentd)已添加`ServerActive`参数。\
2. 将模板[链接](/manual/config/templates/linking#linking_a_template) 到目标主机 (如果模板在您的Zabbix中不可用，您可能需要先导入模板文件.xml文件 - 查看[开箱即用的模板](/manual/config/templates_out_of_the_box) 说明部分）。\
3.根据需要调整必配宏的值。\
4. 配置要监控的实例允许与Zabbix共享数据- 请参阅 *附加步骤/注释* 字段。

::: notetip
该页面仅包含最小的一组宏和正确的模板操作所需的设置步骤。 在模板的Readme.md文件中提供了模板的详细说明，包括宏，项和触发器的完整列表（可通过单击模板名称访问）。
:::

|模板名称|必配宏|附加步骤/注释|
|-------------|----------------|-------------------------|
|[Apache by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/apache_agent/README.md)|**{\$APACHE.STATUS.HOST}** - Apache状态页面的主机名或IP地址 (默认: 127.0.0.1)<br>**{\$APACHE.STATUS.PATH}** - URL 路径 (默认: server-status?auto)<br>**{\$APACHE.STATUS.PORT}** - Apache状态页面的端口 (默认: 80)|Apache 模块 `mod_status` 应该设置(详情参见 Apache [文档](https://httpd.apache.org/docs/current/mod/mod_status.html)).<br>可用性检查, 执行:<br>`httpd -M 2>/dev/null \| grep status_module`<br><br>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}** - HAProxy统计页面的路径 (默认: stats)<br>**{\$HAPROXY.STATS.PORT}** - HAProxy的端口统计主机或容器 (默认: 8404)<br>**{\$HAPROXY.STATS.SCHEME}** - HAProxy状态页面支持的协议. 支持: http (默认), https|HAProxy状态页需要设置 (配置案例详情参见 HAProxy[博文](https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/) 或模板的 Readme.md文件).|
|[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}** - IIS Server 监听端口 (默认: 80)<br>**{\$IIS.SERVICE}** - 端口检查服务 (默认: http). 详情参见 [net.tcp.service](/manual/config/items/itemtypes/simple_checks)部分.|IIS服务器应具有以下角色:<br>[Web Server](https://docs.microsoft.com/en-us/iis/web-hosting/web-server-for-shared-hosting/installing-the-web-server-role)<br>[IIS Management Scripts and Tools](https://docs.microsoft.com/en-us/iis/manage/scripting/managing-applications-and-application-pools-on-iis-with-wmi)<br><br>详情参见 IIS 文档.|
|[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)|<|请注意，该模板不提供有关 Windows 服务状态的信息。 建议与 *OS Windows by Zabbix agent* 或 *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}** - NGINX stub\_status 主机或者容器的主机名或IP地址 (默认: localhost)<br>**{\$NGINX.STUB\_STATUS.PATH}** - NGINX stub\_status 页面访问路径 (默认: basic\_status)<br>**{\$NGINX.STUB\_STATUS.PORT}** - NGINX stub\_status 主机或容器监听端口 (默认: 80)|`ngx_http_stub_status_module` 需要被设置 (配置样例详情参见 Nginx [文档](https://nginx.org/en/docs/http/ngx_http_stub_status_module.html)或模板的 Readme.md文件).<br>可用性检查, 执行:<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}** - PHP-FPM 主机或容器的主机名或IP地址 (默认: `localhost`)<br>**{\$PHP\_FPM.PING.PAGE}** - PHP-FPM ping页面访问路径 (默认:`ping`)<br>**{\$PHP\_FPM.PORT}** - PHP-FPM 主机或容器的端口号 (默认: `80`)<br>**{\$PHP\_FPM.PROCESS\_NAME}** - PHP-FPM 进程名 (默认:`php-fpm`)<br>**{\$PHP\_FPM.STATUS.PAGE}** - PHP-FPM 状态页面访问路径 (默认:`status`)|1\. 打开配置文件并启用状态页:<br>`pm.status_path = /status`<br>`ping.path = /ping`<br><br>2. 语法验证: `\$ php-fpm7 -t`<br><br>3. 重新加载 php-fpm 服务.<br><br>4. 在Nginx配置文件Server配置块(虚拟主机) 中, 添加 (带注释的扩展样例参见模板的*Readme.md*):<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. 语法检查: `\$ nginx -t`<br><br>6. 重新加载Nginx<br><br>7. 检查状态页: `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}** - RabbitMQ 集群 API 端点的主机名或IP地址 (默认:`127.0.0.1`)<br>**{\$RABBITMQ.API.USER}**, **{\$RABBITMQ.API.PASSWORD}** - RabbitMQ 登陆凭证 (默认 用户: zbx\_monitor, 密码: zabbix)|启用 RabbitMQ 管理插件(参见 [RabbitMQ 文档](https://www.rabbitmq.com/management.html)).<br><br>创建一个 RabbitMQ监控用户，赋予必要的权限, 执行:<br>'' rabbitmqctl add\_user zbx\_monitor <PASSWORD> ''<br>`rabbitmqctl set_permissions -p / zbx_monitor %% "" "" ".*"%%`<br>`rabbitmqctl set_user_tags zbx_monitor monitoring`<br><br>单节点安装时,可将集群模板分配给已安装节点模板的主机。如果群集由多个节点组成，建议将群集模板分配给一个单独的负载主机使用.|
|[MySQL by Zabbix agent](https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/mysql_agent/README.md)|**{\$MYSQL.HOST}** - MySQL 主机或容器的主机名或IP地址 (默认: localhost)<br>**{\$MYSQL.PORT}** - 数据库服务端口 (默认: 3306)|1\.如有必要，将 mysql 和 mysqladmin的路径添加到全局环境变量 PATH.<br><br>2. 将Zabbix *templates*目录下的 `template_db_mysql.conf`文件复制到Zabbix agent子配置文件目录中(默认为/etc/zabbix/zabbix\_agentd.d/)，并重启Zabbix agent.<br><br>3. 创建MySQL用户 `zbx_monitor`. 赋予该用户必要的权限, 执行:<br>`GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% *.* TO '<username>'@'%';%%`<br>(详情参见 [MYSQL 文档](https://dev.mysql.com/doc/refman/8.0/en/grant.html)).<br><br>4.在Linux主机中，Zabbix agent需要在home目录下创建 `.my.cnf` (默认为/var/lib/zabbix) 或在Windows主机的c:\\中创建`my.cnf`. 该文件必须包含三行字符串:<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}** - 连接到服务器的数据库名称 (默认: postgres)<br>**{\$PG.HOST}** - 数据库服务器主机或套接字目录 (默认:127.0.0.1)<br>**{\$PG.PORT}** - 数据库服务器监听端口 (默认: 5432)<br>**{\$PG.USER}** - 数据库用户名 (默认: zbx\_monitor)|1\. 创建一个只读用户 `zbx_monitor` 以访问 PostgreSQL 服务器。 对于 PostgreSQL 10 和更新版本，执行:<br>`CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;`<br>`GRANT pg_monitor TO zbx_monitor;`<br>对于老的 PostgreSQL 版本，执行:<br>`CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>';`<br>`GRANT SELECT ON pg_stat_database TO zbx_monitor;`<br><br>2. 复制`postgresql/` 至 Zabbix agent home目录 (/var/lib/zabbix/).<br><br>3. 将Zabbix *templates*目录下的 `template_db_postgresql.conf`文件复制到Zabbix agent子配置文件目录中 (/etc/zabbix/zabbix\_agentd.d/) 并重启 Zabbix agent.<br><br>4. 编辑`pg_hba.conf`为Zabbix agent设置白名单 (详情参见 [PostgreSQL 文档](https://www.postgresql.org/docs/current/auth-pg-hba-conf.html)).<br>例子:<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. 监控一个远程服务器, 在创建Zabbix agent home 目录(/var/lib/zabbix/) 中创建`.pgpass` 文件， 并在每一行中添加实例、端口、数据库、用户、密码信息 (详情参见 [PostgreSQL 文档](https://www.postgresql.org/docs/current/libpq-pgpass.html)).<br>例子:<br>`<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>`<br>`*:5432:postgres:zbx_monitor:<PASSWORD>`|

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