zabbix监控nginx,tcp状态

文章目录

    • zabbix监控nginx状态
      • 1、nginx虚拟主机配置
      • 2、编写监控项采集脚本
      • 3、配置文件定义监控项
      • 4、zabbix_get 测试
      • 5、创建模板
      • 6、应用模板,查看图形
    • zabbix监控tcp状态
      • 1、配置
      • 2、测试

zabbix监控nginx状态

1、nginx虚拟主机配置

server{
    listen 80;
    server_name www.stub.com;
    location /stub_status {
        stub_status on;
    }
}

测试
zabbix监控nginx,tcp状态_第1张图片

2、编写监控项采集脚本

#!/bin/bash
#active   当前活动的客户端连接数,包括waiting连接数
#accepts  已接受的客户端连接数
#handled  已处理的连接总数
#requests 客户端请求的总数
#reading  正在读取请求头的当前连接数
#writing  将响应写回客户端的当前连接数
#waiting  等待请求空闲客户端的当前连接数

result="/usr/bin/curl -s 127.0.0.1/stub_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 "USAGE:$0 {active|reading|writing|waiting|accepts|handled|requests}"
esac

3、配置文件定义监控项

#vim /etc/zabbix/zabbix_agentd.conf
#添加下面这行
UserParameter=nginx.status[*],/bin/bash /data/script/nginx_status.sh $1

#重启服务
systemctl restart zabbix-agent.service

4、zabbix_get 测试

zabbix监控nginx,tcp状态_第2张图片

5、创建模板

zabbix监控nginx,tcp状态_第3张图片

创建监控项
zabbix监控nginx,tcp状态_第4张图片
zabbix监控nginx,tcp状态_第5张图片

创建图形

zabbix监控nginx,tcp状态_第6张图片

6、应用模板,查看图形

zabbix监控nginx,tcp状态_第7张图片
zabbix监控nginx,tcp状态_第8张图片

zabbix监控tcp状态

详细步骤可参照监控nginx的操作,这里只记录不同的地方

1、配置

vim /etc/zabbix/zabbix_agentd.conf

UserParameter=tcp.status[*],ss -antp | awk '{s[$$1]++};END{print s["'$1'"]}'

#重启服务
systemctl restart zabbix-agent.service

2、测试

zabbix监控nginx,tcp状态_第9张图片

你可能感兴趣的:(nginx,linux,运维,服务器)