zabbix告警页面sql语句

该博客详细介绍了用于获取Zabbix告警列表的SQL查询语句,重点关注未被确认且状态正常的严重级别在警告以上的事件。查询涉及到触发器、函数、物品、主机和主机组等多个表的联接操作,同时排除了权限不足和已确认的告警。告警严重程度从0到5,分别代表未分类、信息、警告、平均、高和灾难级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 zabbix告警列表的sql语句。

select b.priority bpriority,concat(f.groupid,'') as hstgrpId,concat(e.hostid,'') as hostid,e.name hostName,a.name errMsg from (  
		select * from problem p   
		where p.r_eventid is null and p.source =0 and p.object=0 and  p.severity in (3, 4, 5)   
		and NOT EXISTS (  
			select 1 FROM functions f,items i,hosts_groups hgg  
			left JOIN rights r ON r.id=hgg.groupid and r.groupid=13  
			WHERE p.objectid=f.triggerid  
			AND f.itemid=i.itemid  
			AND i.hostid=hgg.hostid  
			GROUP BY i.hostid  
			HAVING MAX(permission) < 2  
			OR MIN(permission) IS NULL  
			OR MIN(permission)= 0 )  
		and not exists(  
			select 1 from acknowledges a WHERE p.eventid=a.eventid  )  
        order by p.name desc  
) a inner join  (  
		select * from triggers t   
		where not exists(  
			SELECT 1  
			FROM functions f,items i,hosts h   
			WHERE t.triggerid=f.triggerid AND f.itemid=i.itemid  
			AND i.hostid=h.hostid AND (i.status<>0 OR h.status<>0)  
		) and t.status= 0  
) b on b.triggerid = a.objectid  
inner join functions c on b.triggerid=c.triggerid  
inner join items d on c.itemid=d.itemid  
inner join hosts e on d.hostid=e.hostid  
inner join hosts_groups f on f.hostid=d.hostid  
where b.priority>=3

其中bpriority严重程度的枚举值:

      0  Not classified
      1  Information
      2  Warning
      3  Average
      4  High
      5  Disaster

### 如何阻止 Zabbix 发送已删除的告警邮件 为了防止 Zabbix 继续发送已经不再有效的告警邮件,可以调整配置来控制触发器的动作以及媒体类型的设置。 在 Zabbix 中管理告警的方式要包括修改触发器条件和动作设置: - **禁用或移除旧的触发器**:对于那些不再需要监控的对象,应该及时更新对应的触发器状态。可以通过图形界面导航到相应的机下找到具体的触发器并将其设为“关闭”或者直接删除这些触发器[^1]。 - **编辑现有的动作(Action)**:进入Zabbix前端页面中的“配置 -> 动作”,查看是否有针对特定事件创建的通知机制。如果有不需要的操作,则可以选择编辑该条目,在操作标签页里取消勾选任何不必要的通知方式,比如电子邮件通知等。 另外一种方法是从根本上解决这个问题——即通过优化数据库查询语句过滤掉历史记录里的过期数据项。这涉及到更复杂的后台处理逻辑,一般情况下推荐前两种更为直观简便的做法。 最后值得注意的是,如果确实希望彻底停止所有的自动报警功能一段时间,可以在全局层面暂停所有动作执行。具体做法是在上述提到的动作列表视图中批量选择要停用的动作,并应用变更。 ```sql UPDATE actions SET status=0 WHERE name LIKE '%specific action%'; ``` 此SQL命令会将指定名称模式下的所有动作的状态改为未激活(假设`status=0`表示未激活),从而达到临时抑制目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值