Zabbix监控Nginx运维操作笔记。
一、开启Nginx的Status页。
- location /ngx_status
- {
- stub_status on;
- access_log off;
- #allow 127.0.0.1;
- #deny all;
- }
二、复制以下运维脚本。
- #!/bin/bash
- # DateTime: 2015-10-25
- HOST="127.0.0.1"
- PORT="80"
- # 检测nginx进程是否存在
- function ping {
- /sbin/pidof nginx | wc -l
- }
- # 检测nginx性能
- function active {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
- }
- function reading {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
- }
- function writing {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
- }
- function waiting {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
- }
- function accepts {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
- }
- function handled {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
- }
- function requests {
- /usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
- }
- # 执行function
- $1
将上述脚本保存为“ngx_status.sh”。
三、添加自定义文件。
- UserParameter=nginx.status[*],/app/scripts/ngx-status.sh $1
四、Zabbix Server测试
- zabbix_get -s 192.168.0.229 -k nginx.status[active]
♥♥♥♥♥导入模板。模板中的某些值是差值,要注意哦。
本文转自《运维生存时间》,波波在此向原作者表示感谢。