Zabbix:监视子代生成率


3

我们已经设置了zabbix来监视我们的基础结构,而我们的安全团队拒绝我们通过zabbix运行自定义脚本。这使我们的生活更加难以找到不需要自定义脚本的解决方案。

我已经研究了一段时间了,我们如何才能监视子进程的生成速度,但是到目前为止还没有运气。

据我所知,zabbix检查不包括生成率检查,您能建议我们如何实现这一目标吗?


允许什么(Zabbix模块,system.run [],...)?您的Zabbix代理版本是什么?
Jan Garaj

允许使用zabbix模块,但不允许使用
system.run

Answers:


1

您需要多个fork-您可以使用vmstat -f(自启动以来的fork数量)获取它:

vmstat -f

但是您不能运行任何命令,因为安全性(我知道,他们的默认答案始终是:不,不可能:-D)。但是,您可以创建Zabbix模块,该模块将执行您的命令=>这不是一个聪明的主意。更好的选择是直接从内核计数器中读取派生数。您可以在cmd中进行测试(等效于vmstat -f):

cat /proc/stat | grep ^processes

您的Zabbix模块应该/proc/stat从该行开始读取,解析数字processes,然后Zabbix代理将其用作度量值。C开发人员的小菜一碟。请参见虚拟Zabbix模块,并对其进行扩展。

您需要一个速率,然后在Zabbix UI中配置项目并将其存储为Delta (speed per second),因此最终它将是forks / second。Zabbix可能还会处理溢出。性能将是惊人的,因为/ proc / stat不是真实文件,所以没有IOps。无需派生而仅需要CPU和内存。您也可以更改项目的更新间隔,并且结果率仍然正确。


感谢您提出此解决方案的建议,我们提出了类似的建议,因此安全性很高,我们也很高兴:)。我们的解决方案是在/etc/zabbix_agentd.conf中添加“ UserParameters”(创建了一个小外壳脚本来计算生成速率/秒),然后在zabbix服务器中添加新密钥。这样,zabbix只能执行/etc/zabbix_agentd.conf中添加的内容。我将您的回答标记为已接受。谢谢
hoisu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.