(Trilha LPIC): Parte 1 — Planejamento de Capacidade com Linux

Novamente aqui, trazendo conteúdo bacana sobre Linux para a comunidade, gostaria de informar que pretendo trabalhar em alguns posts mais voltados para a certificação da LPI e quero mostrar de forma bem resumida, as opções, os comandos e os possíveis casos em que podemos usar ambos. Vamos nessa que tem conteúdo bom pela frente pessoal! 🚀

Nesse primeiro post, vamos falar sobre em servidores Linux, eu vou ser bem simples na demonstração dos comandos e vou adicionar os prints diretamente da instancia EC2 da Amazon (ambiente que eu uso para estudos) e começarei mostrando as opções mais usadas e alguns comandos, como ,, , ,(que são comandos associados a análise de capacidade nos servidores, com esses comandos você pode mensurar e gerir toda a capacidade de recursos nos servidores).

Planejo escrever outras partes do mesmo assunto () e demonstrar o uso de outros comandos super importantes, como , , . Então, se você gostar desse post, não deixe de acompanhar os próximos, prometo que vou caprichar. 😜

Se você tem interesse em estudar mais a fundo Linux e aprender seguindo um roadmap técnico e focado, sugiro você a navegar pelo site da LPIC-2 e olhar os objetivos das provas. Informo também que eu não estou fazendo marketing, ou tentando ganhar algo indicando o site da LPI, longe disso… apenas citei isso porque os objetivos da certificação é bem focado na carreira de mercado de um SysAdmin.

Ahhh, e se você quiser um post depois sobre meu setup de estudos, posso mostrar com detalhes, como eu usei Ansible, Terraform e AWS para executar e configurar minhas instancias na cloud.

E se você ficou curioso, já postei aqui no passado sobre , , , , bora ler? 🚀 ☁️ 💻

Vamos começar vendo o comando , para isso temos que instalar o pacote no nosso sistema, esse comando não tem por padrão no Linux, e esse pacote inclui outros comandos que vamos usar durante esse post:

Ansible (ad-hoc command)

Eu já tinha esse pacote então o Ansible logo avisou, bora prosseguir!

(relatório de uso de CPU, I/O dos dispositivos de armazenamento, tanto CPU, como dos dispositivos).

Se eu digitar o comando sem parâmetros:

iostat Linux command

O que é importante sobre esse comando são as opções que aparecem na linha do , que são:

(mostra os dados de aplicações a nível de usuário, porcentagem de uso da CPU).
(mostra os processos e a prioridade de cada processo).
(mostra o uso de CPU pelo kernel).
(quanto tempo a CPU ficou esperando algum procedimento de entrada e saída em disco, escrita e leitura em disco).
(usado em maquinas virtuais, tempo que a CPU da maquina virtual ficou esperando os recursos da CPU real).
(tempo que a CPU ficou em status idle, livre de CPU).

A instância é bem simples, possui apenas uma CPU, e um disco.
Agora vamos ver algumas opções interessantes e bem usadas para esse comando:

  • $ (mostra os dados em megabytes):
iostat -m
  • $ (mostra os dados de forma mais organizada):
iostat -h
  • $ (mostra apenas os dados de CPU do sistema):
iostat -ch
  • $ (mostra os dados dos dispositivos do sistema):
iostat -dh
  • $ (mostra os dados de escrita, I/O de todas as partições):
iostat -ph

Agora, vamos ver um outro método de uso do comando que podemos usar para verificar os dados em tempo real no Linux, veja:

  • $ (mostra o relatório de CPU a cada 2 segundos, sendo a primeira entrada a media geral do sistema, e as outras saídas em tempo real):
iostat -c 2

Podemos usar o comando também para mostrar esses dados em tempo real:

  • $ (mostra os dados do comando a cada 2 segundos):
watch -n2 iostat

No comando abaixo vou forçar esse consumo de uso utilizando o seguinte comando:

  • $ (criar uma imagem sem especificar o tamanho real):
dd command

Pode notar que ele está em execução:

ps command

Veja como o comando muda os valores da saída do comando :

iostat command

O comando também pode mostrar os dados de CPU, I/O por intervalos:

  • $ (mostra o relatório a cada 2 segundos por 5 vezes)
iostat -c 2 5

(mostra um relatório, é uma alternativa ao comando , que contém dados de memória, paginação, processos, buffer, blocos de I/O).

Vamos verificar a saída desse comando sem parâmetros:

vmstat command

As duas primeiras colunas são relevantes, veja mais abaixo:

fila de processamento, esta sendo executado, esta em ready.
- estado de bloqueio, esperando um processo de I/O.

  • $ (mostra um reporte das estatísticas de disco do sistema):
vmstat -d
  • $ (mostra um reporte da partição desse disco):
vmstat -p /dev/xvda1

O comando também mostra os dados em tempo real com intervalos:

vmstat 2 5

(mostra informações detalhadas sobre CPU).

mpstat

Pode ver de acordo com o resultado do comando que o mostra mais detalhes sobre a CPU, contém mais campos do que o comando .

Para mais opções detalhadas desse comando utilize a do .

(mostra o histórico de recursos de hardware do sistema, ele faz parte do pacote ).

Veja abaixo a saída do comando :

sar command

Mais abaixo eu explico porque ele coleta tantos dados a cada 10 minutos.

Existe o serviço

  • $

Outro ponto bacana de saber é que esse comando possui um coletor que roda na cron, ele coleta os dados/histórico dos serviços do sistema.

Temos dois comandos importantes sobre o :

whatis command

No arquivo /etc/cron.d/sysstat ele tem configurado por padrão a coleta dos dados a cada 10 minutos, por isso que no comando ele mostra a saída a cada 10 minutos:

Ele registra esses logs dentro dos seguintes arquivos de acordo com o sistema:

No padrão ele salva em (/var/log/sysstat).
No padrão ele salva em (/var/log/sa).

Agora vamos as opções mais usadas do comando :

  • $ (mostra os dados do dia 20/12, histórico do que aconteceu):
sar -f sa 20
  • $ (mostra os dados/histórico de memoria do sistema):
sar -r

Vale dizer que essa saída do é basicamente a mesma saída do comando (que mostra dados de memoria/SWAP do sistema).

  • $ (mostra dados referente a SWAP do sistema):
sar -S
  • $ (mostra dados das interfaces de rede do sistema):
sar -n DEV

Podemos usar o também como os comandos e mostrando os intervalos a cada tantos segundos:

$ (mostra dados de CPU a cada 2 segundos):

sar -u 2

Esse comando é bem utilizado para análise de performance, verificação de disco, de memória, de SWAP do sistema.

: (esse comando mostra alguns dados de quem esta logado no sistema).

Veja abaixo a saída do comando :

w command
  • Podemos ver que existe um usuário conectado, que é o .
  • Esse usuário esta conectado no terminal (terminal local) e PTS (terminal remoto).
  • se usarmos o comando podemos desconectar um usuário que esta conectado sem fazer nada, em .
  • $ (desconecta o usuário da sessão):
fuser command

Bom pessoal, por hoje é apenas isso mesmo, se eu estender mais aqui o artigo ficará imenso… Agradeço a sua leitura/prática aqui com os comandos e não deixe de usar esses comandos em seu ambiente para gerenciamento de capacidade nos sistemas Linux, vai ajudar DEMAIS! 🐧
Agradeço imensamente aos professores de Linux Ricardo Prudenciato e @Bruno Odon. Fica ligado nos próximos posts pessoal!

#VAIIII

Senior Linux Administrator at IBM

Senior Linux Administrator at IBM