Análise e Monitoração de Performance em um Sistema Operacional Linux

Neste último artigo sobre ferramentas de monitoração via linha de comando para sistemas operacionais Linux a aplicação abordada será o sysstat. O pacote sysstat contém o comando sar que exibe um relatório sobre o passado do uso de recursos do sistema, dessa forma você pode utilizá-lo para analisar um incidente que foi reportado em algumas horas ou dias atrás.

 

 

sysstat – coleta, reporta e salva informações de performance do sistema

Instalação (Ubuntu e derivados do Debian):

aptitude install sysstat vi /etc/default/sysstat ENABLED="true" (deixe como 'true') /etc/init.d/sysstat restart

 A alteração em /etc/default/sysstat é necessária pois no Ubuntu e outros sistemas derivados do Debian, o serviço não é ativado durante a instalação e consequentemente nenhuma informação será salva e exibida pelo comando sar.

Um usuário pode entrar em contato para reportar um incidente que aconteceu há algumas horas ou dias e o iotop, top, htop e atop – foram abordados na primeiro e segundo artigo sobre ferramentas de monitoração aqui no blog mariano.eng.br – não são úteis, pois só funcionam para monitoração em tempo real ou com visualização de coleta acumulada, pois ainda se restringem ao momento da execução do aplicativo.

Para resolver este problema você pode usar o sysstat que é um coletor de métricas sobre o uso de recursos do sistema operacional Linux e com isso exibe relatórios sobre CPU, memória, disco, swap e outras métricas. Por padrão o sysstat salva os dados a cada 10 minutos dentro de arquivos de texto. Cada arquivo armazena um dia de monitoração, no Ubuntu o log fica localizado em /var/log/sysstat/, mas por padrão o comando sar – que exibe os relatórios – exibe somente o dia corrente caso não seja especificado por parâmetro. Mas ainda é possível visualizar as métricas em tempo real.

Alguns exemplos de utilização do comando sar:

  • Visualização de uso de CPU de todos os processadores juntos:
mariano@piracaia:~$ sar Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 00:05:01        all      3,24      0,00      0,69      0,28      0,00     95,79 Average:        all      3,24      0,00      0,69      0,28      0,00     95,79  21:42:01          LINUX RESTART  21:45:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 21:55:01        all      4,61      0,00      1,04      4,57      0,00     89,78 22:05:01        all      2,99      0,01      0,54      0,26      0,00     96,21 22:15:01        all      2,49      0,18      0,65      2,37      0,00     94,30 Average:        all      3,36      0,06      0,74      2,40      0,00     93,43

 

  • Visualização de uso de CPU para cada processador/core de forma individual:
mariano@piracaia:~$ sar -P ALL Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 00:05:01        all      3,24      0,00      0,69      0,28      0,00     95,79 00:05:01          0      4,25      0,00      0,93      0,04      0,00     94,77 00:05:01          1      2,11      0,00      0,37      0,05      0,00     97,47 00:05:01          2      4,44      0,00      1,07      0,21      0,00     94,28 00:05:01          3      1,33      0,00      0,47      1,64      0,00     96,57 00:05:01          4      4,34      0,00      0,96      0,07      0,00     94,63 00:05:01          5      2,58      0,00      0,28      0,02      0,00     97,12 00:05:01          6      4,77      0,00      0,94      0,14      0,00     94,15 00:05:01          7      2,09      0,00      0,51      0,10      0,00     97,30  Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle Average:        all      3,24      0,00      0,69      0,28      0,00     95,79 Average:          0      4,25      0,00      0,93      0,04      0,00     94,77 Average:          1      2,11      0,00      0,37      0,05      0,00     97,47 Average:          2      4,44      0,00      1,07      0,21      0,00     94,28 Average:          3      1,33      0,00      0,47      1,64      0,00     96,57 Average:          4      4,34      0,00      0,96      0,07      0,00     94,63 Average:          5      2,58      0,00      0,28      0,02      0,00     97,12 Average:          6      4,77      0,00      0,94      0,14      0,00     94,15 Average:          7      2,09      0,00      0,51      0,10      0,00     97,30

 

  • Relatório em uma data especifica. No exemplo 23 do mês corrente:
mariano@piracaia:~$ sar -f /var/log/sysstat/sa25 Linux 3.8.0-30-generic (piracaia) 	25-09-2013 	_x86_64_	(8 CPU)  20:45:01          LINUX RESTART  20:55:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 21:05:01        all      0,15      0,13      0,12      1,56      0,00     98,04 21:15:01        all      0,10      0,00      0,07      0,01      0,00     99,82 21:25:01        all      0,10      0,00      0,07      0,01      0,00     99,81 21:35:02        all      0,10      0,00      0,08      0,01      0,00     99,82 21:45:01        all      0,10      0,00      0,07      0,01      0,00     99,82 21:55:01        all      0,10      0,00      0,07      0,01      0,00     99,82 22:05:01        all      0,10      0,00      0,08      0,01      0,00     99,82 22:15:01        all      0,10      0,00      0,07      0,01      0,00     99,81 22:25:01        all      1,75      0,38      0,50      5,72      0,00     91,65 22:35:01        all      0,98      0,00      0,34      0,82      0,00     97,86 22:45:02        all      3,51      0,00      0,89      0,77      0,00     94,83 22:55:01        all      3,50      0,00      0,91      0,62      0,00     94,97 23:05:01        all      3,19      0,00      0,78      0,47      0,00     95,56 23:15:01        all      2,77      0,00      0,75      0,62      0,00     95,86 23:25:01        all      2,73      0,00      3,43      1,69      0,00     92,15 23:35:02        all      3,24      0,00      1,23      0,66      0,00     94,86 23:45:01        all      3,13      0,00      1,92      0,96      0,00     93,99 23:55:01        all      3,96      0,00      0,82      1,13      0,00     94,10 23:59:01        all      2,86      0,00      0,82      0,57      0,00     95,75 00:00:01        all      3,35      0,00      0,79      0,26      0,00     95,59 Average:        all      1,68      0,03      0,68      0,83      0,00     96,79

 

  • Com data especifica (dia 23) e exibição até 21:00 horas:
mariano@piracaia:~$ sar -f /var/log/sysstat/sa23 -e 20:00:00 Linux 3.8.0-30-generic (piracaia) 	23-09-2013 	_x86_64_	(8 CPU)  00:00:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 00:05:01        all      0,74      0,00      0,88      0,11      0,00     98,26 00:15:01        all      0,76      0,00      0,87      0,08      0,00     98,28 00:25:01        all      1,77      0,00      1,72      0,42      0,00     96,10 00:35:01        all      2,21      0,00      2,77      1,63      0,00     93,38 00:45:01        all      2,49      0,00      0,96      0,48      0,00     96,07 Average:        all      1,69      0,00      1,50      0,59      0,00     96,21  19:31:45          LINUX RESTART  19:35:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 19:45:01        all      2,50      0,43      0,62      7,10      0,00     89,34 19:55:01        all      3,42      0,13      6,52      7,91      0,00     82,02 Average:        all      2,96      0,28      3,57      7,51      0,00     85,69

 

  • Com data específica (dia 23) e exibição com início às 21:00 horas
mariano@piracaia:~$ sar -f /var/log/sysstat/sa23 -s 22:00:00 Linux 3.8.0-30-generic (piracaia) 	23-09-2013 	_x86_64_	(8 CPU)  22:05:01        CPU     %user     %nice   %system   %iowait    %steal     %idle 22:15:01        all      3,07      0,00      1,09      0,97      0,00     94,87 22:25:01        all      2,59      0,00      0,58      0,35      0,00     96,48 22:35:01        all      3,55      0,00      0,80      0,31      0,00     95,34 22:45:01        all      5,30      0,00      1,51      0,82      0,00     92,37 22:55:01        all      6,86      0,00      1,82      0,33      0,00     91,00 23:05:02        all     11,50      0,00      2,59      0,25      0,00     85,66 23:15:01        all      9,87      0,00      2,32      0,37      0,00     87,44 Average:        all      6,10      0,00      1,53      0,49      0,00     91,89

 

  • Relatório de operações de entrada e saída no disco. O comando sar utiliza a nomenclatura tps para IOPS.
mariano@piracaia:~$ sar -b Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01          tps      rtps      wtps   bread/s   bwrtn/s 00:05:01         9,32      1,02      8,30     37,90    157,09 Average:         9,32      1,02      8,30     37,90    157,09  21:42:01          LINUX RESTART  21:45:01          tps      rtps      wtps   bread/s   bwrtn/s 21:55:01        51,47     34,45     17,02   1318,86    394,59 22:05:01         7,76      0,34      7,42     10,89    126,42 22:15:01        65,61     55,44     10,17    832,17    564,24 22:25:01         3,49      0,05      3,44      2,31     96,75 Average:        32,08     22,57      9,51    541,05    295,50

 

  • Relatório de atividades para cada dispositivo de bloco:
mariano@piracaia:~$ sar -d Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util 00:05:01       dev8-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 00:05:01      dev8-16      9,32     37,90    157,09     20,91      0,10     10,32      4,51      4,21 00:05:01     dev252-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:       dev8-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:      dev8-16      9,32     37,90    157,09     20,91      0,10     10,32      4,51      4,21 Average:     dev252-0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 

 

  • Relatório de atividades de dispositivos de rede (algumas métricas exibidas – número de pacotes e número de kilobytes por segundo)

 

mariano@piracaia:~$ sar -n DEV Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s 00:05:01     vboxnet0      0,00      0,03      0,00      0,01      0,00      0,00      0,00 00:05:01         eth0      0,00      0,00      0,00      0,00      0,00      0,00      0,00 00:05:01           lo      0,43      0,43      0,09      0,09      0,00      0,00      0,00 00:05:01        wlan0     16,50     14,71      8,46      5,36      0,00      0,00      0,00 Average:     vboxnet0      0,00      0,03      0,00      0,01      0,00      0,00      0,00 Average:         eth0      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:           lo      0,43      0,43      0,09      0,09      0,00      0,00      0,00 Average:        wlan0     16,50     14,71      8,46      5,36      0,00      0,00      0,00 

 

 

 

  • Relatório de atividades de dispositivos de rede (principalmente erros – pacotes mal formados, erros que ocorreram durante a transmissão, colisões, transmissão e recebimento de pacotes dropados).

 

mariano@piracaia:~$ sar -n EDEV Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01        IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s 00:05:01     vboxnet0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 00:05:01         eth0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 00:05:01           lo      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 00:05:01        wlan0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:     vboxnet0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:         eth0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:           lo      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 Average:        wlan0      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00      0,00 

 

 

 

  • Relatório de fila de processos e carga do sistema (load average)

 

mariano@piracaia:~$ sar -q Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked 00:05:01            4       661      0,17      0,32      0,43         0 Average:            4       661      0,17      0,32      0,43         0  21:42:01          LINUX RESTART  21:45:01      runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked 21:55:01            5       668      0,50      0,97      0,85         0 22:05:01            6       658      0,36      0,42      0,58         0 22:15:01            5       668      0,02      0,29      0,50         0 22:25:01            8       664      0,22      0,23      0,38         0 Average:            6       664      0,28      0,48      0,58         0

 

 

 

  • Utilização de memória RAM:

 

mariano@piracaia:~$ sar -r Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact 00:05:01      5704840   6547504     53,44     98732   4987172   4807432     19,40   1667052   4377184 Average:      5704840   6547504     53,44     98732   4987172   4807432     19,40   1667052   4377184  21:42:01          LINUX RESTART  21:45:01    kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact 21:55:01      9599776   2652568     21,65     65048   1227272   4768920     19,24   1273744    999792 22:05:01      9831924   2420420     19,75     66656   1228404   4448680     17,95   1053764    990428 22:15:01      9283268   2969076     24,23    185928   1428228   4740992     19,13   1394736   1111236 22:25:01      9308608   2943736     24,03    186964   1428732   4657204     18,79   1402364   1076788 Average:      9505894   2746450     22,42    126149   1328159   4653949     18,78   1281152   1044561

 

 

 

  • Utilização de espaço na partição swap:

 

mariano@piracaia:~$ sar -S Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01    kbswpfree kbswpused  %swpused  kbswpcad   %swpcad 00:05:01     12528636         0      0,00         0      0,00 Average:     12528636         0      0,00         0      0,00  21:42:01          LINUX RESTART  21:45:01    kbswpfree kbswpused  %swpused  kbswpcad   %swpcad 21:55:01     12528636         0      0,00         0      0,00 22:05:01     12528636         0      0,00         0      0,00 22:15:01     12528636         0      0,00         0      0,00 22:25:01     12528636         0      0,00         0      0,00 Average:     12528636         0      0,00         0      0,00

 

 

 

  • Relatório de estatísticas de operações da partição swap:

 

mariano@piracaia:~$ sar -W Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  00:00:01     pswpin/s pswpout/s 00:05:01         0,00      0,00 Average:         0,00      0,00  21:42:01          LINUX RESTART  21:45:01     pswpin/s pswpout/s 21:55:01         0,00      0,00 22:05:01         0,00      0,00 22:15:01         0,00      0,00 22:25:01         0,00      0,00 Average:         0,00      0,00

 

 

 

  • Informações exibidas em tempo real, digite o comando abaixo para que o relatório seja atualizada a cada 2 segundos por 10 vezes sobre o uso do processador.

 

mariano@piracaia:~$ sar -u 2 10 Linux 3.8.0-30-generic (piracaia) 	26-09-2013 	_x86_64_	(8 CPU)  22:29:54        CPU     %user     %nice   %system   %iowait    %steal     %idle 22:29:56        all      0,25      0,00      0,25      0,13      0,00     99,37 22:29:58        all      0,25      0,00      0,13      0,00      0,00     99,62 22:30:00        all      0,31      0,00      0,19      0,00      0,00     99,50 22:30:02        all      0,63      0,00      0,31      0,31      0,00     98,75 22:30:04        all      0,31      0,00      0,06      0,00      0,00     99,62 22:30:06        all      0,25      0,00      0,19      0,00      0,00     99,56 22:30:08        all      0,44      0,00      0,06      0,19      0,00     99,31 22:30:10        all      0,31      0,00      0,13      0,00      0,00     99,56

 

 

Mais Informações: man sar ou man sysstat 

 

fonte: http://mariano.eng.br/ferramenta-monitorar-performance-linux-linha-comando-sysstat-sar/

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *