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 um olho no desempenho do seu sistema é um dos papéis cruciais que você terá que desempenhar como administrador de sistemas. Certamente, existem ferramentas de monitoramento de código aberto 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 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 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 um vislumbre da memória total, 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 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 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

Nós já 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 por humanos.

$ df -Th
Check Linux Disk Usage

5. Visualizar Informações da CPU

Para visualizar informações da CPU, como identificação do fabricante, 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 de Sistema

Agendar tarefas ou trabalhos para ocorrerem em um horário predefinido é uma das habilidades fundamentais 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. O serviço 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, devemos primeiro 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.

Vamos agora criar um trabalho cron.

Primeiro, vamos criar um script de backup que faz backup da nossa pasta 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

Vamos começar 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 salvo.

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. Depois de sair do arquivo, você receberá um prompt crontab: instalando um novo 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

Então, 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 bateu 14:30 HRS.

$ ls Documents/
Verify Backup

Se você não deseja mais um trabalho cron, você 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/