Zabbix 5.0 LTS URL 健康监测

正文

更多细节详情看【zabbix官方文档

需求

Zabbix 的URL健康监测功能允许你检测 Web 地址是否可用、正常工作以及响应速度。这对于监控网站的可用性和性能非常有用。例如,你可以监控公司网站、API 端点或其他关键服务的 URL。

一、配置 Web 监测

步骤:配置 -- 主机 -- Web监测 -- 创建Web场景 -- 场景 -- 步骤 -- 添加

二、配置触发器

步骤:配置 -- 主机 -- 选择主机 -- 触发器 -- 创建触发器 -- 添加

触发器示例

表达式语法:
{<server>:<key>.<function>(<parameter>)}<operator><constant>

示例 1 www.zabbix.com 的处理器负载过高

{www.zabbix.com:system.cpu.load[all,avg1].last()}>5
'www.zabbix.com:system.cpu.load[all,avg1]' 给出了被监控参数的简短名称。
它指定了服务器是“www.zabbix.com”,监控项的键值是“system.cpu.load[all,avg1]”。
通过使用函数“last()”获取最新的值。最后,“>5”意味着当www.zabbix.com最新获取的处理器负载值大于5时触发器就会处于异常状态。

示例 2 www.zabbix.com 已超载

{www.zabbix.com:system.cpu.load[all,avg1].last()}>5 or
{www.zabbix.com:system.cpu.load[all,avg1].min(10m)}>2
当前处理器负载大于5或者最近10分钟内最小值大于2,表达式为true。

示例 3 /etc/passwd文件被修改

使用函数diff:
{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff()}=1
当文件/etc/passwd的checksum值与最近的值不同时,表达式为true
类似的,表达式可以用于监控重要文件的修改, 如/etc/passwd, /etc/inetd.conf, /kernel等

示例 4 有人正在从互联网上下载一个大文件

使用min函数:
{www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K
在过去5分钟内,eth0上接收字节数大于100kb时,表达式为true。

示例 5 SMTP服务群集的两个节点都停止。 注意在一个表达式中使用两个不同的主机:

{smtp1.zabbix.com:net.tcp.service[smtp].last()}=0 and {smtp2.zabbix.com:net.tcp.service[smtp].last()}=0
当SMTP服务器smtp1.zabbix.com和smtp2.zabbix.com都停止,表达式为true

示例 6 Zabbix agent需要升级

使用str()函数:
{zabbix.zabbix.com:agent.version.str("beta8")}=1
如果Zabbix agent版本是beta8(可能是1.0beta8),则表达式为真。

示例 7 服务器无法访问

{zabbix.zabbix.com:icmpping.count(30m,0)}>5
当主机“zabbix.zabbix.com”在30分钟内超过5次不可达,则表达式为真。

示例 8 3分钟内没有心跳检查

使用nodata()函数:
{zabbix.zabbix.com:tick.nodata(3m)}=1
要使用这个触发器,'tick'必须定义成一个Zabbix[:manual/config/items/itemtypes/trapper|trapper]]监控项。主机应该使用zabbix_sender定期发送这个监控项的数据。
如果在180秒内没有接收到数据,则触发值变为异常状态。
注释‘nodata’可以在任何类型的监控项中使用。

示例 9 夜间的CPU负载

使用time()函数:
{zabbix:system.cpu.load[all,avg1].min(5m)}>2 and {zabbix:system.cpu.load[all,avg1].time()}>000000 and {zabbix:system.cpu.load[all,avg1].time()}<060000
仅在夜间(00:00-06:00),触发器状态变可以变为真。

示例 10 检查客户端本地时间是否与Zabbix服务器时间同步

使用fuzzytime()函数:
{MySQL_DB:system.localtime.fuzzytime(10)}=0
当MySQL_DB服务器的本地时间与Zabbix server之间的时间相差超过10秒,触发器将变为异常状态。
posted @   讲文张字  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
返回顶部
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏