🙏请问下,我的n9e监控了40台主机,当某个主机磁盘空间达到80%时,就要进行磁盘清理。那么ibex的自愈脚本的host中如何填写?

Viewed 354

请问下,我的n9e监控了40台主机,当某个主机磁盘空间达到80%时,就要进行磁盘清理。那么ibex的自愈脚本的host中如何填写?
如果host里填写40台主机的名称,则会有报错,提示 Error 1406: Data too long for column "host' at row 1 (行内内容太长了)。
image.png
image.png
7203c6d3dc80009ef086517aff25054.png

1 Answers

结论

自愈脚本里,不用写 Host。

原理

监控系统告警,产生告警事件,告警事件中会自动产生 TargetIdent 字段(这个字段的填充,需要两个条件,1、告警事件中有 ident 标签,2、对应的机器出现在对象列表里),其实就是机器名。监控系统回调 ibex,把告警事件传过去,ibex从中拿到 TargetIdent 字段作为机器执行。这样就可以做到:哪个机器告警,就去哪个机器跑脚本的效果。

如果不想去告警的机器跑脚本,想去某个固定的中控机跑脚本,回调地址要这么写:${ibex}/1/center01.bj,这里假设 center01.bj 是中控机的机器名。

如果Host中填写,会导致ibex的任务不会执行。如果指定了一些主机名,就可以执行任务,如果事件的主机在列表中,就会在该主机上执行ibex脚本。
我是helm安装的n9e,二进制安装的ibex-server 和 ibex-agent。

我不信

这是Helm中的配置:templates/nserver/conf-cm.yaml
172.20.0.16:10090 是 本地二进制起的ibex-server,下面的 BasicAuthUser/BasicAuthPass是默认值。
[Ibex]
Address = "172.20.0.16:10090"
BasicAuthUser = "ibex"
BasicAuthPass = "ibex"
Timeout = 3000