O Zabbix oferece a funcionalidade de descoberta automática de rede que é eficaz e muito flexível.
Com a descoberta de rede configurada corretamente, você pode:
A descoberta de rede Zabbix é baseada nas seguintes informações:
NÃO fornece:
A descoberta de rede consiste basicamente em duas fases: descoberta e ações.
O Zabbix periodicamente escaneia os intervalos de IP definidos nas regras de descoberta de rede. A frequência da verificação é configurável para cada regra individualmente.
Cada regra possui um conjunto de verificações de serviço definidas para serem realizadas no intervalo de IP.
As regras de descoberta são processadas pelo gerenciador de descoberta. O gerenciador de descoberta cria um trabalho para cada regra com uma lista de tarefas (verificações de rede). As verificações de rede são realizadas em paralelo pelos workers de descoberta disponíveis (o número é configurável no frontend para cada regra). Apenas verificações com o mesmo IP e porta são agendadas sequencialmente porque alguns dispositivos não aceitam conexões paralelas na mesma porta.
O tamanho da fila de verificações de rede é limitado a aproximadamente 2.000.000 ou 4 GB de memória. Se a fila ficar cheia, a regra de descoberta será ignorada e uma mensagem de aviso será impressa no log. Você pode usar o item interno zabbix[discovery_queue] para monitorar o número de verificações de descoberta na fila.
As verificações de descoberta são processadas independentemente das outras verificações. Se alguma verificação não encontrar um serviço (ou falhar), as outras verificações ainda serão processadas.
Se uma regra de descoberta for alterada durante a execução, a execução atual da descoberta será abortada.
Cada verificação de um serviço e de um host (IP) realizada pelo módulo de descoberta de rede gera um evento de descoberta.
| Evento | Resultado da verificação do serviço |
|---|---|
| Serviço Descoberto | O serviço está 'ativo' após estar 'inativo' ou quando descoberto pela primeira vez. |
| Serviço Ativo | O serviço está 'ativo', após já estar 'ativo'. |
| Serviço Perdido | O serviço está 'inativo' após estar 'ativo'. |
| Serviço Inativo | O serviço está 'inativo', após já estar 'inativo'. |
| Host Descoberto | Pelo menos um serviço de um host está 'ativo' após todos os serviços desse host estarem 'inativos' ou um serviço é descoberto que pertence a um host não registrado. |
| Host Ativo | Pelo menos um serviço de um host está 'ativo', após pelo menos um serviço já estar 'ativo'. |
| Host Perdido | Todos os serviços de um host estão 'inativos' após pelo menos um estar 'ativo'. |
| Host Inativo | Todos os serviços de um host estão 'inativos', após já estarem 'inativos'. |
Eventos de descoberta podem ser a base de ações relevantes, como:
Essas ações podem ser configuradas com relação ao tipo de dispositivo, IP, status, tempo de atividade/inatividade, etc. Para detalhes completos sobre como configurar ações para eventos baseados em descoberta de rede, consulte as páginas de operações e condições de ação.
Como as ações de descoberta de rede são baseadas em eventos, elas serão acionadas tanto quando um host descoberto estiver online quanto quando estiver offline. É altamente recomendado adicionar uma condição de ação Discovery status: up para evitar que ações como Add host sejam acionadas em eventos Service Lost/Service Down. Caso contrário, se um host descoberto for removido manualmente, ele ainda gerará eventos Service Lost/Service Down e será recriado durante o próximo ciclo de descoberta.
Vincular templates a um host descoberto falhará coletivamente se qualquer um dos templates vinculáveis tiver uma entidade única (por exemplo, chave de item) que seja igual a uma entidade única (por exemplo, chave de item) já existente no host ou em outro dos templates vinculáveis.
Um host é adicionado se a operação Adicionar host for selecionada. Um host também é adicionado, mesmo que a operação Adicionar host esteja ausente, se você selecionar operações que resultem em ações em um host. Tais operações são:
Os hosts criados são adicionados ao grupo Hosts descobertos (por padrão, configurável em Administração → Geral → Outros). Se você deseja que os hosts sejam adicionados a outro grupo, adicione uma operação Remover de grupos de hosts (especificando "Hosts descobertos") e também adicione uma operação Adicionar a grupos de hosts (especificando outro grupo de hosts), porque um host deve pertencer a um grupo de hosts.
O endereço IP do dispositivo descoberto é o critério para encontrar um host no sistema. Se um host com esse endereço IP e tipo de interface já existir, esse host será o alvo para a execução das operações.
Se o endereço IP do host descoberto for alterado ou a interface for excluída, um novo host será criado na próxima descoberta.
Ao adicionar hosts, um nome de host é o resultado de pesquisa de DNS reverso ou IP endereço se a pesquisa reversa falhar. A pesquisa é realizada a partir do Zabbix servidor ou proxy Zabbix, dependendo de qual está fazendo a descoberta. Se a pesquisa falha no proxy, ela não é repetida no servidor. Se o anfitrião com esse nome já existe, o próximo host obteria _2 anexado ao nome, depois _3 e assim por diante.
Também é possível substituir a pesquisa de DNS/IP e usar um item valor para o nome do host, por exemplo:
Se o nome do host tiver sido definido usando um valor de item, ele não será atualizado durante as seguintes verificações de descoberta. Se não for possível definir o host nome usando um valor de item, o valor padrão (nome DNS) é usado.
Se já existir um host com o endereço IP descoberto, um novo host será não criado. No entanto, se a ação de descoberta contiver operações (link modelo, adicionar ao grupo de hosts, etc), eles são executados no hospedeiro.
Os hosts descobertos por uma regra de descoberta de rede são removidos automaticamente de Monitoramento → Descoberta se uma entidade descoberta não estiver no intervalo de IP da regra. Os hosts são removidos imediatamente.
Quando hosts são adicionados como resultado de descoberta de rede, eles recebem interfaces criadas de acordo com estas regras:
Os hosts descobertos por diferentes proxies são sempre tratados como hospedeiros diferentes. Enquanto isso permite realizar a descoberta no IP correspondente intervalos usados por diferentes sub-redes, alterando o proxy para um já sub-rede monitorada é complicado porque as alterações de proxy também devem ser aplicado a todos os hosts descobertos.
Por exemplo, as etapas para substituir o proxy em uma regra de descoberta: