У нас есть марионетка, созданная с использованием типов nagios. В основном это работает нормально, но иногда я обнаруживаю, что сгенерированный файл puppet-hosts.cfg продолжает расти - хосты просто добавляются и снова добавляются до тошноты. Удаление файла и запуск puppetd -t
восстанавливает его отлично.
Наш бит хоста nagios в модуле puppet 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
определяется в главном файле manifest / site.pp). В классе сервера nagios у нас есть строка:
Nagios_host <<||>> { notify => Service['nagios'] }
При беге puppetd -t
на сервере nagios я часто получаю сообщение об ошибке:
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, в том числе на марионеточном сервере, хотя на сервере nagios это 2.6.2, что, я думаю, может быть проблемой.
Я думаю, вы столкнулись с чем-то связанным с Марионеточная ошибка # 4076. Один способ обхода - использовать Модуль Дэвида Шмитта nagios вместо.