Zabbix6.0自定义监控项

一、自定义监控整体流程

操作端 流程 备注
Agent端 1️⃣ linux:通过命令、脚本取出对应的值
2️⃣ linux:根据zbx要求按照格式、编写配置文件、创建键值 键值key用于获取客户端数据
3️⃣ linux:重启zabbix-agent
Server端 4️⃣ linux:服务端测试键值是否可用 zabbix_get命令测试
5️⃣ web页面:创建监控项
6️⃣ web页面:创建图形(可选)
7️⃣ web页面:创建触发器(可选)
8️⃣ web页面:测试

二、自定义监控案例

1、监控TCP 443端口案例

PS:此案例只是练习自定义监控流程,仅此而已,监控TCP端口一般使用zabbix自带的 net.tcp.listen[port] 键值实现起来更方便!

1、编写脚本取出对应的值

使用nc命令来判断端口是否可以建立连接,所以先安装nc命令:

yum -y install nc

编写脚本取出对应的值

mkdir /etc/zabbix/zabbix6.0/shell
vi /etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh

#!/bin/bash
checkPort=$1

if (nc -z localhost $checkPort);then
	echo "1" # 存在返1
else
	echo "0" # 不存在返0
fi

赋予执行权限

chmod +x /etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh

2、创建键值

修改zabbix_agentd.conf配置文件

vim /usr/local/conf/zabbix_agentd.conf
# 添加
Include=/usr/local/conf/zabbix_agentd/*.conf
# 追加16.32.15.0/24,不然无法使用zabbix_get命令(16.32.15.0/24修改为自己的IP网段或者0.0.0.0/0全部放开)
Server=10.10.10.0/24,16.32.15.0/24

创建键值

vim /usr/local/conf/zabbix_agentd/tcp_port.conf
# UserParameter=key,cmd(固定格式)
UserParameter=tcp.port.443,/etc/zabbix/zabbix6.0/shell/tcpPortCheck.sh 443

3、重启zabbix-agent

systemctl restart zabbix-agent

4、服务端测试键值是否可用

zabbix_get -s 16.32.15.115 -k tcp.port.443

5、创建监控项

在这里插入图片描述

  • 历史数据保留时长:每个更新间隔获取到的数据,占用空间比较大,推荐设置60d
  • 趋势数据保留时长:记录数据变化的趋势,占用空间较小,推荐保留365d

在这里插入图片描述

这里端口不通是属于正常情况,我本地并没有443端口!

6、创建图形

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
在这里插入图片描述

在这里插入图片描述

查看最新数据

在这里插入图片描述

在这里插入图片描述

如上图可以很清晰的观察到443端口在那个时间点Down了

7、创建触发器

触发器的作用是:当满足触发器的条件时,将触发报警通知。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

8、测试

运行Nginx容器来占用443端口

docker run -itd --name nginx -p 443:80 nginx

将Nginx容器停止后,zabbix页面就会报警,如下图:

docker stop nginx

在这里插入图片描述

启动Nginx后,报警则会恢复,如下图:

docker start nginx

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2、监控服务器异地登入(带参监控项)

1、使用命令获取最近一次登入IP地址

lastlog |grep -w root|awk '{print $3}'

2、创建键值

vim /usr/local/conf/zabbix_agentd/user_login.conf
UserParameter=user.login[*],lastlog |grep -w "$1"|awk '{print $$3}'

小细节:如果使用自定义键值传参,awk取列的时候要使用$$列,如果没有使用传参,正常使用awk即可!

3、重启zabbix-agent

systemctl restart zabbix-agent

4、服务端测试

# 获取root用户最后一次登入IP地址
zabbix_get -s 16.32.15.115 -k user.login[root]
# 获取qinzt用户最后一次登入IP地址
zabbix_get -s 16.32.15.115 -k user.login[qinzt]

5、添加监控项,监控root用户是否异地登入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6、创建触发器

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

7、测试

使用其他IP地址登入root用户,查看页面告警

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

如上图,已经触发了告警通知,但是这个告警等待10s后会自动恢复,原因是在恢复表达式填写逻辑是 与上次IP对比一致即可恢复,而监控项是10s取一次,所以10s后自动恢复!

相关推荐

  1. linux系统zabbix监控定义监控

    2024-06-10 15:08:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-10 15:08:03       8 阅读
  2. 【Python教程】压缩PDF文件大小

    2024-06-10 15:08:03       9 阅读
  3. 通过文章id递归查询所有评论(xml)

    2024-06-10 15:08:03       10 阅读

热门阅读

  1. python使用关联规则来分析数据

    2024-06-10 15:08:03       9 阅读
  2. 【蓝桥杯】C语言常见高级算法

    2024-06-10 15:08:03       10 阅读
  3. 【leetcode】hot100 哈希表

    2024-06-10 15:08:03       6 阅读
  4. C-Linux: 题集

    2024-06-10 15:08:03       6 阅读
  5. 【DevOps】开源的sd-wan软件介绍和对比分析

    2024-06-10 15:08:03       10 阅读
  6. 词向量对模型performance的影响

    2024-06-10 15:08:03       7 阅读
  7. Linux磁盘与文件系统管理

    2024-06-10 15:08:03       7 阅读
  8. 需求记录(共享元素)

    2024-06-10 15:08:03       9 阅读
  9. Vue3 组合式 API:依赖注入(四)

    2024-06-10 15:08:03       4 阅读
  10. 贪心算法03(leetcode1005,134,135)

    2024-06-10 15:08:03       9 阅读
  11. web前端三大主流框架

    2024-06-10 15:08:03       4 阅读
  12. C++中的if constexpr

    2024-06-10 15:08:03       7 阅读
  13. 驱动开发MISC 杂项驱动

    2024-06-10 15:08:03       7 阅读
  14. 自建 Docker 镜像

    2024-06-10 15:08:03       7 阅读