我监测大约。10台Linux服务器,每个服务器有4个CPU核,每个服务器都带有Zabbix。
最近我收到了许多来自“处理器负载太高”触发的错误警报。
“处理器负载太高”触发表达式是:
{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5 这是默认的。
然后我提高了5到12,以获得较少的警报,但不知怎的认为这不是最好的方式来处理它。因此,我做了一些谷歌,并建立了一个新的触发器。
{Template OS Linux:system.cpu.util[,user].max(5m)}>75我会问社区:
我学习了一些文章中的例子,并尝试了
({Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>3
&
{Template OS Linux:system.cpu.util[,user].max(5m)}>75)但我失败了。
Zabbix服务器返回错误:
不正确的触发表达式。从“& {Template OS Linux:system.cpu.util、用户.max(5m)}>75)".开始检查表达式部分”
因为我不是Zabbix的高级别专家(目前为止),这些评论将得到极大的认可。谢谢。
发布于 2014-11-21 08:34:01
为什么在你的情况下“处理器负载太高”的错误警报?这是我真正的症状- CPU饱和了。
IMHO:只使用
{Template OS Linux:system.cpu.load[percpu,avg1].avg(5m)}>5 但是阈值取决于您的服务器--它是做什么的,是怎么做的。但>5值对我来说是可疑的。示例: CPU使用率可能很低,但CPU负载很高--在这种情况下,它可能是“缓慢”IO磁盘操作的症状(您需要检查CPU iowait使用率、磁盘队列长度、.)。新的组合触发器表达式无法捕捉到这种情况。
我推荐关于Netflix:http://www.brendangregg.com/usemethod.html高级性能架构师使用/饱和的文章
发布于 2017-08-21 02:35:40
我建议你这样做:
{Template OS Linux:system.cpu.load[percpu,avg15].avg(15m)}>1.8目的是你希望在你的警报器上更慢的响应时间,而不是提高到一个更高的阈值。通常,在5到10分钟后清除的大量活动并不是什么大问题,这可能是完全正常的,这取决于你在那里做什么。但是,如果重负载持续了相当长的时间,那么您就需要了解它。根据您的典型工作负载的不同,调整这个阈值1.8向上或向下一点。
就你在这里的表达而言:
{Template OS Linux:system.cpu.util[,user].max(5m)}>75我不建议在这个上下文中使用max()函数,因为它对高活动的瞬间爆发都很敏感.除非这是你真正想要的,但不要抱怨收到了很多警告。
最后,是的,您可以使用布尔表达式,并且有一个文档页面可以帮助您。看看这个:
https://www.zabbix.com/documentation/3.2/manual/config/triggers/expression#operators
https://serverfault.com/questions/645760
复制相似问题