我的Puppet环境中有一个Nagios NRPE模块。
在nrpe.cfg
模板中,我配置了一些if statements
,以便为特定主机设置特定检查。
例:
<% if @hostname =~ /rsd+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H rs01.company.com -p 25 -e rs01.company.com
<% end -%>
意义:如果主机名以字符 rs 开头,后跟数字,则在 if statement
块中应用 check 命令。
我想将支票更改为这样的内容:
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H @hostname -p 25 -e @hostname
但问题是@hostname
是一个 ruby 变量,check 命令是用 bash 编写的。
怎样才能实现我的目标?
<% if @hostname =~ /rsd+/ -%>
command[check_smtp]=/usr/lib64/nagios/plugins/check_smtp -H <%= @hostname -%> -p 25 -e <%= @hostname -%>
<% end -%>