Zabbix agent 模板操作
确保通过Zabbix agent收集模板指标的正确步骤:
1. 确保主机上安装了Zabbix agent。对于主动模式 , 还需要确认agent 配置文件已添加ServerActive
参数。
2. 将模板链接 到目标主机 (如果模板在您的Zabbix中不可用,您可能需要先导入模板文件.xml文件 - 查看开箱即用的模板 说明部分)。
3.根据需要调整必配宏的值。
4. 配置要监控的实例允许与Zabbix共享数据- 请参阅 附加步骤/注释 字段。
该页面仅包含最小的一组宏和正确的模板操作所需的设置步骤。 在模板的Readme.md文件中提供了模板的详细说明,包括宏,项和触发器的完整列表(可通过单击模板名称访问)。
模板名称 | 必配宏 | 附加步骤/注释 |
---|---|---|
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_status 应该设置(详情参见 Apache 文档).可用性检查, 执行: httpd -M 2>/dev/null | grep status_module Apache 配置样例: <Location “/server-status”> SetHandler server-status Require host example.com </Location> |
HAProxy by Zabbix agent | {$HAPROXY.STATS.PATH} - HAProxy统计页面的路径 (默认: stats) {$HAPROXY.STATS.PORT} - HAProxy的端口统计主机或容器 (默认: 8404) {$HAPROXY.STATS.SCHEME} - HAProxy状态页面支持的协议. 支持: http (默认), https | HAProxy状态页需要设置 (配置案例详情参见 HAProxy博文 或模板的 Readme.md文件). |
IIS by Zabbix agent / IIS by Zabbix agent active | {$IIS.PORT} - IIS Server 监听端口 (默认: 80) {$IIS.SERVICE} - 端口检查服务 (默认: http). 详情参见 net.tcp.service部分. | IIS服务器应具有以下角色: Web Server IIS Management Scripts and Tools 详情参见 IIS 文档. |
Microsoft Exchange Server 2016 by Zabbix agent/Microsoft Exchange Server 2016 by Zabbix agent active | 请注意,该模板不提供有关 Windows 服务状态的信息。 建议与 OS Windows by Zabbix agent 或 OS Windows by Zabbix agent active 模板一起使用。 | |
Nginx by Zabbix agent | {$NGINX.STUB_STATUS.HOST} - NGINX stub_status 主机或者容器的主机名或IP地址 (默认: 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 |
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. 打开配置文件并启用状态页: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 |
RabbitMQ cluster by Zabbix agent | {$RABBITMQ.API.CLUSTER_HOST} - RabbitMQ 集群 API 端点的主机名或IP地址 (默认:127.0.0.1 ){$RABBITMQ.API.USER}, {$RABBITMQ.API.PASSWORD} - RabbitMQ 登陆凭证 (默认 用户: zbx_monitor, 密码: zabbix) | 启用 RabbitMQ 管理插件(参见 RabbitMQ 文档). 创建一个 RabbitMQ监控用户,赋予必要的权限, 执行: ‘’ rabbitmqctl add_user zbx_monitor <PASSWORD> ‘’ rabbitmqctl set_permissions -p / zbx_monitor %% “” “” “.“%% rabbitmqctl set_user_tags zbx_monitor monitoring 单节点安装时,可将集群模板分配给已安装节点模板的主机。如果群集由多个节点组成,建议将群集模板分配给一个单独的负载主机使用. |
MySQL by Zabbix agent | {$MYSQL.HOST} - MySQL 主机或容器的主机名或IP地址 (默认: localhost) {$MYSQL.PORT} - 数据库服务端口 (默认: 3306) | 1.如有必要,将 mysql 和 mysqladmin的路径添加到全局环境变量 PATH. 2. 将Zabbix templates目录下的 template_db_mysql.conf 文件复制到Zabbix agent子配置文件目录中(默认为/etc/zabbix/zabbix_agentd.d/),并重启Zabbix agent.3. 创建MySQL用户 zbx_monitor . 赋予该用户必要的权限, 执行:GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON %% . TO ‘<username>’@’%’;%% (详情参见 MYSQL 文档). 4.在Linux主机中,Zabbix agent需要在home目录下创建 .my.cnf (默认为/var/lib/zabbix) 或在Windows主机的c:\中创建my.cnf . 该文件必须包含三行字符串:[client] ‘’user=’zbx_monitor’ ‘’ ‘’password=’<password>’ ‘’ |
PostgreSQL | {$PG.DB} - 连接到服务器的数据库名称 (默认: postgres) {$PG.HOST} - 数据库服务器主机或套接字目录 (默认: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; 对于老的 PostgreSQL 版本,执行: CREATE USER zbx_monitor WITH PASSWORD ‘<PASSWORD>’; GRANT SELECT ON pg_stat_database TO zbx_monitor; 2. 复制 postgresql/ 至 Zabbix agent home目录 (/var/lib/zabbix/).3. 将Zabbix templates目录下的 template_db_postgresql.conf 文件复制到Zabbix agent子配置文件目录中 (/etc/zabbix/zabbix_agentd.d/) 并重启 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. 监控一个远程服务器, 在创建Zabbix agent home 目录(/var/lib/zabbix/) 中创建 .pgpass 文件, 并在每一行中添加实例、端口、数据库、用户、密码信息 (详情参见 PostgreSQL 文档).例子: <REMOTE_HOST1>:5432:postgres:zbx_monitor:<PASSWORD> :5432:postgres:zbx_monitor:<PASSWORD> |