Zabbix agent 模板操作

下面步骤确保当前操作模板能通过 Zabbix agent正常收集监控对象数据:

1. 请确保主机上已安装Zabbix agent。Zabbix agent active 模式检查,确保主机ip信息填写入参数 ‘ServerActive’在 Zabbix agent 配置文件中 配置文件.
2. 链接 将模板关联上目标主机 (如果在Zabbix中没有agent可用的模板,您可能需要首先导入模板的.xml文件-参见 - 看 开箱即用的模板 说明部分).
3. 根据提示修改强制宏值修改。
4. 配置监控对象实例允许zabbix去获取数据 - 请参阅附加步骤/注释栏中的说明。

本页仅包含适当模板操作所需的最小宏集和设置步骤。 模板的详细描述,包括宏、项和触发器的完整列表,都可以在模板中找到 Readme.md 文件 (点击模板名称即可访问).

模板名称必要宏额外的步骤/说明
Microsoft Exchange Server 2016 by Zabbix agent/Microsoft Exchange Server 2016 by Zabbix agent activeNote, 模板没有提供关于Windows服务状态的信息。建议配合使用 OS Windows by Zabbix agent 或者 OS Windows by Zabbix agent active 模板.
Template App Apache by Zabbix agent{$APACHE.STATUS.HOST} - Apache状态页面的主机名或IP地址(默认: 127.0.0.1)
{$APACHE.STATUS.PATH} - URL 路径 (默认: server-status?auto)
{$APACHE.STATUS.PORT} - Apache状态页面的端口 (默认: 80)
应该设置Apache模块 mod 状态(通过 Apache 文档 查看详情).
检查可用性, 运行:
httpd -M 2>/dev/null | grep status_module

Apache配置示例:
<Location “/server-status”>
SetHandler server-status
Require host example.com
</Location>
Template App HAProxy by Zabbix agent{$HAPROXY.STATS.PATH} - HAProxy统计页面的路径 (默认: stats)
{$HAPROXY.STATS.PORT} - HAProxy的端口统计主机或容器 (默认: 8404)
{$HAPROXY.STATS.SCHEME} - HAProxy的scheme统计页面. 支持协议: http (默认), https
应该设置启用HAProxy统计页面 (通过HAProxy 博客查看详细信息或模板的 README.md 配置示例).
Template App IIS by Zabbix agent / Template App IIS by Zabbix agent active{$IIS.PORT} - IIS Server 监听端口 (默认: 80)
{$IIS.SERVICE} -端口检查服务 (默认: http)。查看 net.tcp.service 更多细节.
服务应该遵守以下规则:
Web Server
IIS Management Scripts and Tools

更多详细内容轻擦好看IIS 文档。
Template App Nginx by Zabbix agent{$NGINX.STUB_STATUS.HOST} - 主机名或者IP地址 是 Nginx stub_status系统主机或者容器 (默认: localhost)
{$NGINX.STUB_STATUS.PATH} - Nginx stub_status 页面路径 (默认: basic_status)
{$NGINX.STUB_STATUS.PORT} - Nginx stub_status主机或容器的端口 (默认: 80)
ngx_http_stub_status_module 需要被设置 (更多信息请查看Nginx 文档 或者 模板的 Readme.md 对于配置示例).
检查可用性, 运行:
nginx -V 2>&1 | grep -o with-http_stub_status_module
Template App PHP-FPM by Zabbix agent{$PHP_FPM.HOST} - PHP-FPM状态主机或容器的主机名或IP (默认: localhost)
{$PHP_FPM.PING.PAGE} - PHP-FPM ping 页面路径 (默认:ping)
{$PHP_FPM.PORT} - PHP-FPM状态主机或容器的端口 (默认: 80)
{$PHP_FPM.PROCESS_NAME} - PHP-FPM 进程名称 (默认:php-fpm)
{$PHP_FPM.STATUS.PAGE} - PHP-FPM 状态页面路径 (默认:status)
1. 打开php-fpm配置文件并启用状态页面:
pm.status_path = /status
ping.path = /ping

2. 验证命令检查格式: $ php-fpm7 -t

3. 重新加载 php-fpm 服务.

4. 在Nginx配置文件server块(虚拟主机) , 添加 (更多信息请查看模板 Readme.md 带有注释的扩展示例):
location ~ ^/(status|ping)$ {
access_log off;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
}

5. 命令检查配置文件格式: $ nginx -t

6. 重新加载Nginx

7. 验证: curl -L 127.0.0.1/status
Template App RabbitMQ cluster by Zabbix agent{$RABBITMQ.API.CLUSTER_HOST} - RabbitMQ集群API端点的主机名或IP地址 (默认:127.0.0.1)
{$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} -RabbitMQ登录凭证 (默认username: zbx_monitor, password: zabbix)
启用RabbitMQ管理插件 (see RabbitMQ 文档).

创建一个RabbitMQ用户,该用户具有nessesary的监控权限, 运行:
rabbitmqctl add_user zbx_monitor <PASSWORD>
rabbitmqctl set_permissions -p / zbx_monitor “” “” “.
rabbitmqctl set_user_tags zbx_monitor monitoring

如果集群由多个节点组成, 建议将集群模板单独分配到其中的一台监控主机上。 单节点安装时,可将集群模板分配给已安装节点模板的主机。
Template DB MySQL{$MYSQL.HOST} - MySQL主机或容器的主机名或IP地址 (默认: localhost)
{$MYSQL.PORT} - 数据库服务端口 (默认: 3306)
1. 如果需要,将mysql和mysqladmin实用程序的路径添加到全局环境变量PATH中。

2. 复制 template_db_mysql.conf 文件从 templates 将Zabbix的目录放入Zabbix代理配置的文件夹中 (/etc/zabbix/zabbix_agentd.d/ by 默认) 然后重启Zabbix agent.

3. 创建 MySQL 用户 zbx_monitor. 将所需的权限授予用户, 运行:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON . TO ‘<username>’@’%’;
(访问MYSQL 文档查看更多信息).

4. 创建.my.cnf 在Zabbix agent 主目录下 Linux版本 (/var/lib/zabbix by 默认 ) 或者 my.cnf 在 c:\ windows版本. 该文件必须有三个字符串:
[client]
user=’zbx_monitor’
password=’<password>’
Template DB PostgreSQL{$PG.DB} - 库名去连接 postgres数据库服务 (默认: postgres)
{$PG.HOST} - 数据库主机地址或者socket目录 (默认:127.0.0.1)
{$PG.PORT} - 数据库服务端口 (默认: 5432)
{$PG.USER} - 数据库用户名 (默认: zbx_monitor)
1. 创建一个只读用户 zbx_monitor 可以正常访问PostgreSQL服务器。 适用于PostgreSQL 10及更新版本, 运行:
CREATE USER zbx_monitor WITH PASSWORD ‘<PASSWORD>’ INHERIT;
GRANT pg_monitor TO zbx_monitor;
For older PostgreSQL versions, run:
CREATE USER zbx_monitor WITH PASSWORD ‘<PASSWORD>’;
GRANT SELECT ON pg_stat_database TO zbx_monitor;

2. 复制 postgresql/ 到 Zabbix agent 主目录下 (/var/lib/zabbix/).

3. 复制 template_db_postgresql.conf 从Zabbix的 templates 目录到Zabbix agent 配置目录 (/etc/zabbix/zabbix_agentd.d/) and restart Zabbix agent.

4. 编辑 pg_hba.conf 允许从Zabbix agent连接 (访问PostgreSQL 文档查看更多详情).
配置行样例:
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5

5. 监控远程服务, 创建一个 .pgpass Zabbix agent 主目录下的文件 (/var/lib/zabbix/) 并使用实例添加行, 端口, 数据库名, 用户 和 密码 信息 (访问 PostgreSQL文档查看更多详情).
配置行样例:
<REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD>
:5432:postgres:zbx_monitor:<PASSWORD>