Muitas vezes, amigos que estão envolvidos na manutenção de servidores esperam ter uma plataforma de monitoramento de desempenho de servidores que possa fornecer uma visão geral, para que possam compreender a dinâmica de funcionamento dos servidores da empresa em tempo real. Atualmente, existem muitas plataformas de monitoramento de desempenho de rede de terceiros no mercado, como Alibaba Cloud, Tencent Cloud, Linode, Vultr e outros provedores de hospedagem VPS com seus próprios serviços de monitoramento de desempenho de servidor.
Se você construir sua própria plataforma de monitoramento de servidor, poderá experimentar as ferramentas de análise de log do servidor que compartilhamos anteriormente: ngxtop e GoAccess, que podem nos ajudar a visualizar anormalidades do servidor da perspectiva da análise de logs do servidor. Você também pode usar a ferramenta Smokeping para monitorar o status da linha de rede do servidor, como ping convencional, dig, echoping, curl, etc.
Este artigo compartilhará duas excelentes ferramentas de monitoramento de servidor: uma é o PHP probe-x-prober de código aberto gratuito. Existem muitos testes PHP na Internet, mas o x-prober é adequado para "amantes da beleza"; o outro é o Netdata, uma ferramenta de monitoramento de desempenho do servidor Linux em tempo real com uma interface interessante e um estilo bonito. Esses dois tipos de monitoramento podem melhorar muito o desempenho dos trabalhos de operação e manutenção.
Para obter mais comandos e ferramentas de monitoramento de desempenho do servidor e de monitoramento de rede, aqui estão:
- Resumo dos comandos de monitoramento do sistema Linux - CPU mestre, memória, E/S de disco, etc. para encontrar gargalos de desempenho
- Instalação e configuração do Smokeping - ferramenta gratuita de monitoramento de desempenho de rede de código aberto, implantação visual mestre/escravo
- Ferramentas de análise de log do servidor: ngxtop e GoAccess - monitoramento em tempo real e gerenciamento visual para encontrar rapidamente a origem das exceções
1. Sonda PHP de código aberto gratuita: x-prober
local na rede Internet:
- Projeto: https://github.com/kmvan/x-prober
- Baixar: https://api.inn-studio.com/download?id=xprober
- Demonstração: https://tz.inn-studio.com/
Este é um teste PHP que pode substituir o teste Yahei. Possui uma interface bonita, funções simples, mas práticas, e é adequado para necessidades básicas de teste do servidor. (Clique para ampliar)
A sonda x-prober pode exibir o status do servidor, estatísticas de tráfego, informações do servidor, informações de PHP, extensões de PHP, bancos de dados, pontuações de desempenho do servidor, etc.
2. Instalação e uso da ferramenta de monitoramento em tempo real Linux Netdata
local na rede Internet:
- Site oficial: https://my-netdata.io/
- Demonstração: https://my-netdata.io/#demosites
- Página inicial: https://github.com/firehol/netdata
2.1 Introdução à função Netdata
Netdata é uma ferramenta de monitoramento de desempenho de servidores Linux com uma interface muito bacana, funções muito poderosas e instalação muito simples. Ela é atualizada em tempo real, é instalada com um clique, não requer nenhuma manutenção e exibe os dados de monitoramento diretamente no navegador. Netdata coleta milhares de indicadores por segundo, mas representa apenas 1% de um único núcleo de CPU, uma pequena quantidade de memória e nenhuma leitura e gravação de E/S de disco. Como mostrado abaixo: (clique para ampliar)
A Netdata monitora muito conteúdo, incluindo principalmente:
CPU: uso, interrupções, softirqs, frequência, status total e por núcleo da CPU
Memória: RAM, uso de memória swap e kernel, KSM (fusão de mesma página do kernel), NUMA
Discos: por disco: E/S, operações, backlog, utilização, espaço, RAID de software (md)
Interfaces de rede: por interface: largura de banda, pacotes, erros, quedas
Rede IPv4, rede IPv6: largura de banda, pacote, erro, fragmento, tcp: conexão, pacote, erro, handshake, udp: pacote, erro, transmissão: largura de banda, pacote, multicast: largura de banda, pacote
netfilter/iptables Firewall Linux: conexões, eventos do rastreador de conexão, erros
Servidores e clientes de arquivos NFS: NFS v2, v3, v4: E/S, cache, leitura antecipada, chamadas RPC
Servidores web Apache e lighttpd: mod-status (v2.2, v2.4) e estatísticas de log de cache para vários servidores
Servidor web Nginx: estado de stub para vários servidores
Tomcat: acesso, threads, memória disponível, volumes
Arquivos de log do servidor Web: extraia métricas de desempenho do servidor Web em tempo real e aplique várias verificações de integridade
Banco de dados MySQL: vários servidores, cada servidor mostra: largura de banda, consultas/manipuladores, bloqueios, problemas, operações tmp, conexões, métricas de binlog, threads, métricas innodb e muito mais
Banco de dados Postgres: vários servidores, cada servidor mostra: estatísticas por banco de dados (conexões, tuplas de leitura-gravação retornadas, transações, bloqueios), processos de back-end, índices, tabelas, write-ahead, gravadores em segundo plano e muito mais
Banco de dados Redis: vários servidores, cada servidor exibe: operações, taxa de acertos, memória, chave, cliente, servidor escravo
CouchDB: leitura/gravação, métodos de solicitação, códigos de status, tarefas, replicação, por banco de dados, etc.
banco de dados memcached: vários servidores, cada servidor mostra: largura de banda, conexões, projetos
Servidores de nomes NSD: consultas, zonas, protocolos, tipos de consulta, transportes, etc.
PowerDNS: consultas, respostas, cache, latência e muito mais
Servidor de e-mail Postfix: fila de mensagens (entrada, tamanho)
Fontes de alimentação ininterruptas NUT e APC: carga, capacidade, tensão da bateria, temperatura, indicadores de utilidade, indicadores de saída
PHP-FPM: múltiplas instâncias, cada uma relatando conexões, solicitações, desempenho
smartd: valor SMART do disco
2.2 Método de instalação do Netdata
Todos os sistemas Linux podem usar o seguinte método para instalar o netdata com um clique (sem necessidade de usar sudo):
# 基础安装 bash <(curl -Ss https://my-netdata.io/kickstart.sh) # 或者 # 安装所有的组件 bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
A estrutura de diretórios do Netdata é a seguinte:
– o daemon em /usr/sbin/netdata
– arquivos de configuração em /etc/netdata
<x2 > – arquivos da web em /usr/share/netdata
– plug-ins < x2> em /usr/libexec/netdata
– arquivos de cache em /var/cache/netdata
< x2> – arquivos db em /var/lib/netdata
– arquivos de log <x2 > em /var/log/netdata
– arquivo pid em /var /run/netdata.pid
– arquivo logrotate em /etc/logrotate.d/netdata
Como mostrado abaixo:
O prompt a seguir indica que o Netdata foi instalado com sucesso.
2.3 Operações de uso de Netdata
Após a instalação, use ip:19999 para acessá-lo. Esta é a interface do Netdata. Pode-se observar que é muito intuitivo para ver vários dados de monitoramento. Veja isto. (Clique para ampliar)
Cada dado de monitoramento é atualizado em tempo real, e você também pode clicar com o mouse para visualizar os detalhes.
Netdata tem uma função de importação e exportação. Você pode exportar dados de monitoramento por um determinado período de tempo e também importar dados de backup.
Se você instalou várias máquinas e deseja acessá-las por meio de um navegador, clique em my-netdata no canto superior esquerdo. Em seguida, clique no ícone de três barras verticais.
Registre o ID de registro e, quando chegar em casa, insira e adicione cada ID de registro em seu navegador em casa.
3. Resumo
O maior problema com o monitoramento do Netdata é provavelmente o problema do idioma. Atualmente, o site oficial está apenas em inglês e não há outros idiomas. Se você achar que o inglês não parece bom, você mesmo pode traduzi-lo manualmente. colocado neste diretório.
A sonda x-prober é um pouco semelhante à sonda Yahei em função. A principal vantagem é que ela é muito mais bonita e pode ser usada como substituta da sonda. Netdata pode ser usado como monitoramento de servidor de nível empresarial, mas é um pouco “desperdiçado” para uso pessoal.