LFCA: Como Monitorar Métricas Básicas do Sistema no Linux – Parte 8

Este artigo é 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-se atualizado sobre o desempenho do seu sistema é um dos papéis cruciais que você terá que assumir como administrador de sistemas. Claro, existem ferramentas de monitoramento open-source suficientes, como Grafana e Nagios, para monitorar métricas do sistema.

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

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

1. Comando uptime

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

$ 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
Check Linux System Uptime

2. Comando free

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

$ free -h
Check Linux Memory Usage

3. Comando top

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 que são 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 que estão localizados no topo.

$ top
Check Linux Running Processes

Uma melhoria do comando top é o utilitário htop que exibe as estatísticas em um formato intuitivo e legível para 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
htop – an interactive process viewer

4. Comando df

Discutimos anteriormente o utilitário df (disk-free) 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 a opção -Th para imprimir informações em um formato legível pelo ser humano.

$ df -Th
Check Linux Disk Usage

Visualizar Informações da CPU

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

$ cat /proc/cpuinfo
Check Linux Cpu Info

Automatizar Tarefas de Administração do Sistema

Agendar tarefas ou trabalhos para ocorrerem em um horário predefinido é uma das habilidades essenciais que qualquer administrador de sistemas deve ter. Você pode querer agendar tarefas administrativas que precisam acontecer regularmente, como backups e reinicializações periódicas.

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

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

Cron Architecture

Vamos explorar alguns exemplos de 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.

Agora vamos criar um trabalho cron.

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

Usando o editor vim, vamos criar e abrir o arquivo de script conforme mostrado.

$ vim backup.sh

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

#!/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
File Backup Script

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 a ser copiado.

Salve o arquivo pressionando ESC e depois 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

Vamos definir o cron job para executar o script de backup todos os dias às 14:30 HRS da seguinte forma

30 14 * * * /home/tecmint/backup.sh
Create Cron Job in Linux

Salve o arquivo pressionando ESC e depois digite :wq e pressione ENTER. Uma vez que você sair do arquivo, você receberá um prompt crontab: installing a new crontab implicando que o cron job foi inicializado.

Cron Job Added Succesfully

Para listar os cron jobs atuais, execute o comando:

$ crontab -l
List Cron Jobs

Portanto, para nossa tarefa de backup, o cron job criou com sucesso um arquivo compactado do diretório ‘Downloads’ no diretório ‘Documents’ assim que o relógio marcou 14:30 HRS.

$ ls Documents/
Verify Backup

Se não deseja mais um trabalho cron, pode excluí-lo usando o comando:

$ crontab -r
Conclusão

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

Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/