zabbix监控nginx

zabbix监控nginx

   张吉吉     2019年11月27日 05:09     1819    

1、配置nginx

监控nginx是zabbix去请求nginx的统计链接后,获取统计模块返回的数据,然后实现nginx的监控,所以需要添加http_stub_status_module模块。

在server模块中添加下边字段

location ~ /status$ {

        stub_status on;

#打开统计模块;

        allow 192.168.0.0/24;

        #允许访问统计链接的主机;

        deny all;

        #其余主机拒绝访问;

}

添加好后,需要重启或者加载nginx

service nginx restart/reload

1.png

 

2、在zabbix-agent中添加信息

(1)配置文件

和监控其他组件一个道理,需要在配置文件中添加监控信息。

在被监控的主机上的zabbix-agent.conf中添加以下字段:

Include=/etc/zabbix/zabbix_agentd.d/*.conf

让zabbix-agent可以加载zabbix_agentd.d/*.conf的文件

在/etc/zabbix/zabbix_agentd.d中添加userparameter_nginx.conf文件

加入下边语句:

UserParameter=nginx_status[*],/bin/bash /etc/zabbix/scripts/nginx_status.sh "$1"

 

(2)添加脚本

因为上边语句是在/etc/zabbix/scripts目录中读取的脚本,所以我将在/etc/zabbix/scripts中创建文件nginx_status.sh,并将下边内容写入文件。

脚本的大概意思就是去访问配置好的nginx status的地址,然后获取对应的数据。

#!/bin/bash

port=8800

ip=192.168.0.215

get_address="http://"${ip}":"${port}"/status"

nginx_active() {

   curl -s $get_address|grep "Active"|awk '{print $3}'

}

nginx_reading() {

   curl -s $get_address |grep "Reading"| awk '{print $2}'

}

nginx_writing() {

   curl -s $get_address |grep "Writing"|awk '{print $4}'

}

nginx_waiting() {

   curl -s $get_address |grep "Waiting"|awk '{print $6}'

}

nginx_accept() {

   curl -s $get_address |awk 'NR==3{print $1}'

}

nginx_handled() {

   curl -s $get_address |awk 'NR==3{print $2}'

}

nginx_requests() {

   curl -s $get_address |awk 'NR==3{print $3}'

}

case $1 in

    active)

        nginx_active;

    ;;

    reading)

        nginx_reading;

    ;;

    writing)

        nginx_writing;

    ;;

    waiting)

        nginx_waiting;

    ;;

    accept)

        nginx_accept;

    ;;

    handled)

        nginx_handled;

    ;;

    requests)

        nginx_requests;

    ;;

    *)

esac

(3)重启zabbix-agent

service zabbix-agent restart

 

3、在zabbix server上测试

使用命令

zabbix_get –s 192.168.0.215 –k nginx_status[writing]

nginx_status[键值],输入对应的键值即可获取对应的数据

示例:

2.png

 

4、在zabbix server上添加监控

(1)在configuration中的Templates添加模板

3.png

4.png

(2)添加应用集

5.png

(3)创建监控项

6.png

7.png

(4)定义图形

8.png

最后在从主机中添加此模板即可。


文章评论

0

其他文章