2018-12-05 监控案例3-监控Nginx

监控Nginx

监控指标


监控指标

步骤:

  1. 编写监控数据采集脚本
Nginx服务器
vi /etc/zabbix/zabbix_agentd.conf    ---把以前的内容删掉
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server=192.168.1.234    ---Zabbix-Server端
ListenPort=10050
ListenIP=192.168.1.110    ---Nginx服务器
ServerActive=192.168.1.234
Hostname=192.168.1.110
Include=/etc/zabbix/zabbix_agentd.d/*.conf
:wq
获取监控指标
vi /usr/local/nginx/conf/nginx.conf    ---在中间添加以下内容,查看nginx状态
  server {
    listen 8088;    ---和以前的配置区分开来
    server_name localhost;    ---名字可能冲突需要更换
    location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }
  }
:wq
/usr/local/nginx/sbin/nginx -s reload    ---重新加载nginx,如果服务本来没开启的话直接重新打开服务即可
netstat -anpt | grep 8088    监听是否生效,不生效的话可以尝试把nginx关掉再开启
[root@localhost conf]# curl http://127.0.0.1:8088/nginx_status
Active connections: 1     ---当前客户端的连接数
server accepts handled requests    ---已接受 已处理 客户端请求数
 5 5 3 
Reading: 0 Writing: 1 Waiting: 0    ---读 写 等待
编写监测脚本
mkdir /usr/local/zabbix_scripts
cd /usr/local/zabbix_scripts
vi nginx_status.sh
#!/bin/bash
#active    当前活动的客户端连接数,包括waiting连接数
#accepts    已接受的客户端连接数
#handled    已处理的连接总数
#requests  客户端请求的总数
#reading  正在读取请求头的当前连接数
#writing  将响应写回客户端的当前连接数
#waiting  等待请求空闲客户端的当前连接数

result="/usr/bin/curl -s http://127.0.0.1:8088/nginx_status"
case $1 in
  active)
    $result | awk '/Active/ {print $NF}'
  ;;
  accepts)
    $result | awk 'NR==3 {print $1}'
  ;;
  handled)
    $result | awk 'NR==3 {print $2}'
  ;;
  requests)
    $result | awk 'NR==3 {print $3}'
  ;;
  reading)
    $result | awk '/Reading/ {print $2}'
  ;;
  writing)
    $result | awk '/Writing/ {print $4}'
  ;;
  waiting)
    $result | awk '/Waiting/ {print $6}'
  ;;
  *)
    echo "No this result."
esac
:wq
chmod +x nginx_status.sh
vi /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
DebugLevel=3
Server=192.168.1.234    ---Zabbix服务器的IP地址
ListenPort=10050
ListenIP=192.168.1.110    ---本机IP地址
ServerActive=192.168.1.234
Hostname=192.168.1.110
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UserParameter=nginx.status[*],/usr/local/zabbix_scripts/nginx_status.sh $1
:wq
systemctl restart zabbix-agent
Zabbix-Server端
[root@localhost ~]# zabbix_get -s 192.168.1.110 -p 10050 -k 'nginx.status[active]'    ---这个zabbix_get是用yum安装的,源码安装的话前面要加上具体路径
1
[root@localhost ~]# zabbix_get -s 192.168.1.110 -p 10050 -k 'nginx.status[accepts]'
22
  1. 创建模板
创建模板
image.png
创建监控项
创建监控项
创建图形
创建图形
创建图形

剩下的几项也是用同样的方法添加进去

  1. 将运行Nginx的主机关联模板
添加模板
添加模板
模板监控成功

你可能感兴趣的:(2018-12-05 监控案例3-监控Nginx)