最新消息:欢迎加入小松的QQ群一起讨论一起学习,又一个双十一,剁手快乐

zabbix 监控nginx菜鸟版

其他分享 982浏览 0评论

原理:zabbix监控nginx是根据nginx的Stub Status模块,抓取Stub Status提供nginx的数据,然后拆分
首先要检查一下nginx 是否安装http_stub_status_module
rpm安装的用以下命令检查

nginx -V

源码安装的用以下命令检查

/usr/local/nginx/sbin/nginx -V

我这里是rpm安装的,请看图

nginx检查http_stub_status_module

如果没有安装,网上找一下nginx平滑添加模块

agent机子开始配置nginx_status

nginx添加配置

vi /usr/local/nginx/conf/nginx.conf
location /nginx_status
{
    stub_status on;
    access_log   off;
    allow 127.0.0.1;
    allow 192.168.171.22;  #(zabbix服务器的IP地址,一般是内网地址,当然也可以不加)
    deny all; 
}

把上面的代码放带可以ip访问的server里
我的nginx直接有这个代码不用修改
用ip访问一下
http://192.168.171.22/nginx_status

看我的访问结果

nginx_status页面显示

解释一下上面的结果
Active connections: 2 #对后端发起的活动连接数
server accepts #nginx 总共处理了23个连接
handled #成功创建了23次握手
requests #总共处理了120请求
Reading:0 #nginx读取客户端的header数
Writing: 1 #nginx 返回给客户端的header数
Waiting: 1 #nginx 请求处理完成,正在等待下一请求指令的连接

添加agentd监控nginx的脚本

脚本的内容就是访问http://192.168.171.22/nginx_status的结果拆分
脚本内容我共享出来
nginx_status.sh
这个脚本我放到了/etc/zabbix/scripts/目录下

nginx_status.conf

放到agent的配置目录下,也可以放到agent配置文件里

我放到/etc/zabbix/zabbix_agentd.d目录里(推荐)

也可以放到 /etc/zabbix/zabbix_agentd.conf
在服务端测试一下

zabbix_get -s 192.168.171.22 -k custom.nginx.connections.waiting

发现ZBX_NOTSUPPORTED: Unsupported item key.的错误

ZBX_NOTSUPPORTED: Unsupported item key
打开
vi /etc/zabbix/zabbix_agentd.conf
把参数UnsafeUserParameters修改成1
UnsafeUserParameters=1

重启一下agent服务器

service zabbix-agent restart

在执行

zabbix_get -s 192.168.171.22 -k custom.nginx.connections.waiting

发现
sh: /etc/zabbix/scripts/nginx_status.sh: 权限不够

权限不够
修改一下nginx_status.sh的权限

chmod 755 /etc/zabbix/scripts/nginx_status.sh

在测试一下就成功了

模板导入到zabbix web端

zabbix_template.xml

zabbix导入模板

然后使用这个模板

zabbix选择主机

zabbix添加模板

监控图

zabbix监控nginx图

如果不清楚请加群

QQ交流群:136351212

如无特别说明,本站文章皆为原创,若要转载,务必请注明以下原文信息:
转载保留版权:小松博客» zabbix 监控nginx菜鸟版
本文链接地址:https://www.phpsong.com/2063.html

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
木有头像就木有JJ!点这里按步骤申请Gravatar头像吧!