20 Ferramentas de Monitoramento do Sistema Linux Todos os SysAdmin Deverão Conhecer

Need para monitorar o desempenho do servidor Linux?Experimente estes comandos integrados e algumas ferramentas adicionais. A maioria das distribuições Linux são equipadas com toneladas de monitoramento. Essas ferramentas fornecem métricas que podem ser usadas para obter informações sobre as atividades do sistema. Você pode usar essas ferramentas para encontrar as possíveis causas de um problema de desempenho. Os comandos discutidos abaixo são alguns dos comandos mais básicos quando se trata de análise do sistema e problemas de depuração do servidor, tais como:

  1. Descobrir gargalos.
  2. Gargalos do disco (armazenamento).
  3. CPU e gargalos de memória.
  4. Gargalos da rede.

 

# 1: top – Processar comando de atividade

O programa superior fornece uma visão dinâmica em tempo real de um sistema em execução, ou seja, atividade de processo real. Por padrão, ele exibe as tarefas mais intensivas de CPU executadas no servidor e atualiza a lista a cada cinco segundos.

comando top Linux: Fig.01

Fig.01: Comando superior do Linux

Teclas de acesso comumente usadas

O comando superior fornece várias teclas de atalho úteis:

Tecla de atalho Uso
T Exibe informações de resumo apagado e ligado.
M Exibe e desativa a informação da memória.
UMA Classifica a exibição pelos principais consumidores de vários recursos do sistema. Útil para a identificação rápida de tarefas com fome de desempenho em um sistema.
F Insere uma tela de configuração interativa para o topo. Útil para configurar o início de uma tarefa específica.
O Permite selecionar interativamente o pedido dentro do topo.
R Problemas comando renice.
K Problemas kill comando.
Z Ligar ou desligar a cor / mono

=> Relacionado : Como faço para descobrir a utilização da CPU Linux?

 

# 2: vmstat – Atividade do Sistema, Hardware e Informações do Sistema

O comando vmstat relata informações sobre processos, memória, paginação, IO de bloco, armadilhas e atividade da CPU.
# vmstat 3
Exemplos de Saídas:

  Procs ----------- memória ---------- --- swap-- ----- io ---- --system-- ----- cpu -benzóico.
  Rb swpd livre buff cache si então bi bo em cs us sy id wa st
  0 0 0 2540988 522188 5130400 0 0 2 32 4 2 4 1 96 0 0
  1 0 0 2540988 522188 5130400 0 0 0 720 1199 665 1 0 99 0 0
  0 0 0 2540956 522188 5130400 0 0 0 0 1151 1569 4 1 95 0 0
  0 0 0 2540956 522188 5130500 0 0 0 6 1117 439 1 0 99 0 0
  0 0 0 2540940 522188 5130512 0 0 0 536 1189 932 1 0 98 0 0
  0 0 0 2538444 522188 5130588 0 0 0 0 1187 1417 4 1 96 0 0
  0 0 0 2490060 522188 5130640 0 0 0 18 1253 1123 5 1 94 0 0

Exibir Utilização da Memória Slabinfo

# vmstat -m

Obter informações sobre páginas de memória ativas / inativas

# vmstat -a
=> Relacionado : Como descobrir a utilização de recursos do Linux para detectar gargalos do sistema?

 

# 3: w – Descubra quem está conectado e o que eles estão fazendo

O comando w exibe informações sobre os usuários atualmente na máquina e seus processos.
# w username
# w vivek

Saídas de amostra:

  17:58:47 até 5 dias, 20:28, 2 usuários, carga média: 0.36, 0.26, 0.24
 TTY DO USUÁRIO DO LOGIN @ IDLE JCPU PCPU WHAT
 Raiz pts / 0 10.1.3.145 14:55 5.00s 0,04s 0,02s vim /etc/resolv.conf
 Raiz pts / 1 10.1.3.145 17:43 0.00s 0.03s 0.00sw

 

# 4: uptime – Diga quanto tempo o sistema tem corrido

O comando uptime pode ser usado para ver quanto tempo o servidor está sendo executado. A hora atual, quanto tempo o sistema está sendo executado, quantos usuários estão conectados no momento e as médias de carga do sistema nos últimos 1, 5 e 15 minutos.
# uptime
Saída:

  18:02:41 até 41 dias, 23:42, 1 usuário, carga média: 0.00, 0.00, 0.00

1 pode ser considerado como valor de carga ideal. A carga pode mudar de sistema para sistema. Para um único sistema de CPU 1 – 3 e sistemas SMP 6-10 o valor de carga pode ser aceitável.

 

# 5: ps – Exibe os Processos

O comando ps relatará um instantâneo dos processos atuais. Para selecionar todos os processos, use a opção -A ou -e:
# ps -A
Exemplos de Saídas:

  PID TTY TIME CMD
     1?  00:00:02 init
     2?  00:00:02 migração / 0
     3?  00:00:01 ksoftirqd / 0
     4?  00:00:00 cão de guarda / 0
     5?  00:00:00 migração / 1
     6?  00:00:15 ksoftirqd / 1
 -benzóico.
 -benzóico.
  4881?  00:53:28 java
  4885 tty1 00:00:00 mingetty
  4886 tty2 00:00:00 mingetty
  4887 tty3 00:00:00 mingetty
  4888 tty4 00:00:00 mingetty
  4891 tty5 00:00:00 mingetty
  4892 tty6 00:00:00 mingetty
  4893 ttyS1 00:00:00 agetty
 12853?  00:00:00 cifsoplockd
 12854?  00:00:00 cifsdnotifyd
 14231?  00:10:34 lighttpd
 14232?  00:00:00 php-cgi
 54981 pts / 0 00:00:00 vim
 55465?  00:00:00 php-cgi
 55546?  00:00:00 bind9-snmp-stat
 55704 pts / 1 00:00:00 ps

Ps é apenas como top, mas fornece mais informações.

Mostrar saída de formato longo

# ps -Al
Para ativar o modo extra completo (ele mostrará os argumentos da linha de comando passados para o processo):
# ps -AlF

Para ver threads (LWP e NLWP)

# ps -AlFH

Para ver threads após processos

# ps -AlLm

Imprimir todo o processo no servidor

# ps ax
# ps axu

Imprimir uma árvore de processo

# ps -ejH
# ps axjf
# pstree

Informações sobre segurança de impressão

# ps -eo euser,ruser,suser,fuser,f,comm,label
# ps axZ
# ps -eM

Veja cada processo em execução como usuário Vivek

# ps -U vivek -u vivek u

Definir saída em um formato definido pelo usuário

# ps -eo pid,tid,class,rtprio,ni,pri,psr,pcpu,stat,wchan:14,comm
# ps axo stat,euid,ruid,tty,tpgid,sess,pgrp,ppid,pid,pcpu,comm
# ps -eopid,tt,user,fname,tmout,f,wchan

Exibir somente as IDs de processo do Lighttpd

# ps -C lighttpd -o pid=
OU
# pgrep lighttpd
OU
# pgrep -u vivek php-cgi

Exibir O Nome do PID 55977

# ps -p 55977 -o comm=

Descubra o processo de consumo de memória do Top 10

# ps -auxf | sort -nr -k 4 | head -10

Descubra o processo de consumo de CPU

# ps -auxf | sort -nr -k 3 | head -10

 

# 6: livre – uso da memória

O comando free exibe a quantidade total de memória física e de troca livre e usada no sistema, bem como os buffers usados pelo kernel.
# free
Saída de amostra:

  Total de buffers compartilhados gratuitos armazenados em cache
 Mem: 12302896 9739664 2563232 0 523124 5154740
 - / + buffers / cache: 4061800 8241096
 Troca: 1052248 0 1052248

=> Relacionado ::

  1. Linux Descubra Memória Virtual PAGESIZE
  2. Linux Limite o uso da CPU por processo
  3. Quanto RAM meu Ubuntu / Fedora Linux tem PC de mesa?

 

# 7: iostat – carga média da CPU, atividade de disco

O comando iostat relata as estatísticas da Unidade de Processamento Central (CPU) e as estatísticas de entrada / saída para dispositivos, partições e sistemas de arquivos de rede (NFS).
# iostat
Exemplos de Saídas:

  Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009

 Avg-cpu:% usuário% nice% sistema% iowait% roubar% inativo
            3,50 0,09 0,51 0,03 0,00 95,86

 Dispositivo: tps Blk_read / s Blk_wrtn / s Blk_read Blk_wrtn
 Sda 22,04 31,88 512,03 16193351 260102868
 Sda1 0,00 0,00 0,00 2166 180
 Sda2 22,04 31,87 512,03 16189010 260102688
 Sda3 0,00 0,00 0,00 1615 0

=> Relacionado :: Linux Track NFS Directory / Disk I / O Stats

 

# 8: sar – Coletar e Reportar Atividade do Sistema

O comando sar é usado para coletar, reportar e salvar informações de atividade do sistema. Para ver o contador de rede, digite:
# sar -n DEV | more
Para exibir os contadores de rede do 24:
# sar -n DEV -f /var/log/sa/sa24 | more
Você também pode exibir o uso em tempo real usando sar:
# sar 4 5
Exemplos de Saídas:

  Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009

 06:45:12 PM CPU% usuário% nice% sistema% iowait% roubar% ocioso
 06:45:16 PM todos 2,00 0,00 0,22 0,00 0,00 97,78
 06:45:20 PM todos 2,07 0,00 0,38 0,03 0,00 97,52
 06:45:24 PM todos 0,94 0,00 0,28 0,00 0,00 98,78
 06:45:28 PM todos 1.56 0.00 0.22 0.00 0.00 98.22
 06:45:32 PM todos 3,53 0,00 0,25 0,03 0,00 96,19
 Média: tudo 2,02 0,00 0,27 0,01 0,00 97,70

=> Related:: Como coletar dados de utilização do sistema Linux em um arquivo

 

# 9: mpstat – Uso de Multiprocessador

O comando mpstat exibe atividades para cada processador disponível, sendo o processador 0 o primeiro. Mpstat -P ALL para mostrar a utilização média da CPU por processador:
# mpstat -P ALL
Saída de amostra:

  Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2009

 06:48:11 PM CPU% usuário% nice% sys% iowait% irq% soft% roubar% idle intr / s
 06:48:11 PM todos 3,50 0,09 0,34 0,03 0,01 0,17 0,00 95,86 1218,04
 06:48:11 PM 0 3,44 0,08 0,31 0,02 0,00 0,12 0,00 96,04 1000,31
 06:48:11 PM 1 3.10 0,08 0,32 0,09 0,02 0,11 0,00 96,28 34,93
 06:48:11 PM 2 4,16 0,11 0,36 0,02 0,00 0,11 0,00 95,25 0,00
 06:48:11 PM 3 3,77 0,11 0,38 0,03 0,01 0,24 0,00 95,46 44,80
 06:48:11 PM 4 2,96 0,07 0,29 0,04 0,02 0,10 0,00 96,52 25,91
 06:48:11 PM 5 3,26 0,08 0,28 0,03 0,01 0,10 0,00 96,23 14,98
 06:48:11 PM 6 4,00 0,10 0,34 0,01 0,00 0,13 0,00 95,42 3,75
 06:48:11 PM 7 3,30 0,11 0,39 0,03 0,01 0,46 0,00 95,69 76,89

=> Relacionado:: Linux exibe cada utilização de vários processadores SMP CPU individualmente .

 

# 10: pmap – Process Memory Usage

O comando pmap relata o mapa de memória de um processo. Use este comando para descobrir as causas dos gargalos da memória.
# pmap -d PID
Para exibir informações de memória de processo para o pid # 47394, digite:
# pmap -d 47394
Exemplos de Saídas:

  47394: / usr / bin / php-cgi
 Mapeamento de Dispositivos de Deslocamento de Modo Kbytes de Endereço
 0000000000400000 2584 rx-- 0000000000000000 008: 00002 php-cgi
 0000000000886000 140 rw --- 0000000000286000 008: 00002 php-cgi
 00000000008a9000 52 rw --- 00000000008a9000 000: 00000 [anon]
 0000000000aa8000 76 rw --- 00000000002a8000 008: 00002 php-cgi
 000000000f678000 1980 rw --- 000000000f678000 000: 00000 [anon]
 000000314a600000 112 rx-- 0000000000000000 008: 00002 ld-2.5.so
 000000314a81b000 4 r ---- 000000000001b000 008: 00002 ld-2.5.so
 000000314a81c000 4 rw --- 000000000001c000 008: 00002 ld-2.5.so
 000000314aa00000 1328 rx-- 0000000000000000 008: 00002 libc-2.5.so
 000000314ab4c000 2048 ----- 000000000014c000 008: 00002 libc-2.5.so
 -benzóico.
 -benzóico.
 -benzóico.
 00002af8d48fd000 4 rw --- 0000000000006000 008: 00002 xsl.so
 00002af8d490c000 40 rx-- 0000000000000000 008: 00002 libnss_files-2.5.so
 00002af8d4916000 2044 ----- 000000000000a000 008: 00002 libnss_files-2.5.so
 00002af8d4b15000 4 r ---- 0000000000009000 008: 00002 libnss_files-2.5.so
 00002af8d4b16000 4 rw --- 000000000000a000 008: 00002 libnss_files-2.5.so
 00002af8d4b17000 768000 rw-s- 0000000000000000 000: 00009 zero (excluído)
 00007fffc95fe000 84 rw --- 00007ffffffea000 000: 00000 [pilha]
 Ffffffffff600000 8192 ----- 0000000000000000 000: 00000 [anon]
 Mapeado: 933712K gravável / privado: 4304K compartilhado: 768000K

A última linha é muito importante:

  • Mapeado: 933712K quantidade total de memória mapeada para arquivos
  • Writeable / private: 4304K a quantidade de espaço de endereço privado
  • Compartilhado: 768000K a quantidade de espaço de endereçamento que este processo está compartilhando com outros

=> Related:: Linux encontra a memória usada por um programa / processo usando o comando pmap

 

# 11 e # 12: netstat e ss – Estatísticas de Rede

O comando netstat exibe conexões de rede, tabelas de roteamento, estatísticas de interface, conexões de mascarada e associações de multicast. Ss comando é usado para despejar estatísticas soquete. Permite mostrar informações semelhantes às do netstat. Consulte os seguintes recursos sobre os comandos ss e netstat:

  • Ss: Exibir informações TCP / UDP de rede e soquete do Linux
  • Obter informações detalhadas sobre conexões de endereço IP específicas usando o comando netstat

 

# 13: iptraf – Estatísticas de Rede em Tempo Real

O comando iptraf é monitor colorido IP interativo de LAN. É um monitor LAN IP baseado em ncurses que gera várias estatísticas de rede, incluindo informações TCP, contagens UDP, informações ICMP e OSPF, informações sobre carga Ethernet, estatísticas de nó, erros de soma de verificação IP e outros. Ele pode fornecer as seguintes informações em formato fácil de ler:

  • Estatísticas de tráfego de rede por conexão TCP
  • Estatísticas de tráfego IP por interface de rede
  • Estatísticas de tráfego de rede por protocolo
  • Estatísticas de tráfego de rede por porta TCP / UDP e por tamanho de pacote
  • Estatísticas de tráfego de rede por endereço Layer2
Fig.02: estatísticas de interface Geral: estatísticas de tráfego IP de interface de rede

Fig.02: Estatísticas gerais da interface: estatísticas de tráfego IP por interface de rede

estatísticas de tráfego Fig.03 rede por conexão TCP

Fig.03 Estatísticas de tráfego de rede por conexão TCP

 

# 14: tcpdump – Análise detalhada do tráfego de rede

O tcpdump é simples comando que dump o tráfego em uma rede. No entanto, você precisa de boa compreensão do protocolo TCP / IP para utilizar esta ferramenta. For.eg para exibir informações de tráfego sobre o DNS, digite:
# tcpdump -i eth1 'udp port 53'
Para exibir todos os pacotes IPv4 HTTP de e para a porta 80, ou seja, imprimir somente pacotes que contenham dados, não, por exemplo, pacotes SYN e FIN e pacotes ACK somente, digite:
# tcpdump 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
Para exibir todas as sessões de FTP para 202.54.1.5, digite:
# tcpdump -i eth1 'dst 202.54.1.5 and (port 21 or 20'
Para exibir toda a sessão HTTP para 192.168.1.5:
# tcpdump -ni eth0 'dst 192.168.1.5 and tcp and port http'
Use wireshark para exibir informações detalhadas sobre arquivos, digite:
# tcpdump -n -i eth1 -s 0 -w output.txt src or dst port 80

 

# 15: strace – Chamadas do sistema

Rastreie chamadas e sinais do sistema. Isso é útil para depurar o servidor web e outros problemas do servidor. Veja como usar para rastrear o processo e ver o que ele está fazendo.

 

# 16: / Proc sistema de arquivos – Vários Kernel Statistics

O sistema de arquivos / proc fornece informações detalhadas sobre vários dispositivos de hardware e outras informações sobre o kernel do Linux. Consulte as documentações do kernel / proc do Linux para obter mais detalhes. Exemplos comuns / proc:
# cat /proc/cpuinfo
# cat /proc/meminfo
# cat /proc/zoneinfo
# cat /proc/mounts

 

17 #: Nagios – Monitoramento de Servidores e Redes

O Nagios é um popular sistema de software de código aberto e software de monitoramento de rede. Você pode facilmente monitorar todos os seus hosts, equipamentos de rede e serviços. Ele pode enviar alerta quando as coisas dão errado e novamente quando eles ficam melhores. FAN é “Nagios Totalmente Automatizado”. Os objetivos do FAN são fornecer uma instalação do Nagios, incluindo a maioria das ferramentas fornecidas pela comunidade Nagios. O FAN fornece uma imagem de CD-ROM no formato ISO padrão, facilitando a instalação fácil de um servidor Nagios. Adicionado a isso, um amplo conjunto de ferramentas estão incluindo para a distribuição, a fim de melhorar a experiência do usuário em torno Nagios.

 

18 #: Cacti – Ferramenta de Monitoramento Baseada na Web

Cacti é uma solução gráfica de rede completa projetada para aproveitar o poder da funcionalidade de armazenamento e gráficos de dados do RRDTool. Cacti fornece um poller rápido, modelo avançado do gráfico, métodos múltiplos da aquisição de dados, e características da gerência do usuário fora da caixa. Tudo isso está envolvido em uma interface intuitiva e fácil de usar que faz sentido para instalações de tamanho LAN até redes complexas com centenas de dispositivos. Ele pode fornecer dados sobre rede, CPU, memória, usuários registrados, Apache, servidores DNS e muito mais. Veja como instalar e configurar a ferramenta de gráficos de rede Cacti em CentOS / RHEL.

 

# 19: KDE System Guard – Sistemas em Tempo Real Relatórios e Gráficos

O KSysguard é um aplicativo de monitoramento de tarefas e de sistema habilitado para a área de trabalho do KDE. Esta ferramenta pode ser executada durante a sessão ssh. Ele fornece muitos recursos, como uma arquitetura cliente / servidor que permite o monitoramento de hosts locais e remotos. A interface gráfica usa os chamados sensores para recuperar as informações exibidas. Um sensor pode retornar valores simples ou informações mais complexas, como tabelas. Para cada tipo de informação, são fornecidos um ou mais monitores. As telas são organizadas em planilhas que podem ser salvas e carregadas independentemente umas das outras. Assim, o KSysguard não é apenas um gerenciador de tarefas simples, mas também uma ferramenta muito poderosa para controlar grandes farms de servidores.

Fig.05 Guard Sistema KDE

Fig.05 KDE System Guard {Crédito da imagem: Wikipedia}

Veja o manual do KSysguard para um uso detalhado .

 

# 20: Gnome System Monitor – Sistemas em Tempo Real Relatórios e Gráficos

O aplicativo System Monitor permite exibir informações básicas do sistema e monitorar processos do sistema, uso de recursos do sistema e sistemas de arquivos. Você também pode usar o Monitor do Sistema para modificar o comportamento do seu sistema. Embora não seja tão poderoso quanto o KDE System Guard, ele fornece as informações básicas que podem ser úteis para novos usuários:

  • Exibe várias informações básicas sobre o hardware e software do computador.
  • Versão do kernel do Linux
  • Versão do GNOME
  • Hardware
  • Memória instalada
  • Processadores e Velocidades
  • Status do sistema
  • Espaço em disco atualmente disponível
  • Processos
  • Memória e espaço de troca
  • Uso da rede
  • Sistemas de arquivos
  • Lista todos os sistemas de arquivos montados, juntamente com informações básicas sobre cada um.
Fig.06 A aplicação Gnome System Monitor

Fig.06 A aplicação Gnome System Monitor

Bônus: Ferramentas Adicionais

Mais algumas ferramentas:

  • Nmap – verifica o servidor para portas abertas.
  • Lsof – lista arquivos abertos, conexões de rede e muito mais.
  • Ntop ferramenta baseada na web – ntop é a melhor ferramenta para ver o uso da rede de uma forma semelhante ao que o comando superior faz para os processos, ou seja, é software de monitoramento de tráfego de rede. Você pode ver status de rede, protocolo sábio distribuição de tráfego para UDP, TCP, DNS, HTTP e outros protocolos.
  • Conky – Outra boa ferramenta de monitoramento para o X Window System. É altamente configurável e é capaz de monitorar muitas variáveis do sistema, incluindo o status da CPU, memória, espaço de swap, armazenamento em disco, temperaturas, processos, interfaces de rede, energia da bateria, mensagens do sistema, caixas de entrada de e-mail etc.
  • GKrellM – Pode ser usado para monitorar o status de CPUs, memória principal, discos rígidos, interfaces de rede, caixas de correio locais e remotas e muitas outras coisas.
  • Vnstat – vnStat é um monitor de tráfego de rede baseado em console. Ele mantém um log de tráfego de rede horária, diária e mensal para a interface selecionada.
  • Htop – htop é uma versão aprimorada do top, o visualizador de processo interativo, que pode exibir a lista de processos em forma de árvore.
  • Mtr – mtr combina a funcionalidade dos programas traceroute e ping em uma única ferramenta de diagnóstico de rede.

Perdi alguma coisa? Por favor, adicione a sua ferramenta favorita sistema de automobilismo nos comentários.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s