当前位置: 首页 > news >正文

Zabbix6.0自定义监控项

文章目录

    • 一、自定义监控整体流程
    • 二、自定义监控案例
      • 1、监控TCP 443端口案例
      • 2、监控服务器异地登入(带参监控项)

一、自定义监控整体流程

操作端流程备注
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=$1if (nc -z localhost $checkPort);thenecho "1" # 存在返1
elseecho "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后自动恢复!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • [Algorithm][动态规划][01背包问题][目标和][最后一块石头的重量Ⅱ]详细讲解
  • win10文件夹.git或者文件被隐藏的开启姿势
  • Halcon 双相机标定与拼图(一)
  • 内存管理--3.用幻灯片讲解C++手动内存管理
  • memory动态内存管理学习之unique_ptr
  • 探究Vue源码:深入理解diff算法
  • Codeforces Round 950 (Div. 3)
  • Zemax中FFT PSF和惠更斯PSF的区别?
  • GA/T 1400视频汇聚平台EasyCVR级联后,平台显示无通道是什么原因?
  • 【JavaScript脚本宇宙】创造声音的魔法:深入了解Web音频处理库
  • Spring Data Jpa 实现批量插入或更新
  • 【职业思考】程序员应该有什么职业素养?
  • 怎么排查native层的bug
  • DevOps后时代,构建基于价值流的平台化工程
  • f-stack和DPDK
  • C# 免费离线人脸识别 2.0 Demo
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • Java多态
  • leetcode386. Lexicographical Numbers
  • magento2项目上线注意事项
  • MySQL几个简单SQL的优化
  • python大佬养成计划----difflib模块
  • storm drpc实例
  • Vue UI框架库开发介绍
  • 大型网站性能监测、分析与优化常见问题QA
  • 分享几个不错的工具
  • 服务器之间,相同帐号,实现免密钥登录
  • 区块链将重新定义世界
  • 使用docker-compose进行多节点部署
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • 阿里云API、SDK和CLI应用实践方案
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 执行时间 统计mysql_一文说尽 MySQL 优化原理
  • $(this) 和 this 关键字在 jQuery 中有何不同?
  • (007)XHTML文档之标题——h1~h6
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (转)Sql Server 保留几位小数的两种做法
  • (转)关于如何学好游戏3D引擎编程的一些经验
  • .NET 4.0中的泛型协变和反变
  • .net wcf memory gates checking failed
  • .net 使用ajax控件后如何调用前端脚本
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.
  • .NET单元测试
  • .NET导入Excel数据
  • .net通过类组装数据转换为json并且传递给对方接口
  • 。。。。。