Configuration

Nagios 配置語法:每行多個指令?

  • November 19, 2015

我的 Nagios 3(實際上是 Icinga 1)配置的大部分易變部分如下所示:

...
define host{
   host_name   bla0037
   use         template-bla
}

define host{
   host_name   bla0042
   use         template-bla
}
...

如果我可以將主機定義捆綁到單行中,腳本化管理會容易得多,如下所示:

...
define host{ host_name bla0037;  use template-bla }
define host{ host_name bla0042;  use template-bla }
...

但我還沒有發現如何。(例如,分號使一行的其餘部分成為註釋)。想法?

(生成大量小host-bla0XYZ.cfg文件也有助於自動化,但我不想弄亂 conf 目錄)。

不,你不能這樣做。配置文件解析器一次讀取一行,並期望每行有一個指令。您必須大量修改解析器xodtemplate.c才能做到這一點。

解析器中唯一的特殊例外是;or #(comments) and \(split a long line into multiple lines)。

我能想到做你想做的唯一方法是\n在管理系統輸出中使用一些不同的分隔作為替代,然後sed -e在 Nagios/Icinga 上對這些文件進行後處理(例如,)到 config文件。

例如,您可以修改初始化腳本以在每次重新載入/HUP 之前執行您的後處理作業。這將是一個醜陋的黑客,但它可以工作。

引用自:https://serverfault.com/questions/737230