您当前的位置:首页 > 计算机 > 服务器 > Nginx

zabbix中添加对nginx的监控

时间:03-09来源:作者:点击数:
写一个页面:

echo “123” >> /usr/local/nginx/html/index.html

启用nginx,在/usr/lcoal/nginx/sbin/下启动nginx

命令:./nginx

访问:curl localhost 或者 在页面上输入IP地址测试

问成功显示如下;

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to < a href="http://nginx.org/">nginx.org.

Commercial support is available at < a href="http://nginx.com/">nginx.com.

Thank you for using nginx.

123

在nginx的配置文件中,配置status模块

location = /nginx_status{ # 配置访问路径,即uri

stub_status on; # 开启该模块 其实只配置这一行就可以的

access_log off; # 关闭日志

allow 192.168.234.150; # 允许访问的ip,即白名单ip

allow 127.0.0.1;

deny all; # 拒绝白名单ip以外的ip访问

}

修改完配置后,检测一下配置文件是否正确

在/usr/local/nginx/sbin/下输入

命令:./nginx -t

然后重载一下nginx

命令:./nginx -s reload

启动nginx的status模块

在浏览器中输入:http://192.168.234.150/nginx_status

编写nginx_status.sh 的脚本,脚本内容如下;

#!/bin/bash
HOST="127.0.0.1"  
PORT="80"  
 
function ping {  
    /sbin/pidof nginx | wc -l  
}  
 
function active {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'  
}  
function reading {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'  
}  
function writing {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'  
}  
function waiting {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'  
}  
function accepts {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'  
}  
function handled {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'  
}  
function requests {  
    /usr/bin/curl "http://$HOST:$PORT/nginx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'  
}  
 $1 

把nginx_status.sh脚本移动到/etc/zabbix/zabbix_agentd.d这个目录下

注意脚本中的配置文件的nginx_status这个地方和nginx.conf中的自定义的监控模块的名字要是一致的

给这个脚本可执行的权限

chmod a+x nginx_status.sh

bash nginx_status.sh active

bash nginx_status.sh requests

然后修改zabbix_agentd.conf的配置文件,在这个配置文件中把脚本的内容关联上去

zabbix_agentd.conf这个脚本所在的目录/etc/zabbix

修改配置文件的内容如下;

UnsafeUserParameters=1

定义一个key和脚本的位置,key为nginx.status[*],脚本的位置在/etc/zabbix/zabbix_agentd.d/nginx_status.sh,$1是位置参数

UserParameter=nginx.status[*],/etc/zabbix/zabbix_agentd.d/nginx_status.sh $1

然后重新启动agent

service zabbix-agent restart

然后在zabbix的服务端,可以把nginx的模板导入进来(这个模板文件需要手动导入,下载的位置还需要确认一下)

点击配置,点击模板,点击导入

点击浏览,桌面上有一个文件叫做zbx_export_template.xml(这个文件需要去自己下载去)

然后再点击模板的时候,就会出现template app nginx的模板了

然后点击检测-图形,选择喜哥的服务器(参考你自己创建的主机名称),选择nginx的几个选项

其中有一个选项叫做,nginx_status_server

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门