Zabbix - 跟踪配置文件

时间:2016-05-05 18:45:41

标签: zabbix

我想跟踪一个配置文件的更改。这样做的原因是多个用户访问它以解决不同的问题,但是不时的修复会破坏其他问题。 Zabbix中的diff函数显示文件已更改,但我希望Zabbix也跟踪更改的内容。是否有一系列触发器可以让我这样做?任何帮助是极大的赞赏。

2 个答案:

答案 0 :(得分:1)

您是否在项目中存储文件校验和或内容?无论如何,没有内置的方法可以做到这一点,但你可以用脚本来实现它。

如果是校验和,则需要一种方法来存储以前的版本,新版本并运行diff命令。最简单的是用户参数,它将在文件的临时副本和当前副本之间进行差异,然后将当前文件复制到临时副本上。在这种情况下,您可以将diff结果直接存储在项目中,并且您的触发器将检查最后一个值是否为空字符串。有关用户参数的详细信息,请参阅https://www.zabbix.com/documentation/3.0/manual/config/items/userparameters

如果您已经存储了文件内容,可能您想要重复使用它们。这会有点复杂,因为每当新值到达时你都必须启动脚本 - 也许一个特殊的触发器可以启动一个动作来比较最后两个值(可能使用API​​),然后推送结果在另一个具有另一个触发器的项目中除非你有充分的理由这样做,否则我选择第一种方法。

答案 1 :(得分:0)

从文件中删除副本

file.txt.copy或类似的东西。使此文件只能由zabbix写入。

在zabbix上创建一个项目并触发,以检查文件何时被更改(使用diff或校验和)

在zabbix上创建一个操作以执行

的脚本

1 - file.txt和file.txt.copy之间的差异,并将此差异发送到您的电子邮件

2 - 将file.txt复制到file.txt.copy,以便下次文件更改时可以进行diff。

使用脚本创建操作。 在zabbix上创建一个动作。转到“操作”选项卡。从选项中选择“远程命令”。 选择自定义脚本。 将脚本放在整个路径和arg的位置。

样品

/opt/script/my_script.sh

用户zabbix必须具有破坏脚本的权限。

Zabbix docs