所以我使用https://forge.puppetlabs.com/pdxcat/nrpe模块试图找出跨主机的NRPE自动化。
其中一个可用的用法是
nrpe::command {
'check_users':
ensure => present,
command => 'check_users -w 5 -c 10';
}
无论如何要成为一个"组"这些命令并在特定节点上调用它们吗?
例如:
你有5个不同的nrpe:命令,每个命令定义一个不同的检查,然后调用那些特定的检查?
我基本上试图找出是否可以将某些检查/命令组合在一起,而不是在主要的sites.pp文件中设置大量文本。这还允许跨多个节点自定义模板/配置。
谢谢!
编辑: 这是命令以及在使用' check_users'进行调用时应该执行的操作。一部分。如果我可以拥有一组带有一组" nrpe:command"并通过该模块调用该类,它应该工作。不过对不起。傀儡还是新手。再次感谢。
define nrpe::command (
$command,
$ensure = present,
$include_dir = $nrpe::params::nrpe_include_dir,
$libdir = $nrpe::params::libdir,
$package_name = $nrpe::params::nrpe_packages,
$service_name = $nrpe::params::nrpe_service,
$file_group = $nrpe::params::nrpe_files_group,
) {
file { "${include_dir}/${title}.cfg":
ensure => $ensure,
content => template('nrpe/command.cfg.erb'),
owner => root,
group => $file_group,
mode => '0644',
require => Package[$package_name],
notify => Service[$service_name],
}
}
答案 0 :(得分:1)
你在说什么版本?在puppet最新版本中,不推荐使用继承,那么你就不应该使用它。
最简单的方法是使用"基线"。
假设您使用了manifest = $confdir/manifests
内的清单目录(puppet.conf
),只需创建一个$confdir/manifests/minimal.pp
(或$ confdir / manifests / nrpe_config.pp或您想要的任何类名称)使用),内容如下:
class minimal {
nrpe::command { 'check_users':
ensure => present,
command => 'check_users -w 5 -c 10',
}
}
然后在你的节点定义中调用这个类(让我们在$ confdir / manifests / my_node.pp中说):
node 'my_node.foo.bar' {
include minimal
}