LFCA: Hoe basis systeemmetrieken in Linux te monitoren – Deel 8

Dit artikel is Deel 8 van de LFCA-serie, hier in dit deel zul je kennismaken met de algemene systeembeheeropdrachten om basis systeemmetrieken te monitoren en administratieve taken in het Linux-systeem te plannen.

Het bijhouden van de prestaties van je systeem is een van de cruciale rollen die je als systeembeheerder moet vervullen. Natuurlijk zijn er genoeg open-source monitoringtools zoals Grafana en Nagios voor het monitoren van systeemmetrieken.

Gelukkig biedt Linux enkele opdrachtregelhulpprogramma’s waarmee u een kijkje kunt nemen in enkele van de vitale systeemstatistieken en informatie zoals CPU- en geheugenbenutting en lopende processen.

Laten we kort kijken naar enkele van de opdrachtregelhulpprogramma’s die u kunnen helpen bij het controleren van basis systeemstatistieken:

1. uptime-opdracht

De uptime-opdracht geeft de duur weer dat het systeem actief is sinds het werd ingeschakeld. Zonder enige opdrachtopties geeft het de huidige tijd, de tijd dat het systeem actief is, ingelogde gebruikers en het belastingsgemiddelde.

$ uptime

Met de optie -s krijgt u de datum van het systeem en het tijdstip waarop het systeem werd ingeschakeld.

$ uptime -s

Gebruik de optie -p om alleen de uptime te krijgen

$ uptime -p
Check Linux System Uptime

2. free-opdracht

Om een indruk te krijgen van het totale en beschikbare geheugen en swapruimte op uw systeem, gebruikt u de free command als volgt. De -h optie drukt de uitvoer uit in een voor mensen leesbaar formaat.

$ free -h
Check Linux Memory Usage

3. top Commando

Het top commando doet twee dingen: het biedt een samenvatting van de realtime systeemstatistieken en toont de momenteel draaiende processen die door de Linux-kernel worden beheerd.

Naast het weergeven van de draaiende processen, combineert het top commando de uitvoer die wordt geleverd door de uptime en free commando’s die zich bovenaan bevinden.

$ top
Check Linux Running Processes

Een verbetering van het top commando is de htop utility die de statistieken weergeeft in een intuïtief en voor mensen leesbaar formaat.

Op Linux kunt u htop installeren met het commando:

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

Om htop te starten voert u simpelweg het commando uit:

$ htop
htop – an interactive process viewer

4. df Commando

We hebben eerder het df (disk-free) hulpprogramma besproken in basis Linux commando’s. Het df commando geeft informatie over het gebruik van de harde schijf per bestandssysteem. Gebruik de -Th vlag om informatie af te drukken in een menselijk leesbaar formaat.

$ df -Th
Check Linux Disk Usage

5. Bekijk CPU-informatie

Om CPU-informatie zoals vendor-id, processorcores, modelnaam en nog veel meer te bekijken, voer het commando uit:

$ cat /proc/cpuinfo
Check Linux Cpu Info

Automatiseer systeembeheertaken

Taken of jobs plannen om plaats te vinden op een vooraf bepaalde tijd is een van de kernvaardigheden die elke systeembeheerder zou moeten hebben. U wilt mogelijk administratieve taken plannen die regelmatig moeten plaatsvinden, zoals back-ups en periodieke herstarts.

Cron is een tijdsplanner die helpt bij het automatiseren van taken. De cron-faciliteit bestaat uit de cron-daemon en een reeks tabellen waaruit het zijn configuratie leest, genaamd de crontab. De crontab beschrijft de taken die moeten worden uitgevoerd.

Om een cron-taak te maken, moeten we eerst de architectuur begrijpen. Een cron-taak bestaat uit vijf velden die worden gevolgd door het commando of script dat moet worden uitgevoerd. Hier is een schematische weergave van de verschillende velden van een cron-taak.

Cron Architecture

Laten we enkele voorbeelden van cron-taken verkennen en hun interpretaties:

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.

Laten we nu een cron-taak maken.

Allereerst gaan we een back-upscript maken dat onze Downloads-map in /home/tecmint/Downloads naar de map /home/documents back-upt.

Met behulp van de vim-editor maken en openen we het scriptbestand zoals getoond.

$ vim backup.sh

We beginnen met een shebang-kopregel helemaal bovenaan om het begin van het shellscript aan te geven

#!/bin/bash

De opdracht voor het back-uppen van de mappenmap wordt hieronder getoond.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
File Backup Script

Het eerste pad vertegenwoordigt het volledige pad naar het back-upbestand, dat downloads.tar.gz is, terwijl het tweede pad wijst naar het pad van de te back-upmap.

Sla het bestand op door op ESC te drukken, typ vervolgens :wq en druk op ENTER.

Vervolgens ken je uitvoeringsrechten toe aan het back-upscript. Dit is nodig zodat het cron-hulpprogramma het script kan uitvoeren.

$ chmod +x backup.sh

Om een cron-taak aan te maken om het script uit te voeren, voer je de volgende opdracht uit:

$ crontab -e

We definiëren de cron-taak om het back-upscript elke dag om 14:30 UUR uit te voeren als volgt

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

Sla het bestand op door op ESC te drukken, typ vervolgens :wq en druk op ENTER. Zodra je het bestand verlaat, krijg je een prompt crontab: een nieuwe crontab installeren wat betekent dat de cron-taak is geïnitialiseerd.

Cron Job Added Succesfully

Om de huidige cron-takenlijst weer te geven, voer je de opdracht uit:

$ crontab -l
List Cron Jobs

Dus, voor onze back-uptaak heeft de cron-taak succesvol een gecomprimeerd bestand van de map ‘Downloads’ in de map ‘Documents’ aangemaakt zodra de klok 14:30 UUR sloeg.

$ ls Documents/
Verify Backup

Als je geen cron job meer wilt, kun je deze verwijderen met het commando:

$ crontab -r
Conclusie

Er zijn verschillende andere taken die systeembeheerders dagelijks uitvoeren, zoals inventarisatie en nog veel meer.

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