[Zabbix30 ]添加Nginx监控 zabbix get zabbix客户端安装 grafana zabbi
程序员文章站
2022-04-30 19:06:18
...
通过Nginx的http_stub_status_module模块提供的状态信息来监控,所以在Agent端需要配置Nginx状态获取的脚本,和添加key信息等,然后在Server端配置Nginx的监控模板等。请根据自己情况调整,这里只做简单的参照。
主要是使用Github这个项目的代码 zabbix-templates
Agent端
系统是Centos6.x, Zabbix-agent是3.0版本, Nginx1.9.x 官方版本
首先要检查Nginx是否安装了 http_stub_status_module
模块,通过下面的命令可以看到编译参数。
nginx -V
如果没有这个模块,还需要重新编译Nginx.
配置Nginx
Nginx 80端口的server配置增加如下的片段
location /nginx_status {
stub_statuson;
access_logoff;
allow127.0.0.1;
deny all;
}
配置完成之后,redload nginx,然后用简单测试下
>> curl http://127.0.0.1/nginx_status
Active connections: 7server accepts handled requests
2707270712528
Reading: 0 Writing: 1 Waiting: 6?
zabbix-agent 配置
有3个步骤,首先是编写获取Nginx信息脚本,接着配置中增加key信息,然后重启agent 服务。
- 编写Nginx监控脚本,记住路径,后面配置需要用到。
!!注意脚本权限问题,agent运行用户要能执行。
>># mkdir -p /usr/local/zabbix-agent/scripts
>># cd /usr/local/zabbix-agent/scripts
>># vim nginx-check.sh
>># cat nginx-check.sh#!/bin/bash################################### Zabbix monitoring script## nginx:# - anything available via nginx stub-status module#################################### Contact:# vincent.viallet@gmail.com# Zabbix requested parameter
ZBX_REQ_DATA="$1"
ZBX_REQ_DATA_URL="$2"# Nginx defaults
NGINX_STATUS_DEFAULT_URL="http://127.0.0.1/nginx_status"
WGET_BIN="/usr/bin/wget"## Error handling:# - need to be displayable in Zabbix (avoid NOT_SUPPORTED)# - items need to be of type "float" (allow negative + float)#
ERROR_NO_ACCESS_FILE="-0.9900"
ERROR_NO_ACCESS="-0.9901"
ERROR_WR>"-0.9902"