Ao realizar tarefas de administração em ambientes Linux, é ideal e aconselhável contar com ferramentas e utilitários que nos permitam ter um controle muito mais preciso sobre os dados a serem analisados, pois assim simplificamos e ordenamos nossa tarefa, permitindo-nos obter muito mais resultados exatos.
Uma dessas utilidades é a iostat e hoje na Solvetic analisaremos como podemos utilizá-la para obter relatórios diretos, claros e totalmente confiáveis dos elementos que gerenciamos em nossa organização independente da distribuição utilizada, neste caso utilizaremos Servidor Ubuntu 17.10.
O que é iostatIostat (estatísticas de entrada / saída - estatísticas de entrada / saída) é um utilitário através do qual será possível obter informações sobre os componentes de entrada e saída do sistema, proporcionando ao administrador ou usuário a possibilidade de identificar problemas de desempenho em ambos os discos locais e discos remotos ou informações gerais do sistema operacional.
Ao usar este comando, ele pode ser usado para controlar a carga do dispositivo de entrada / saída do sistema, observando o tempo que esses dispositivos estão ativos em relação às suas taxas de transferência médias dentro do sistema.
Quando usarmos o iostat, será possível gerar relatórios que podem ser usados para alterar a configuração do sistema e balancear de forma muito mais eficiente a carga de entrada e / ou saída entre os discos físicos.
O primeiro relatório gerado pelo comando iostat fornece estatísticas sobre o tempo geral desde o início do processo de inicialização do sistema, portanto, cada relatório subsequente cobre o tempo decorrido desde o relatório anterior; Todas as estatísticas serão relatadas sempre que executarmos o comando iostat.
Este relatório consiste em uma linha de cabeçalho de CPU seguida por uma linha de estatísticas de CPU e, se tivermos sistemas multiprocessadores, as estatísticas de CPU são calculadas em todo o sistema como médias entre todos os processadores existentes e, em seguida, uma linha de cabeçalhos de dispositivo seguida por uma linha de estatísticas para cada dispositivo configurado.
1. Instale o iostat no Ubuntu 17.10
Por padrão nesta distribuição, o iostat está incluído no pacote sysstat do Ubuntu e podemos instalá-lo simplesmente executando o seguinte comando:
sudo apt install sysstat -y
PROLONGAR
2. Use iostat no Ubuntu 17.10
Passo 1
O primeiro comando que podemos executar é iostat, que exibirá informações sobre o uso da CPU e estatísticas de E / S do Ubuntu 17.10:
PROLONGAR
Passo 2
Lá, veremos detalhes como:
- Na primeira linha, a versão do kernel Linux e o nome do host.
- Nas próximas duas linhas, veremos as estatísticas da CPU, como o uso médio da CPU, a porcentagem de tempo em que a CPU ficou ociosa e a resposta de I / O, a porcentagem do tempo limite da CPU virtual e a porcentagem de tempo em que a CPU está ociosa no sistema.
- Nas duas últimas linhas poderemos ver o relatório de utilização do dispositivo, como a quantidade de blocos de leitura e escrita por segundo e o número total de blocos de leitura e escrita por segundo que foram executados no referido dispositivo.
etapa 3
Por padrão, o comando iostat gera o relatório com a data atual, portanto, se quisermos mostrar a hora atual, será necessário utilizar o seguinte comando:
iostat -t
PROLONGAR
Passo 4
No momento, queremos verificar a versão do iostat, basta executar o seguinte:
iostat -V
PROLONGAR
Etapa 5
Vale ressaltar que, para ver todas as opções, que iremos indicar a seguir, podemos utilizar a seguinte linha:
iostat -help
PROLONGAR
3. Use o modo iostat avançado no Ubuntu 17.10
Em alguns casos, podemos fazer uso de alguns parâmetros mais avançados dependendo do tipo de solicitação solicitada, algumas dessas opções são as seguintes.
Passo 1
Se quisermos ver o relatório de um dispositivo apenas uma vez, executaremos o seguinte comando:
iostat -d
PROLONGAR
Passo 2
Para ver o relatório deste dispositivo continuamente a cada 7 segundos, por 4 vezes seguidas, executaremos a seguinte linha:
iostat -d 7 4
PROLONGAR
etapa 3
Se quisermos ver as estatísticas de dispositivos específicos, usaremos o seguinte comando:
iostat -p sda
PROLONGAR
Passo 4
Podemos ver as estatísticas de vários dispositivos ao mesmo tempo executando o seguinte:
iostat -p sda, sdb, sdcEtapa 5
Para obter as estatísticas de I / O do dispositivo em MB / segundo, executaremos o seguinte comando:
iostat -m
PROLONGAR
Etapa 6
Para obter as informações específicas de uma partição estendida, devemos usar o seguinte comando:
iostat -x "partição"
PROLONGAR
Etapa 7
Para exibir as estatísticas de uso da CPU, o comando a ser usado será o seguinte:
iostat -c
PROLONGAR
4. Relatórios Iostat no Ubuntu 17.10
Agora, podemos ver que cada uma das opções de uso são práticas, mas cada linha contém um determinado valor que à primeira vista não conseguiremos entender muito bem, por isso a Solvetic vai explicar o que significa cada um desses valores para entender ainda melhor os resultados gerados pelo iostat entendendo que o comando iostat gera três tipos de relatórios que são:
- O relatório de utilização da CPU
- O relatório de uso do dispositivo
- O relatório do sistema de arquivos de rede
Passo 1
Agora, os valores são os seguintes. No primeiro relatório gerado pelo comando iostat, temos os detalhes de utilização da CPU. Para sistemas multiprocessadores, os valores da CPU são médias globais em todos os processadores ativos. O relatório tem o seguinte formato:
% do utilizadorExibe a porcentagem de uso da CPU que ocorreu durante a execução no nível do usuário (aplicativo).
% bomReflete a porcentagem de uso da CPU que ocorreu durante a execução na camada do usuário com alta prioridade.
% sistemaExibe a porcentagem de uso da CPU que ocorreu durante a execução no nível do sistema (kernel).
% iowaitExibe a porcentagem de tempo em que a CPU ou CPUs estiveram ociosas durante o qual o sistema teve uma solicitação de E / S de disco pendente.
% roubarExibe a porcentagem de tempo gasto inadvertidamente esperando pela (s) CPU (s) virtual (is) enquanto o hipervisor estava servindo a outro processador virtual.
% ociosoMostra a porcentagem de tempo que a (s) CPU (s) estiveram ociosas e o sistema não tinha uma solicitação de E / S de disco pendente.
Passo 2
O segundo relatório gerado pelo comando iostat é o Relatório de utilização do dispositivo neste relatório de dispositivo, as estatísticas são fornecidas por dispositivo físico ou por partição. O relatório pode exibir os seguintes campos, dependendo dos indicadores usados:
DispositivoEsta coluna fornece o nome do dispositivo (ou partição), exibido como hdiskn para kernels 2.2, para o enésimo dispositivo. Ele é exibido como devm -n com 2.4 kernels, onde m é o número do dispositivo principal en é um número distinto. Com os kernels mais novos, o nome do dispositivo será exibido conforme mostrado no diretório / dev.
tpsIndica o número de transferências por segundo que entraram no dispositivo. Uma transferência é uma solicitação de I / O para o dispositivo, pode ser combinada com várias solicitações lógicas em uma única solicitação de I / O para o dispositivo. Uma transferência é de tamanho indeterminado.
Blk_read / sRefere-se à quantidade de dados lidos do dispositivo expressa em um número de blocos por segundo. Os blocos são equivalentes a setores com kernels 2.4 e posteriores e, portanto, têm 512 bytes de tamanho. Com núcleos mais antigos, o bloco tem tamanho indeterminado.
Blk_wrtn / sIndica a quantidade de dados gravados no dispositivo expressa em vários blocos por segundo.
Blk_readÉ o número total de blocos lidos.
Blk_wrtnÉ o número total de blocos escritos.
kB_read / sIndica a quantidade de dados lidos do dispositivo expressa em kilobytes por segundo.
kB_wrtn / sIndica a quantidade de dados gravados no dispositivo expressa em kilobytes por segundo.
kB_readÉ o número total de kilobytes lidos.
kB_wrtnÉ o número total de kilobytes gravados.
MB_read / sRefere-se à quantidade de dados lidos do dispositivo, expressa em megabytes por segundo.
MB_wrtn / sRefere-se à quantidade de dados gravados do dispositivo, expressa em megabytes por segundo.
MB_readÉ o número total de megabytes lidos.
MB_wrtnÉ o número total de megabytes gravados.
rrqm / sEste é o número de solicitações de leitura mescladas por segundo que foram enfileiradas no dispositivo.
wrqm / sEste é o número de solicitações de gravação mescladas por segundo que foram enfileiradas no dispositivo.
r / sÉ o número de solicitações de leitura emitidas para o dispositivo por segundo.
w / sÉ o número de solicitações de gravação emitidas para o dispositivo por segundo.
rsec / sEles são o número de setores lidos do dispositivo por segundo.
wsec / sEles são o número de setores gravados do dispositivo por segundo.
rkB / sEles são o número de kilobytes lidos do dispositivo por segundo.
wkB / sEles são o número de kilobytes gravados no dispositivo por segundo.
rMB / sEles são o número de megabytes lidos do dispositivo por segundo.
wMB / sEles são o número de megabytes gravados no dispositivo por segundo.
avgrq-szÉ o tamanho médio (em setores) das solicitações que foram emitidas para o dispositivo.
avgqu-szÉ a duração média da fila de solicitações emitidas para o dispositivo.
aguardamÉ o tempo médio (em milissegundos) para as solicitações de E / S emitidas para o dispositivo ser servido no sistema.
svctmÉ o tempo médio de serviço (em milissegundos) para as solicitações de E / S que foram emitidas para o dispositivo.
%ÚtilIndica a porcentagem de tempo de CPU durante o qual as solicitações de E / S foram emitidas para o dispositivo (uso de largura de banda para o dispositivo). A saturação do dispositivo ocorre quando este valor está próximo a 100%.
etapa 3
O terceiro relatório iostat é o relatório Network File System (NFS), que fornece estatísticas para cada sistema de arquivos de rede montado no sistema. O relatório mostra os seguintes campos:
Sistema de arquivoEsta coluna exibe o nome do host do servidor NFS seguido por dois pontos e o nome do diretório onde o sistema de arquivos de rede está montado.
rBlk_nor / sIndica o número de blocos lidos por aplicativos por meio da interface de chamada do sistema de leitura, um bloco tem um tamanho de 512 bytes.
wBlk_nor / sIndica o número de blocos gravados por aplicativos por meio da interface de chamada do sistema de gravação.
rBlk_dir / sRefere-se ao número de blocos lidos de arquivos abertos com o sinalizador O_DIRECT.
wBlk_dir / sIndica o número de blocos gravados em arquivos abertos com o sinalizador O_DIRECT.
rBlk_svr / sRefere-se ao número de blocos lidos do servidor pelo cliente NFS por meio de uma solicitação de leitura NFS.
wBlk_svr / sIndica o número de blocos gravados no servidor pelo cliente NFS por meio de uma solicitação NFS WRITE.
ops / sIndica o número de operações que foram emitidas para o sistema de arquivos por segundo.
rops / sIndica o número de operações de 'leitura' que foram emitidas para o sistema de arquivos por segundo.
wops / sRefere-se ao número de operações de 'gravação' que foram emitidas para o sistema de arquivos por segundo.
5. Parâmetros gerais de iostat no Ubuntu 17.10
Os parâmetros que podemos usar com iostat são:
-cGere o relatório de uso da CPU.
-dGere o relatório de uso do dispositivo.
-hPermita que o relatório NFS seja exibido por escolha - é mais fácil para uma pessoa ler.
-kExibe estatísticas em kilobytes por segundo em vez de blocos por segundo. Os dados mostrados são válidos apenas com kernels 2.4 e posteriores.
-mEle gera estatísticas em megabytes por segundo em vez de blocos ou kilobytes por segundo. Os dados mostrados são válidos apenas com kernels 2.4 e posteriores.
-nExibe o relatório do Network File System (NFS). Esta opção funciona apenas com o kernel 2.6.17 e versões posteriores.
-p[{dispositivo [,…] | ALL}]: A opção -p exibe as estatísticas dos dispositivos de bloco e todas as suas partições que são usadas pelo sistema. Se adicionarmos um nome de dispositivo na linha de comando, as estatísticas e todas as suas partições serão exibidas. Finalmente, a palavra-chave ALL indica que as estatísticas devem ser exibidas para todas as partições e dispositivos de bloco definidos pelo sistema.
-tImprime a hora de cada relatório gerado. O formato do carimbo de data / hora pode depender do valor da variável de ambiente S_TIME_FORMAT.
-VImprima a versão do iostat usado.
-xExibir estatísticas estendidas.
-zInstrui o iostat a ignorar a saída de qualquer dispositivo para o qual não haja atividade durante o período de amostra selecionado.
Como podemos ver, iostat é mais do que um simples utilitário de sistema, devemos aproveitá-lo ao máximo e assim gerenciar nossos sistemas operacionais de uma forma muito mais completa.