2019-03-05笔记—zabbix监控nginx

  1. 环境部署:在linux2019_2(zabbix-agent设备)上安装nginx环境测试
[root@linux2019_2 ~]# vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

[root@linux2019_2 ~]# yum install -y nginx
  1. 修改nginx配置文件
[root@linux2019_2 ~]# vi  /etc/nginx/conf.d/default.conf  #增加location配置
location /nginx_status 
{
        stub_status on;
        access_log   off;
        allow 127.0.0.1;
        deny all;
    }

测试

[root@linux2019_2 ~]# curl http://127.0.0.1/nginx_status
Active connections: 1 
server accepts handled requests
 9 9 9 
Reading: 0 Writing: 1 Waiting: 0 
[root@linux2019_2 ~]# curl http://127.0.0.1/nginx_status
Active connections: 1 
server accepts handled requests
 10 10 10 
Reading: 0 Writing: 1 Waiting: 0 

参数说明

字段 含义
Active Connections 当前活动连接数,其中也包括了等待状态的连接
accepts 接收到的连接数
handled 已经处理完的连接数,该数字一般和accepts一致,如果不一致那么说明Nginx出错了
requests 总共处理的请求数,一个连接可以有多个请求,所以该值比accpets要大
Reading 正在读取请求头信息的连接数
Writing 正在发送响应报文的连接数
Waiting 处于闲置状态,等待客户端发送请求的连接数
  1. 编写nginx状态监控脚本
[root@linux2019_2 ~]# ] vi /usr/local/sbin/ngx_status.sh  
#!/bin/bash
url="http://127.0.0.1/nginx_status"
curl=/usr/bin/curl

# 检测nginx进程是否存在
function ping {
    /sbin/pidof nginx | wc -l 
}
# 检测nginx性能
function active {
    $curl $url 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
function reading {
    $curl $url 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
function writing {
    $curl $url 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
function waiting {
    $curl $url 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $2}'
}
function requests {
    $curl $url 2>/dev/null| awk NR==3 | awk '{print $3}'
}
$1
  1. 修改配置文件/etc/zabbix/zabbix_agentd.conf ,来开启对脚本的调用
[root@linux2019_2 ~]# vim /etc/zabbix/zabbix_agentd.conf # 增加
UserParameter=nginx.status[*],/usr/local/sbin/ngx_status.sh $1
[root@linux2019_2 ~]# systemctl restart zabbix-agent

服务端zabbix_get测试

[root@linux2019 ~]#  zabbix_get -s 192.168.85.128 -k 'nginx.status[ping]'
1
[root@linux2019 ~]#  zabbix_get -s 192.168.85.128 -k 'nginx.status[accepts]'
116
  1. web界面导入模板,配置监控项

导入模板后,需要在监控主机中关联导入的模板
在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ai_benwoniu/article/details/88070504