Se você estiver usando o puppet e o check mk, por que não fazer com que o puppet instale o servidor check mk – neste caso omd – e também obtenha o puppet para instalar os agentes check_mk e atualizar o servidor com os novos detalhes do agente.
Eu criei duas receitas. Um para criar sites OMD e o segundo para check_mk.
https://github.com/Firebladee/Puppet/blob/master/modules/omd/manifests/site/add.pp
https://github.com/Firebladee/Puppet/tree/master/modules/check_mk
Vamos examinar o mais fácil primeiro.
A receita de omd criará os sites de omd de que você precisa. Em nodes.pp adicione
$omd_site = "DEV1"
include omd
include omd::site::add
Para sites Multiply, então:
$omd_site = ["DEV1", "site2"]
include omd
include omd::site::add
Um dia vou mudar isso para uma classe, mas por agora vai servir.
check_mk
Esta receita irá instalar o agente check mk nas máquinas alvo e irá atualizar o servidor check mk com o novo agente.
PARA adicionar um novo agente.
class { "check_mk":
install => "agent",
omd_site => "ALL",
}
Para adicionar pais
class { "check_mk":
install => "agent",
omd_site => "ALL",
parents => "172.18.145.11"
}
Para adicionar tags
class { "check_mk":
install => "agent",
omd_site => ["ALL", "DEV2"],
check_mk_tags => ["SSH", "Management"]
}
Para alias de host
class { "check_mk":
install => "agent",
omd_site => "ALL",
check_mk_alias => "This server does nothing"
}
Servidor
Para adicionar o servidor
class { "check_mk":
install => "server",
omd_site => ["DEV1, "ALL"]
}
Exemplos de trabalho:
Servidor
node "omd.test.com" inherits default {
$yum_extrarepo = "puppetlabs"
$omd_site = ["DEV5", "DEV1", "DEV2", "DEV3", "DEV4", "ALL"]
include yum
include omd
include omd::site::add
include sudo
include ntp
class { "check_mk":
install => "server",
omd_site => ["DEV5", "DEV1", "DEV2", "DEV3", "DEV4", "ALL"],
parents => "172.18.145.11",
check_mk_tags => "Management"
}
}
Agentes
node "puppet.test.com" inherits default {
$yum_extrarepo = "puppetlabs"
include yum
class { "check_mk":
install => "agent",
omd_site => "ALL",
parents => "172.18.145.11",
check_mk_tags => "Management"
}
include ntp
}
node "app01.something.com" {
$yum_extrarepo = ["puppetlabs", "spacewalk-client"]
include yum
class { "check_mk":
install => "agent",
omd_site => ["ALL", "DEV1"],
check_mk_tags => "DEV1",
}
include hosts::allow
include ntp
include puppet
}