gpt4 book ai didi

system-administration - 如何在Zabbix代理上运行命令?

转载 作者:行者123 更新时间:2023-12-03 06:41:36 25 4
gpt4 key购买 nike

我想在 Zabbix 代理上运行命令:

  • 一些简单的 unix 命令,用于获取我们的报告数据。
  • 当代理端需要进行某些处理时。

似乎正在讨论多种方法。那么如何在 Zabbix Agent 上执行此类命令呢?

最佳答案

直接从新项目运行服务器命令。

首先,在代理配置文件中设置:EnableRemoteCommands=1(对于所有代理)。启用此功能。

创建一个新项目。 “新项目”页面上的字段显示“ key ”。输入:

system.run[command]

作为“key”字符串。其中 command 是您想要下载并在代理上运行的命令。这是一个例子:

system.run[sysctl dev.cpu.0.temperature | cut -d ' ' -f 2 | tr -d C]

也许您需要运行一些更复杂的东西,但太长而无法容纳?然后您将需要制作一个自定义脚本。将您的自定义脚本放在本地网络服务器或网络上的某个位置。

然后您可以将项目的键设置为:

system.run[ command -v script && script || wget script_url -O /path/to/script && script]

首次执行时获取缺少的脚本并将其下载到代理。然而,这是一个相当粗糙的黑客行为。不太优雅。

更好的方法是转到菜单中的“管理”-->“脚本”。从那里,您可以创建一个新脚本以在项目中使用,该脚本可以配置为在您的任何代理上运行。

制作一个特殊的自定义项目来定期重新运行脚本(如 cron 作业)。特殊脚本项的工作是使用您需要的其他自定义脚本的集合来更新代理。

当然,您可以将所有自定义脚本直接写入 zabbix 的 MYSQL 数据库中。这样做是非常诱人的。但请注意,如果您的 zabbix 数据库被损坏或损坏/丢失,它们就会丢失并容易受到攻击。 Zabbix 数据库总是有变得庞大、笨重和失控的习惯。所以不要这样做。将它们单独存储在其他地方并受版本控制(git 或 subversion)。

完成所有排序后,我们终于可以继续创建更多自定义项来运行您的自定义脚本。再次使用:

system.run[script]

像以前一样作为项目的键。其中“script”是命令(加上任何参数),用于在代理上本地执行自定义脚本。

关于system-administration - 如何在Zabbix代理上运行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24222086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com