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

6

Eu tenho um servidor Nagios que inclui muitos hostgroups . Um desses hostgroups inclui um servidor que gostaria de excluir da verificação de um Nagios Check específico, mas eu quero que ele continue sendo um membro do hostgroup , então ele pode ser verificado para todos os outros checks que o hostgroup é verificado. Existe uma opção de exclude ou algo parecido que pode me ajudar a alcançar meu objetivo? Obrigado

    
por Itai Ganot 31.12.2013 / 11:23

3 respostas

7

Ainda não tentei com hosts, mas com grupos de host, 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
}
    
por 31.12.2013 / 11:32
7

Adicione o host específico com um prefixo ! na definição de serviço. A verificação de serviço abaixo se aplicará a todos os hosts em agroup além de ahost .

define service {
    hostgroup_name   agroup
    host_name       !ahost   
    service_description Shared NFS mount
    check_command check_nrpe!check_shared_mount
    use generic-service

}

    
por 14.02.2015 / 13:09
1

Você pode criar um ou mais grupos de hosts para excluir itens - adicioná-los a hosts nos quais deseja excluir uma ou mais verificações - nomeando-os como ~ no-ipv6 ou ~ no-ssl ou o que for que o torne bem óbvio o que isso significa fazer.

Aplique o grupo de exclusão ao host que você deseja excluir além do (s) normal (ais) do qual ele é membro.

Na descrição do serviço, onde o (s) nome (s) do grupo de hosts que têm esse serviço aplicado está definido, use um! (neste contexto, significando "não") para excluí-los.

Portanto, se você tiver um "servidor web" de host, onde alguns hosts não podem fazer o ssl, você pode criar outro host "~ no-ssl". No arquivo services.cfg, na definição de serviço que verifica https, no nome do hostgroup, você colocaria webservers,!~no-ssl

O efeito disso é que todos os hosts nos servidores web do grupo de host são verificados em relação ao SSL - mas aqueles que estão também no hostgroup ~ no-ssl não terão SSL marcado. Handy!

Se houver algumas verificações para as quais TODOS os hosts sejam submetidos, além de algumas, você poderá usar *,!~exclusion

Essa 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 host em cada host simplesmente para verificações adicionais "extras" que você deseja executar ou exclusões específicas). - ou seja, template é a "norma", os hostgroups são as exceções).

    
por 08.02.2018 / 07:36