Check_mk & Puppet

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

}