
Eu tenho um servidor Nagios que inclui muitos arquivos hostgroups
. Um deles hostgroups
inclui um servidor que eu gostaria de excluir da verificação de um Nagios específico, Check
mas quero que ele continue sendo membro do hostgroup
para que possa ser verificado para todos os outros checks
que hostgroup
são verificados. Existe uma opção exclude
ou algo parecido que possa me ajudar a atingir meu objetivo? Obrigado
Responder1
Ainda não tentei com hosts, mas com grupos de hosts, prefixando com !
funciona. Eu uso isso para executar uma verificação de carga diferente em servidores ocupados:
define host {
use physical-host
host_name busy-host.example.com
alias busy-host.example.com
address 10.43.16.1
hostgroups linux,centos,ldap,http,busy
}
define host {
use physical-host
host_name normal-host.example.com
alias narmal-host.example.com
address 10.43.1.1
hostgroups linux,centos,dns,proxy,ldap,hp,http,puppetmaster
}
define service {
use generic-service
hostgroup_name linux,!busy
service_description Load
check_command check_snmp_load
}
define service {
use generic-service
hostgroup_name busy
service_description Load
check_command check_snmp_load_busy
}
Responder2
Adicione o host específico com um !
prefixo na definição de serviço. A verificação de serviço abaixo será aplicada a todos os hosts, agroup
exceto ahost
.
define service {
hostgroup_name agroup
host_name !ahost
service_description Shared NFS mount
check_command check_nrpe!check_shared_mount
use generic-service
}
Responder3
Você pode criar um ou mais grupos de hosts para excluir coisas - adicione-os aos hosts onde deseja excluir uma ou mais verificações - nomeando-os como ~no-ipv6 ou ~no-ssl ou o que quer que torne bastante óbvio o que é para fazer.
Aplique o grupo de hosts excluído ao(s) host(s) que você deseja excluir, além dos normais dos quais ele é membro.
Na descrição do serviço, onde são definidos os nomes dos grupos de hosts que têm esse serviço aplicado, use um ! (neste contexto, significando "não") para excluí-los.
Portanto, se você possui um grupo de hosts "servidores web", onde alguns hosts não podem fazer SSL, você pode criar outro grupo de hosts "~no-ssl". No arquivo services.cfg, na definição de serviço que verifica https, sob o nome do grupo de hosts, você colocariawebservers,!~no-ssl
O efeito disso seria que todos os hosts nos servidores web do grupo de hosts seriam verificados em relação ao SSL - mas aqueles que sãotambémno hostgroup ~no-ssl não terá SSL verificado. Prático!
Se houver algumas verificações que você deseja que TODOS os hosts sejam submetidos, exceto algumas, você pode usar*,!~exclusion
Esta abstração é tremendamente útil; ainda mais é usar modelos para atribuir (ou excluir) um monte de serviços a um tipo de host (o que significa que você pode usar as definições de grupos de hosts em cada host simplesmente para verificações adicionais "extras" que deseja executar ou exclusões específicas - ou seja, o modelo é a "norma", os grupos de hosts são a(s) exceção(ões)).