Nagios
NRPE 和在小號和1_在小號和R1USER1多變的
我的所有遠端 Linux 機器上都執行著 NRPE 守護程序。我有幾個配置,我正在嘗試標準化我的 nrpe.cfg 中的路徑。更改通過 Puppet 部署。
我想使用以下語法:
command[mycommand]=$USER1$/check_tcp .. etc.
這 $ USER1 $ 變數在我的 NRPE 設置中不可用。我可以為所有變體編寫 Puppet 模板,但我更願意通過本機方法來管理它。有什麼可以這樣做的嗎?如果沒有,是否有人有可以解決此問題的範例 Puppet 配置?
我整理了一個自定義事實來滿足我的需求。我還嘗試了一個可以應用拱門的小開關,但它不是跨平台的。
庫/因素/nrpe.rb
file = File.open("/etc/nagios/resource.cfg" , "r" ) while ( line = file.gets ) if /^\$USER1\$=(.*)/ =~ line matched="#{$1}" end end file.close Facter.add("nrpe") do setcode do matched end end
我可以為所有變體編寫 Puppet 模板,但我更願意通過本機方法來管理它。
$USERn$
是 Nagios 的標準宏。它們在resource.cfg
文件中定義:# Sets $USER1$ to be the path to the plugins $USER1$=/usr/local/nagios/libexec # Sets $USER2$ to be the path to event handlers #$USER2$=/usr/local/nagios/libexec/eventhandlers
這個文件包含在主配置中:
# This is an optional resource file that contains $USERx$ macro # definitions. Multiple resource files can be specified by using # multiple resource_file definitions. The CGIs will not attempt to # read the contents of resource files, so information that is resource_file=/usr/local/nagios/etc/resource.cfg
AFAIK,您不能使用 NRPE 在遠端主機上使用它。