请教各位:zabbix 如何进行日志采集或者是命令输出内容的采集
采集了以后是如何显示在zabbix页面上的尼?
比如我想查询CPU排前10的进程
ps aux --sort=-%cpu | head -n 11 | awk '{if(NR>1)print $2,$3,$4,$11}'
想把这个命令的输出 直接显示在ZABBIX上
我试过监控项选择信息类型为文本,然后在 zabbix上显示
这样显示就很奇怪,看不懂,并不是非常格式化的显示,有没有什么方法可以实现格式化显示内容??还有就是信息类型选择文本不能为这个监控项创建图形是正常的吗
该回答引用GPTᴼᴾᴱᴺᴬᴵ
您可以使用 Zabbix 的 "Zabbix Sender" 或 "Zabbix Agent" 来收集日志或命令输出内容,并将其发送到 Zabbix 服务器进行监控。
-
为了实现格式化显示内容,您可以尝试使用 "Zabbix Trapper" 或 "Zabbix Agent" 来将输出内容格式化成 JSON 或 XML 格式,然后在 Zabbix 上使用 "JSON Path" 或 "XML Path" 来解析和显示数据。
-
关于信息类型选择文本不能为监控项创建图形的问题,这是因为 Zabbix 中的图形需要监控项返回数字数据。您可以尝试将命令输出内容转换成数字格式,并使用 Zabbix 的 "Zabbix Trapper" 或 "Zabbix Agent" 将其发送到 Zabbix 服务器。然后您就可以在 Zabbix 上创建一个新的监控项,并使用这个监控项来创建图形了。
查询了一下,具体配置,你最好参考一下站内文章,https://blog.csdn.net/QiaoRui_/article/details/78340715
具体操作方案的话可以参考一下下面这3个,部分观点来自ChatGPT
通过Zabbix自带的UserParameter功能来对日志或者命令输出内容进行采集,它可以将自定义命令的输出结果转换成Zabbix可以识别的数据类型,以便在Zabbix页面上显示。
在Zabbix的配置文件中,可以通过UserParameter配置参数,该参数可以设置要采集的日志文件的路径或者命令,以及将日志文件或者命令的输出结果转换成Zabbix可以识别的数据类型,例如,可以转换成字符串、整数、浮点数等。
在Zabbix的监控页面中,可以添加监控项,设置采集日志文件或者命令的输出结果,以及把采集到的数据显示在Zabbix页面上。