Nagios

NRPE 和在小號和1_在小號和R1USER1多變的

  • August 17, 2015

我的所有遠端 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 在遠端主機上使用它

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