Pesquisa de site

LFCA: Como monitorar métricas básicas do sistema no Linux – Parte 8


Este artigo é a Parte 8 da série LFCA. Aqui nesta parte, você se familiarizará com os comandos gerais de administração do sistema para monitorar métricas básicas do sistema e agendar tarefas administrativas no sistema Linux.

Manter o controle sobre o desempenho do seu sistema é uma das funções cruciais que você terá que desempenhar como administrador de sistemas. Claro, existem ferramentas de monitoramento de código aberto suficientes, como Grafana e Nagios, para monitorar métricas do sistema.

Felizmente, o Linux fornece alguns utilitários de linha de comando que permitem que você dê uma olhada em algumas estatísticas e informações vitais do sistema, como utilização de CPU e memória e processos em execução.

Vamos dar uma olhada rápida em algumas das ferramentas de linha de comando que podem ajudá-lo a monitorar as métricas básicas do sistema:

1. Comando de tempo de atividade

O comando uptime fornece a duração em que o sistema está em execução desde que foi ligado. Sem nenhuma opção de comando, ele fornece a hora atual, o tempo em que o sistema esteve ativo, os usuários logados e a média de carga.

uptime

Com a opção -s você obtém a data do sistema e a hora em que o sistema foi ligado.

uptime -s

Use a opção -p para obter apenas o tempo de atividade

uptime -p

2. Comando grátis

Para ter uma ideia da memória total e disponível e do espaço de troca em seu sistema, use o comando free da seguinte maneira. A opção -h imprime a saída em um formato legível por humanos.

free -h

3. Comando superior

O comando top faz duas coisas: fornece um resumo das métricas do sistema em tempo real e exibe os processos em execução atualmente gerenciados pelo kernel do Linux.

Além de exibir os processos em execução, o comando top combina a saída fornecida pelos comandos uptime e free, localizados no topo.

top

Uma melhoria do comando top é o utilitário htop que exibe as estatísticas em um formato intuitivo e legível por humanos.

No Linux, você pode instalar o htop usando o comando:

sudo apt install htop  [On Debian-based]
sudo dnf install htop  [On RHEL-based]

Para iniciar o htop basta executar o comando:

htop

4. Comando df

Discutimos anteriormente o utilitário df (sem disco) em comandos básicos do Linux. O comando df fornece informações sobre a utilização do disco rígido por sistema de arquivos. Use o sinalizador -Th para imprimir informações em um formato legível por humanos.

df -Th

5. Visualize informações da CPU

Para visualizar informações da CPU, como ID do fornecedor, núcleos do processador, nome do modelo e muito mais, execute o comando:

cat /proc/cpuinfo

Automatize tarefas de administração do sistema

Agendar tarefas ou trabalhos para ocorrerem em horários predefinidos é uma das principais habilidades que qualquer administrador de sistemas deve ter. Talvez você queira agendar tarefas administrativas que precisam acontecer regularmente, como backups e reinicializações periódicas.

Cron é um agendador de tempo que ajuda a automatizar tarefas. O recurso cron compreende o daemon cron e um conjunto de tabelas das quais ele lê sua configuração chamada crontab. O crontab descreve as tarefas a serem executadas.

Para criar um cron job, devemos primeiro entender sua arquitetura. Um cron job consiste em cinco campos que são seguidos pelo comando ou script a ser executado. Aqui está uma representação diagramática dos vários campos de um cron job.

Vamos explorar alguns dos exemplos do cron e suas interpretações:

0	12	*	*	*   <command>   Executes a task daily  at noon
30	06	*	*	*   <command>   Executes a task daily  at 6:30 am 
30      *	*	*	*   <command>   Executes a task  every 30 minutes
0	0	*	*	*   <command>   Executes a task  at midnight 
30	06	*	* 	5   <command>  Executes a task at 6:30 am every Fri
*	* 	*	* 	*   <command>  Executes a task every minute
0	0	1	* 	*   <command>  Executes a task at midnight on the first day of every month
0	3 	*	* 	Mon-fri   <command> Executes a task at 3:00am on every day of the week from Monday to Friday.

Vamos agora criar um cron job.

Primeiro, vamos criar um script de backup que faça backup de nossa pasta Downloads em /home/tecmint/Downloads para o diretório /home/documents.

Usando o editor vim, criaremos e abriremos o arquivo de script conforme mostrado.

vim backup.sh

Começaremos com um cabeçalho shebang no topo para marcar o início do shell script

#!/bin/bash

O comando para fazer backup da pasta de diretórios é mostrado abaixo.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads

O primeiro caminho representa o caminho completo para o arquivo de backup que é downloads.tar.gz, enquanto o segundo caminho aponta para o caminho do diretório para o backup.

Salve o arquivo pressionando ESC, digite :wq e pressione ENTER.

Em seguida, atribua permissões de execução ao script de backup. Isso é necessário para que o utilitário cron possa executar o script.

chmod +x backup.sh

Para criar um cron job para executar o script, execute o seguinte comando:

crontab -e

Definiremos o cron job para executar o script de backup todos os dias às 14h30 HRS da seguinte forma

30 14 * * * /home/tecmint/backup.sh

Salve o arquivo pressionando ESC, digite :wq e pressione ENTER. Depois de sair do arquivo, você receberá um prompt crontab: instalando um novo crontab, indicando que o cron job foi inicializado.

Para listar os cron jobs atuais, execute o comando:

crontab -l

Portanto, para nossa tarefa de backup, a tarefa cron criou com êxito um arquivo compactado do diretório ‘Downloads’ no diretório ‘Documentos’ quando o relógio bateu 14h30 HRS.

ls Documents/

Se você não quiser mais um cron job, poderá excluí-lo usando o comando:

crontab -r
Conclusão

Existem várias outras tarefas que os administradores de sistema realizam diariamente, como fazer inventário e muito mais.