Descrição do Problema
É necessário implantar o monitoramento zabbix para vários hosts Linux na rede intranet 50.x, o conteúdo de trabalho é o seguinte:
Instale o serviço do agente zabbix
Devido à extrema confusão de gerenciamento de ativos, é necessário identificar o host Linux primeiro e excluir o host Windows / ESXi.
Ao instalar o serviço do agente zabbix, você precisa identificar a versão de lançamento (CentOS 6/7)
Adicionar host no servidor zabbix
Adicione o host ao servidor zabbix
e adicione um modelo de monitoramento para o host
Solução
Instale o serviço do agente zabbix
Use o Ansible para implantar em lotes para evitar tarefas de instalação repetidas.
Adicionar host no servidor zabbix
Use a descoberta automática do Zabbix para evitar tarefas de configuração repetidas.
Precauções
Esta nota é apenas uma breve descrição do processo, usada para registrar o processo de operação, não um método de operação detalhado. Diferentes cenários requerem problemas específicos que requerem análise específica.
Visão geral do ambiente
Rede: 10.10.50.0/25
Host: Linux / Windows / ESXi, mas implantamos apenas o sistema de monitoramento Linux
: CentOS 6.x / CentOS 7.x
A primeira etapa é configurar a descoberta automática (registro automático de agente ativo)
Consulte as notas de registro automático do agente ativo para configuração
Crie regras de registro automático (registro automático)
Para usar o registro automático, você precisa adicionar uma regra: Fonte do evento => Registro automático
Filtrar hosts registrados automaticamente (condições)
Nesta rede, existem hosts Windows / Linux / ESXi ao mesmo tempo. Nós apenas implantamos o monitoramento do Linux e precisamos evitar que outros hosts se registrem automaticamente.
Portanto, é necessário configurar o parâmetro HostMetadata (adicionar string Linux) no agente zabbix e, em seguida, filtrar em Condições (metadados do host contém Linux). Nesta etapa, precisamos configurar as condições do filtro e configurar os parâmetros HostMetadata na próxima etapa (Configurar o serviço do Agente Zabbix) para concluir.
Adicionar operações de registro automático (operações)
Adicione Adicionar host, Adicionar a grupos de hosts, Link para modelos, etc. em Operações conforme necessário para especificar as ações que precisam ser executadas ao iniciar o registro automático.
A segunda etapa, implantar o serviço do agente zabbix
Identifique o host CentOS e crie um arquivo de manifesto
Use o comando fping para encontrar todos os hosts sobreviventes ( 00-fping-scan.sh ) => Obtenha todos os hosts Linux na intranet, com a porta 22 aberta como padrão ( 01-port22-detecting.sh ) => Obtenha por teste o arquivo redhat-release Todos os hosts CentOS na intranet ( 02-linux-detecting.sh ) => Finalmente, crie um arquivo de manifesto do host:
[all: vars] ansible_user = root ansible_ssh_private_key_file = config / ssh-private-key / id_rsa ansible_ssh_common_args = "- oStrictHostKeyChecking = no" [centos] # 省略 主机 列表 ......
Execute o comando ansible centos -i inventory.txt -m ping para testar se o host pode ser acessado normalmente.
Manual do Script
O script do Playbook precisa completar as seguintes tarefas:
1) Instale o repositório Zabbix (preste atenção para distinguir a versão CentOS 6/7)
2) Instale o serviço do agente zabbix
3) Implemente o arquivo de configuração: zabbix_agentd.conf (O arquivo de configuração somente contém a configuração de chave)
4) Iniciar serviço, inicializar (observe a distinção entre a versão CentOS 6/7)
Implantação de serviço completo
Execute o script do Playbook para concluir a implantação do serviço.
Observe, é recomendável usar um determinado host para teste e, em seguida, aplicar o script do Playbook a todos os hosts de destino após a conclusão do teste. Para evitar erros de configuração causados por erros, que podem levar à destruição de outros hosts.
A terceira etapa, verificar o status de monitoramento
Visite o monitoramento do Zabbix para ver se todos os hosts foram registrados automaticamente.
referências
Como faço para que o ssh falhe em vez de solicitar uma senha se a autenticação de chave pública falhar?
Como definir host_key_checking = false no arquivo de inventário ansible?