zabbix-监控nginx
程序员文章站
2022-07-11 11:40:57
...
1.nginx七种status详解
- Active:活跃的连接数量
- accepts:总共处理了多少个连接
- handled:成功创建多少次握手
- requests:总共处理了多少个请求
- Reading:读取客户端的链接数
- Writing:响应数据到客户端的数量
- Waiting:开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.
2.在zabbix-02上部署nginx。
2.1使用yum源安装(重点不是nginx安装)
[root@zabbix-02 ~]# yum install nginx -y(先装epel源)
[root@zabbix-02 ~]# cat /etc/nginx/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.liang.com;
location /nginx_status {###开启状态模块
stub_status on;###
}
location / {
root /var/www/html;
index index.html index.htm;
}
}
}
2.2测试
[aaa@qq.com02 ~]# tail -1 /etc/hosts
10.0.0.8 www.liang.com
[aaa@qq.com02 ~]# curl http://www.liang.com/nginx_status
Active connections: 1
server accepts handled requests
167 167 173
Reading: 0 Writing: 1 Waiting: 0
3.编写脚本,授权
3.1脚本内容
[aaa@qq.com02 ~]# cat /server/scritp/nging_monitiring.sh
#!/bin/bash
Host=www.liang.com
Port=80
Cache_status="/server/scritp/status.txt"
Status_message="/server/scritp/status_test.txt"
curl http://${Host}:${Port}/nginx_status > ${Status_message} 2>/dev/null
if [ ! -f "$Cache_status" ];then
cat "$Status_message" > $Cache_status 2>/dev/null
fi
Status_time=`stat -c %Y $Cache_status`
Date=`date +%s`
if [ `expr $Date - $Status_time` -gt 60 ];then
> $Cache_status
cat $Status_message > $Cache_status 2>/dev/null
fi
nginx_active(){
grep -i "active" $Cache_status|awk '{print $NF}'
}
nginx_reading(){
grep -i "Reading" $Cache_status|awk '{print $2}'
}
nginx_writing(){
grep -i "Writing" $Cache_status|awk '{print $4}'
}
nginx_waiting(){
grep -i "Waiting" $Cache_status|awk '{print $NF}'
}
nginx_accepts(){
awk 'NR==3{print $1}' $Cache_status
}
nginx_handled(){
awk 'NR==3{print $2}' $Cache_status
}
nginx_requests(){
awk 'NR==3{print $3}' $Cache_status
}
$1
3.2对脚本及文件授权
[root@zabbix-02 ~]# chown -R zabbix:zabbix /server/
4.自定义key
[root@zabbix-02 ~]# cat -n /etc/zabbix/zabbix_agentd.d/nginx_monitoring.conf
1 UserParameter=nginx_monitoring[*],bash /server/scritp/nging_monitiring.sh $1
[root@zabbix-02 ~]# systemctl restart zabbix-agent
5.zabbix-server测试
[root@zabbix ~]# for i in requests handled accepts waiting writing reading active ;do zabbix_get -s 10.0.0.8 -k nginx_monitoring[nginx_${i}];done
212
206
206
0
1
0
1
6.zabbix-web界面操作
6.1创建模板
6.2创建监控项
6.3创建主机
6.4查看
上一篇: 【阅读笔记】JavaScript 高级程序设计(四)
下一篇: QT客户端及服务器端的连接及数据发送