SystemTap poskytuje nástroje pro monitorování a analýzu výkonu operačního systému Linux na úrovni jádra. Tento článek vás provede procesem instalace, konfigurace a použití SystemTap na CentOS 7, aby jste mohli efektivně monitorovat a diagnostikovat systém na úrovni jádra.
Instalace SystemTap
Před zahájením jakýchkoliv kroků se ujistěte, že váš systém je aktualizován pomocí příkazu sudo yum update
. Po aktualizaci můžete přistoupit k instalaci SystemTap.
-
Instalace balíčků: Pro instalaci SystemTap a nezbytných závislostí spusťte následující příkaz:
sudo yum install systemtap systemtap-runtime kernel-devel
Je důležité, aby byl nainstalován balíček kernel-devel
odpovídající vaší verzi jádra. Verzi jádra můžete zkontrolovat příkazem uname -r
.
- Instalace ladících symbolů: Pro podrobnější diagnostiku je potřeba nainstalovat ladící symboly pro jádro. To lze provést pomocí repozitáře debuginfo:
sudo yum install yum-utils
sudo debuginfo-install kernel-$(uname -r)
Konfigurace SystemTap
Před prvním použitím SystemTap je potřeba provést několik konfiguračních kroků:
-
Příprava skriptů: SystemTap používá skripty pro definování úloh monitorování a diagnostiky. Skript je textový soubor s příponou .stp
, který obsahuje definice a příkazy SystemTap.
-
Testovací skript: Pro ověření, že SystemTap je správně nainstalován a nakonfigurován, vytvořte jednoduchý testovací skript s názvem hello_world.stp
:
global counter
probe vfs.read {
counter++
}
probe timer.s(5) {
println("Počet operací VFS read: ", counter)
exit()
}
-
Tento skript počítá operace VFS read a každých 5 sekund vypíše počet těchto operací.
Spuštění a analýza skriptu
Pro spuštění skriptu použijte příkaz sudo stap <název_skriptu.stp>
. Například:
sudo stap hello_world.stp
Po spuštění bude skript monitorovat operace čtení ve virtuálním souborovém systému (VFS) a každých 5 sekund vypíše počet těchto operací. Tento jednoduchý příklad ilustruje, jak lze SystemTap použít pro sledování specifických událostí v systému.
Pokročilé monitorování a diagnostika
SystemTap umožňuje mnohem složitější diagnostické úlohy, včetně sledování výkonu síťových operací, analýzy výkonu aplikací nebo detekce deadlocků v jádru. Příklady pokročilých skriptů:
- Monitorování síťového provozu: Skript pro analýzu množství přenášených dat na síťovém rozhraní.
- Analýza výkonu aplikací: Sledování času stráveného v různých funkcích aplikace.
SystemTap představuje mocný nástroj pro vývojáře a systémové administrátory k monitorování a diagnostice operačních systémů Linux na úrovni jádra. Přestože jeho základní použití je poměrně jednoduché, pro efektivní využití v pokročilých scénářích je nutné se seznámit s rozsáhlou dokumentací a příklady skriptů.