"Realização de alarme de monitoramento de servidor e otimização de desempenho com base no Zabbix" notas do estudo

Não há problema em ler o artigo, compartilhar as anotações e registrar o progresso do aprendizado por meio desse método.

Wang Depeng. Monitoramento de servidores e alarmes e otimização de desempenho com base no Zabbix[D]. Liaoning: Dalian University of Technology, 2020.

Texto original:  Alarme de monitoramento de servidores e otimização de desempenho baseado em Zabbix

Preste atenção à conta oficial e a resposta em segundo plano " Baseado no Zabbix para realizar monitoramento de servidor e otimização de alarme e desempenho" pode obter o texto original e aprender juntos.

O conteúdo principal do papel:

Com base no programa de código aberto Zabbix e no banco de dados Mysql, projete e construa uma plataforma de monitoramento e alarme confiável e em tempo real para realizar monitoramento e alarme em tempo real da temperatura, desempenho, serviço e outros status de servidores, switches, roteadores e outros equipamentos distribuída em diferentes regiões, esta plataforma de monitoramento e alarme é de grande valia para promover a padronização, plataformização e automação do sistema de informações da empresa.

Dois pontos inovadores:

Ao escrever um programa Python para se conectar à interface API da plataforma de monitoramento e alarme, compensa a falta do Zabbix na modificação em lote.

Para melhorar o desempenho do processamento da plataforma de monitoramento e alarme, analise o algoritmo do banco de dados Mysql em segundo plano e selecione o mecanismo de armazenamento e o tipo de índice mais adequados para a plataforma de monitoramento e alarme e otimize os parâmetros do banco de dados para melhorar bastante o desempenho em tempo real e confiabilidade da plataforma de monitoramento e alarme.

 1. Introdução

Comparação de vários sistemas de monitoramento de código aberto

Esta imagem pode ser vista em vários lugares na Internet, esta é a fonte original?

2. Análise técnica relacionada

Escrevi um capítulo sobre SNMP, IPMI, protocolos JMX, banco de dados MySQL e python.Como reduzir o peso dessa coisa? Haha, mas ainda é bom como material de aprendizado.

3. Análise e projeto de plataforma de monitoramento e alarme

Além dos requisitos e princípios semelhantes, a grande diferença em relação aos textos online é que é fornecido o diagrama de blocos do sistema, que pode ser a necessidade de trabalhos acadêmicos.

No diagrama lógico de toda a plataforma, as setas à esquerda referem-se aos nomes das camadas à direita.A princípio pensei que fosse a saída de dados.

Este quadro é duvidoso, este é o fluxo de dados do Agente. A transmissão de dados do Agente utiliza o serviço Snmpd?

4. Realização e aplicação da plataforma

A implementação e aplicação da plataforma é construir uma solução de monitoramento Zabbix. Existe um método de usar Python para ler o host no Excel e realizar modificação em lote. Esse é o ponto inovador do artigo, e os demais são basicamente consistentes com o manual.

O autor fornece todo o código no apêndice, usando a API do zabbix. Esta deve ser uma pequena ferramenta que pode ser usada com frequência e você pode aprender com ela.

5. Otimização de desempenho e teste da plataforma de monitoramento e alarme

Inclui principalmente otimização de estrutura, otimização de banco de dados e otimização de parâmetros, e fornece uma comparação de otimização. A estrutura usa proxy; o ajuste do banco de dados começa no mecanismo de banco de dados e no tipo de índice e, em seguida, otimiza os parâmetros do banco de dados; a otimização do zabbix Server inclui principalmente o número de processos, tamanho do cache e frequência de atualização, mas apenas uma imagem é fornecida e não explica por que deve ser otimizada dessa maneira.

reanálise de dúvidas

1. Processo de processamento do agente

Ontem à noite, eu disse que a Figura 3.3 no jornal era suspeita porque vi que SNMPD é um serviço de snmp e MIB (management information base) é um banco de dados para armazenar OIDs, então parece um diagrama de blocos do sistema usando SNMP protocolo para coletar dados.

De fato, é apontado no manual oficial que o Agent possui os três processos a seguir:

  • collect_thread coleta periodicamente informações básicas, principalmente memória e CPU, armazenadas na memória compartilhada

  • listener_thread é usado para receber tarefas de coleta atribuídas pelo servidor ou proxy, coleta passiva

  • active_checks_thread Coleta e relatórios ativos

    Os três processos aqui são fáceis de entender, um é coletar indicadores, um é aceitar tarefas do servidor e o último é relatar dados.

    Também encontrei um diagrama da estrutura do programa Agent na Internet, e a estrutura acima também pode ser produzida.

2. Design Ideal do Servidor

No artigo de ontem, apenas uma configuração de otimização de servidor foi fornecida ontem, e o motivo não foi fornecido, muito menos mais métodos de configuração. Aqui estão outras soluções de configuração, que serão estudadas com mais detalhes posteriormente.

Arquivo de configuração do servidor Zabbix

#ListenPort=10051

#porta de escuta

# SourceIP=

#No caso de endereços múltiplos, especifique qual endereço usar para comunicação

# LogType=arquivo

#A maneira de especificar o log é gravar no arquivo

LogFile=/var/log/zabbix/zabbix_server.log

#Especifique o caminho de armazenamento do arquivo de log, o usuário precisa ter permissão para o diretório;

# LogFileSize=1

# Regravação de log, geralmente não aberta

# DebugLevel=3

#Nível de log; quando você precisa cometer um erro, pode ajustar o nível de depuração para ver com mais clareza. Depois que o erro for concluído, volte ao nível de log original, caso contrário, o log preencherá o espaço em disco

PidFile=/apps/zabbix-server/run/zabbix_server.pid

#Caminho do arquivo PID

SocketDir=/apps/zabbix-server/run/

#Especifique o caminho do arquivo socket

DBHost=

#Endereço do banco de dados conectado

DBName=zabbix_server

banco de dados #Name

DBUser=

#Conta conectada

DBPassword=

#senha de conexão

Configuração de otimização do servidor Zabbix

# HistoryStorageURL=

#Especifique o endereço do servidor elasticsearch, salve os dados históricos do zabbix no ES, otimize o desempenho do zabbix e precise de uma nova versão do zabbix para oferecer suporte

# HistoryStorageTypes=uint,dbl,str,log,text

Tipos de índice para #elasticsearch

# HistoryStorageDateIndex=0

#Salve dados históricos em diferentes índices elasticsearch

# ExportDir=

#Define o diretório de eventos de gatilho de exportação em tempo real, monitorando valores de coleta de itens e dados de tendências

# ExportFileSize=1G

#Defina o tamanho máximo de cada arquivo exportado

StartPollers=6

# Especifique para abrir vários processos para coletar dados do agente; o número de processos gerais corresponde ao número de núcleos da CPU e o intervalo é de 0 a 1000

# StartIPMIPollers=1

# Especifique para abrir vários processos para coletar dados do IPMI, você precisa abrir o IPMI com antecedência, caso contrário, um erro será relatado, o intervalo é 0-1000

StartPreprocessors=6

#Quantos processos são pré-iniciados para processar dados do agente zabbix, o intervalo é 0-1000

# StartPollersUnreachable=1

#Quantos processos iniciar para detectar hosts inacessíveis em rotação, o intervalo é 0-1000

Iniciar caçadores = 5

#Quantos processos são pré-iniciados para lidar com operações relacionadas ao gatilho, o intervalo é 0-1000

StartPingers=5

#Quantos processos iniciar para detecção de ping, usado para ping de dispositivos de rede e hosts, o intervalo é 0-1000

StartDiscoverers=6

#Quantos processos iniciar para descoberta automática, como descoberta automática de disco, descoberta automática de rede, o número de processos gerais não deve exceder o número de núcleos de CPU do host, o intervalo é 0-250

StartHTTPPollers=3

# Ao realizar o acesso à web, quantos processos são iniciados para lidar com o acesso à web, o intervalo é 0-1000

StartTimers = 3

#Número de processos do timer, o timer é usado para calcular o tempo de ocorrência do problema e sincronização de etapas, etc., usado para envio recursivo de e-mails ao acionar um alarme, etc., faixa de 1 a 1000

# StartEscalators=1

O número do processo inicial do processo #elasticsearch, o número de processos usados ​​para processar as etapas automáticas na ação, 0-100

# StartAlerts=3

#O número de pré-início do processo de alarme, 0-100

#JavaGateway=

#zabbix é escrito em php e não pode acessar diretamente programas java, então o javagateway é usado. O javagateway é conectado ao zabbix em uma extremidade e ao ambiente java na outra extremidade para coletar indicadores de recursos do ambiente java. Um javagateway pode se conectar para vários serviços java; especifique o endereço javagateway

#JavaGatewayPort=10052

#javagatewayPorta de escuta

# StartJavaPollers=0

#Quantos processos pré-iniciar para coletar dados java em rotação, 0-1000

# StartVMwareCollectors=0

#É usado para definir a instância do host vmware esxi de monitoramento, se for 0, não será usado. Se você deseja monitorar o host esxi, o valor mínimo é 1. Defina o número correspondente de acordo com o número de esxi de monitoramento .Zabbix monitora vmware, você precisa usar o template para monitoramento vmware ;0-250

Frequência VMware = 60

#Monitore o intervalo de tempo para o vmware obter os dados mais recentes, em segundos

# VMwarePerfFrequency=60

#Monitore o intervalo de tempo dos dados de desempenho do vmware

# VMwareCacheSize=8M

#vmware tamanho do cache de dados ocupará a memória do servidor zabbix server

# VMwareTimeout=10

#vmware tempo limite para obter dados

SNMPTrapperFile=/apps/zabbix-server/run/zabbix_traps.tmp

#Caminho temporário do arquivo de gatilho SNMP

IniciarSNMPTrapper=1

#SNMP trigger process number, o intervalo é 0-1, 1 significa aberto

# ListenIP=0.0.0.0

endereço de escuta do servidor #zabbix

# HousekeepingFrequency=1

#Quantas horas para limpar os dados históricos do banco de dados do agente, o padrão é 1 hora, o intervalo é 0-24; quando o tempo de armazenamento de dados históricos definido no item de monitoramento e o tempo de armazenamento de dados de tendência exceder o tempo especificado, ele será limpo; os dados de tendência salvarão o valor máximo, o valor mínimo e o valor médio dos dados dentro de uma hora; dados históricos são para consultar os dados de cada item de monitoramento são dados históricos

# MaxHousekeeperDelete=5000

#O número máximo de linhas para excluir dados históricos de cada vez, o intervalo é 0-1000000

CacheSize=128M

#O tamanho do cache usado para armazenar host, item de gerenciamento e dados de acionamento; o intervalo é 128K-8G e a configuração geral é de 1 a 2 G

CacheUpdateFrequency = 300

#zabbix atualiza a frequência dos dados em cache, em segundos, intervalo 1-3600

StartDBSyncers=4

Quantos processos o #zabbix começa a sincronizar dados com o banco de dados, incluindo consultas; 0-100

HistoryCacheSize=2G

# Tamanho do cache de dados históricos, 128K-2G

HistoryIndexCacheSize=128M

#Cache de informações de índice de dados históricos, 128K-2G

TrendCacheSize=16M

# É usado para definir quanta memória compartilhada do sistema é usada para armazenar em cache os dados de tendência calculados. Este parâmetro pode afetar a pressão de leitura do banco de dados até certo ponto, e o intervalo é 128K-2G

ValueCacheSize=16M

#Tamanho da memória compartilhada usada para armazenar em cache as solicitações de dados históricos do projeto, 128K-64G

Tempo limite = 30

#Especificar a quanto tempo o agente não retorna os dados consultados pelo servidor, irá expirar, 1-30

TrapperTimeout = 300

#O tempo máximo para o gatilho processar dados, em segundos; 1-300

Período Inacessível=60

#Quando o host está inacessível por quantos segundos, é definido como o host está indisponível, a unidade é segundos, 1-3600

Atraso indisponível=60

#Quando o host está indisponível, com que frequência verificar a disponibilidade do host, intervalo de 1 a 3600

UnreachableDelay=15

#Quando o host está inacessível, com que frequência verificar a disponibilidade do host, 1-3600

AlertScriptsPath=${datadir}/zabbix/alertscripts

#O caminho do script de alarme de monitoramento depende do parâmetro datadir em tempo de compilação, como /apps/zabbix-server/share/zabbix/alertscripts

# FpingLocation=/usr/sbin/fping

#Especifique a localização do comando fping, fping é usado para testar a conectividade de rede; você pode usar apt install fping para instalar

# Fping6Location=/usr/sbin/fping6

Localização do comando para #fping6

LogSlowQueries=3000

#Especifique quanto tempo o resultado não é retornado, é um log lento (em milissegundos), somente quando o nível do log é 3, 4/5, 0 significa sem gravação, o intervalo é 1-3600000

# TmpDir=/tmp

#Diretório de armazenamento de arquivo temporário

StartProxyPollers=1

#Especifique quantos processos o servidor zabbix começa a se comunicar com o proxy. Este é um proxy passivo, e o servidor zabbix se conecta ativamente ao proxy, e o proxy aceita passivamente a conexão do servidor. Geralmente, é necessário garantir que um servidor processo interage com um proxy

ProxyConfigFrequency = 60

#proxy modo passivo, quantos segundos o servidor sincroniza o arquivo de configuração (item de monitoramento) para o proxy, este parâmetro é usado apenas para o modo passivo proxy, o intervalo é 1-3600*24*7; se um novo nó de agente é adicionado através do zabbix web, quanto tempo Sincronize o arquivo de configuração com o proxy uma vez por vez. Depois que o proxy receber o arquivo de configuração, ele sincronizará o arquivo de configuração com o host do agente novamente, para que o host do agente possa obter os itens de monitoramento a serem coletados no arquivo de configuração.

ProxyDataFrequency=60

#No modo passivo, quantos segundos o servidor zabbix solicita dados históricos do proxy, o proxy relatará os dados de monitoramento do agente ao servidor dentro do tempo especificado, 1-3600

# AllowRoot=0

#Se é permitido iniciar o zabbix como root, se você quiser permitir, altere para 1

Usuário=zabbix

#Especifique o usuário que inicia o zabbix

# Incluir=

#Importar o arquivo de configuração do caminho especificado

# StatsAllowedIP=

#Defina o endereço que permite o acesso ao servidor zabbix

depois de ler

O artigo menciona várias vezes o monitoramento da rede de uma determinada empresa. Isso deveria ser um resumo de um projeto específico de monitoramento de rede. A tecnologia utilizada não é difícil, mas a estrutura, o processo etc. manuais e artigos on-line podem ser úteis para uma melhor compreensão do monitoramento.

Texto original:  Alarme de monitoramento de servidores e otimização de desempenho baseado em Zabbix

Preste atenção à conta oficial e a resposta em segundo plano " Baseado no Zabbix para realizar monitoramento de servidor e otimização de alarme e desempenho" pode obter o texto original e aprender juntos.

Acho que você gosta

Origin blog.csdn.net/m0_37771865/article/details/128651735
Recomendado
Clasificación