puppet:nagios hosts 文件不断添加重复项

puppet:nagios hosts 文件不断添加重复项

我们有一个使用 nagios 类型设置的 puppet。大多数情况下它工作正常,但有时我发现生成的 puppet-hosts.cfg 文件不断增长 - 主机只是被反复添加和重新添加。删除文件并运行可以puppetd -t重新生成它。

我们的 puppet nagios 模块中的 nagios 主机位是:

# set up alias
$real_nagios_alias = $nagios_alias ? { '' => $hostname, default => $nagios_alias }
$real_nagios_contact_groups = $nagios_contact_groups ? 
  { '' => 'admins', default => $nagios_contact_groups }
$real_nagios_parents = $nagios_parents ? { '' => '', default => $nagios_parents }

$default_nagios_hostgroups = 'all-servers'
$real_nagios_hostgroups = $nagios_hostgroups ? 
  { '' => $default_nagios_hostgroups, default => $nagios_hostgroups }


@@nagios_host { $hostname:
  ensure          => present,
  address         => $fqdn,
  alias           => $real_nagios_alias,
  contact_groups  => $real_nagios_contact_groups,
  hostgroups      => $real_nagios_hostgroups,
  parents         => $real_nagios_parents,
  use             => 'generic-host',
  target          => $nagios_puppet_host_file,
}

$nagios_puppet_host_file在主 manifests/site.pp 文件中定义)。在 nagios 服务器类中,我们有以下行:

Nagios_host              <<||>> { notify => Service['nagios'] }

在nagios服务器上运行时puppetd -t,我经常会收到如下错误:

err: Could not prefetch nagios_host provider 'naginator': Could not parse configuration for nagios_host: line 15: syntax error at '
' in /usr/local/nagios/etc/puppet-hosts.cfg

行号有所不同,但是当我查看文件时,行号将与以下内容对齐:

define host {
  address                        somehost.example.org
  contact_groups                 admins

行号将是带有“地址”的行。除此之外,我还没有发现它抱怨哪个主机的模式。

那么,宿主不断再生有什么原因吗?

Puppet 版本通常是 0.25.4,包括在 puppet 服务器上,尽管 nagios 服务器上是 2.6.2,我猜这可能是问题所在。

答案1

我认为你遇到了一些与Puppet 漏洞 #4076. 一个解决方法是使用David Schmitt 的 nagios 模块反而。

相关内容