Existe uma maneira de excluir hosts específicos de um grupo de hosts do Nagios?

Existe uma maneira de excluir hosts específicos de um grupo de hosts do Nagios?

Eu tenho um servidor Nagios que inclui muitos arquivos hostgroups. Um deles hostgroupsinclui um servidor que eu gostaria de excluir da verificação de um Nagios específico, Checkmas quero que ele continue sendo membro do hostgrouppara que possa ser verificado para todos os outros checksque hostgroupsão verificados. Existe uma opção excludeou 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, agroupexceto 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)).

informação relacionada