目录

前一篇文章:使用zabbix监控主机的运行状况(上)-CSDN博客

前两篇文章:使用zabbix监控主机的运行状况(上)-CSDN博客​​​​​​  

十二、zabbix的自动发现功能

当zabbix的被监控设备非常多的时候,手工添加将会非常不方便。此时可以使用zabbix的自动发现功能,来实现添加主机、添加到主机组、 链接模板。

1、创建自动发现规则:点击“配置--自动发现--创建发现规则”,配置以下参数

1)名称:add_hosts

2)由agent代理程序自动发现:没有agent代理程序

3)IP范围:192.168.88.1-254

4)更新间隔:2m

5)检查:添加--SSH--端口范围22

6)主机名称:IP地址

7)可见的名称:IP地址

2、创建发现动作:点击“配置--动作--Discovery actions”,配置以下参数

1)名称:web_discovery

2)条件:主机IP地址;等于;192.168.88.1-254

3)操作:添加到主机群组 Linux servers;链接到模板Linux by Zabbix agent

3、在web2上配置zabbix-agent

1)修改配置文件:vim /etc/zabbix/zabbix_agentd.conf

117    Server=127.0.0.1,192.168.88.3

182    Hostname=web2

2)开启服务:systemctl enable zabbix-agent.service --now

4、验证效果:点击“配置--主机”,查看192.168.88.12是否已自动添加。

十三、主动监控

zabbix默认使用的是被动监控,即server向agent发起请求,索取监控数据。我们也可以设置主动监控,由agent主动向server发起连接,向server汇报数据。

1、配置web2使用主动监控

1)修改配置文件,只使用主动监控:vim /etc/zabbix/zabbix_agentd.conf

117    #Server=127.0.0.1,192.168.88.5

142    StartAgents=0

171    ServerActive=192.168.88.5

182    Hostname=web2

242    RefreshActiveChecks=120

2)重启服务后,10050端口号将会消失:systemctl restart zabbix-agent.service

2、创建用于主动监控的主机:点击“配置--主机--创建主机”,完成以下配置

1)名称:web2

2)模板:Linux by Zabbix agent active

3)群组:Linux servers

3、验证:点击“监测--最新数据”,选择“web2”,查看监控状况。

十四、监控Nginx

zabbix还可以用于实时监控nginx的网络连接,需要用到stub_status模块,以下操作均在web1上进行。

1、修改nginx配置文件:vim /etc/nginx/nginx.conf

 47    location / {
 48    }
 49
 50    location /status {   # 在此处添加3行
 51        stub_status on;
 52    }   
 53     
 54    error_page 404 /404.html;
 55        location = /40x.html {
 56    }

2、重启nginx服务,然后访问监控页面,会出现以下反馈:curl http://192.168.88.100/status

Active connections: 1
server accepts handled requests
2 2 2
Reading: 0 Writing: 1 Waiting: 0

#Active connections:当前客户端与nginx之间的连接数。它等于下面Reading / Writing / Waiting之和
#accepts:自nginx启动之后,客户端访问的总量
#handled:自nginx启动之后,处理过的客户端连接总数,通常等于accepts的值。
#requests:自nginx启动之后,处理过的客户端请求总数。
#Reading:正在读取客户端的连接总数。
#Writing:正在向客户端发送响应的连接总数。
#Waiting:空闲连接。

3、编写脚本,用于获取各项数据:vim /usr/local/bin/nginx_status.sh

#!/bin/bash

case $1 in
active)
    curl -s http://192.168.88.11/status | awk '/Active/{print $NF}';;
waiting)
    curl -s http://192.168.88.11/status | awk '/Waiting/{print $NF}';;
accepts)
    curl -s http://192.168.88.11/status | awk 'NR==3{print $1}';;
esac

4、创建key值,获取监控数据

1)创建声明key的文件:vim /etc/zabbix/zabbix_agentd.d/nginx_status.conf

UserParameter=nginx_status[*],/usr/local/bin/nginx_status.sh $1

2)重启服务后测试:zabbix_get -s 127.0.0.1 -k nginx_status[active]

5、在zabbix后台添加监控项,键值选择“nginx_status[active/waiting/accepts]”,然后查看最新数据。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐