Serverovny.cz/Články/Programování skriptů

Python pro správce serverů: Vytvoření vlastních skriptů pro monitorování

Praktické návody na psaní Python skriptů pro monitorování výkonu serverů a detekci problémů. Naučte se, jak efektivně sledovat a reagovat na výkonnostní problémy serverů pomocí Pythonu.

727 slov
7.3 minut čtení
1. 3. 2020
Markéta Hájková

Pokud jste někdy měli pocit, že váš server je jako tajemný černý box, který občas vydává podivné zvuky a chová se podivně, pak jste na správném místě. Serverovny a jejich správa mohou být složité, ale s nástroji jako Python se tyto výzvy dají zvládnout s lehkostí. V tomto článku si ukážeme, jak vytvořit vlastní Python skripty pro monitorování výkonu serverů a detekci problémů. Připravte se na fascinující cestu do světa automatizace a monitorování pomocí jednoho z nejpopulárnějších programovacích jazyků – Pythonu!

Proč používat Python pro správu serverů?

Python je oblíbený mezi administrátory serverů díky své jednoduchosti a flexibilitě. Je to jazyk, který vám umožní rychle vyvíjet skripty pro různé úkoly, jako je shromažďování informací o výkonu serveru, sledování využití paměti nebo CPU, a dokonce i automatizaci zálohování. Ať už jste zkušený odborník nebo začátečník, Python vám dá nástroje, které potřebujete k efektivnímu sledování vašich serverů.

Základy monitorování serveru

Než se ponoříme do psaní skriptů, je důležité pochopit, co vlastně monitorování serveru obnáší. Monitorování zahrnuje sledování různých metrik výkonu, jako jsou:

  • Využití CPU
  • Využití paměti
  • Vyčerpanost disku
  • Aktivity sítě
  • Provozní status služeb (např. Apache, MySQL)

Tyto informace vám pomohou identifikovat potenciální problémy dříve, než ovlivní provoz vašeho serveru. A právě tady přichází na řadu Python!

Instalace potřebných knihoven

Předtím než začnete psát své první skripty na monitorování výkonu serveru v Pythonu, je dobré mít nainstalované několik užitečných knihoven. Dvě z nejběžnějších knihoven pro tento účel jsou psutil a subprocess. Můžete si je snadno nainstalovat pomocí pip:

pip install psutil

Nyní máte základní nástroje k tomu, abyste mohli začít.

Skript na sledování využití CPU a paměti

Jedním z prvních skriptů, které si můžeme napsat, je jednoduchý nástroj pro sledování využití CPU a paměti. Tento skript nám umožní zjistit, kolik procent CPU je momentálně využito a kolik paměti je k dispozici:

 import psutil

def monitor_cpu_memory():
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_info = psutil.virtual_memory()
    memory_usage = memory_info.percent
    print(f'Využití CPU: \{cpu_usage\}%')
    print(f'Využití paměti: \{memory_usage\}% (\{memory_info.available // (1024 ** 2)\} MB volných)')

if __name__ == '__main__':
    monitor_cpu_memory()

Tento skript jednoduše vytiskne aktuální využití CPU a paměti každou sekundu. Jakmile máte tento základ hotový, můžete ho rozšířit o další funkce.

Rozšiřte svůj skript o monitoring disku a síťové aktivity

Jakmile máte základy hotové, doporučuji přidat monitoring disku a síťových aktivit. Zde je příklad rozšířeného skriptu:

 import psutil
 import time

def monitor_system():
    while True:
        cpu_usage = psutil.cpu_percent(interval=1)
        memory_info = psutil.virtual_memory()
        disk_info = psutil.disk_usage('/')
        net_info = psutil.net_io_counters()
        print(f'Využití CPU: \{cpu_usage\}%')
        print(f'Využití paměti: \{memory_info.percent\}% (\{memory_info.available // (1024 ** 2)\} MB volných)')
        print(f'Využití disku: \{disk_info.percent\}% (\{disk_info.free // (1024 ** 2)\} MB volných)')
        print(f'Přenos dat: \{net_info.bytes_sent // (1024 ** 2)\} MB odesláno / \{net_info.bytes_recv // (1024 ** 2)\} MB přijato')
        time.sleep(5)

if __name__ == '__main__':
    monitor_system()

Tento skript nyní sleduje také využití disku a přenos dat po síti. To vám poskytne komplexnější pohled na výkon vašeho serveru.

Detekce problémů pomocí alert systémů

Monitoring není jen o sběru dat; jde také o akci! Měli byste být schopni reagovat na problémy dříve než ovlivní uživatele nebo provoz. Můžete například přidat alert systém pomocí e-mailových notifikací pro upozornění na vysoké využití CPU nebo paměti:

 import smtplib
from email.mime.text import MIMEText

def send_alert(subject, body):
    msg = MIMEText(body)
    msg['Subject'] = subject
    msg['From'] = '[email protected]'
    msg['To'] = '[email protected]'
    with smtplib.SMTP('smtp.example.com', 587) as server:
        server.starttls()
        server.login('[email protected]', 'your_password')
        server.send_message(msg)

Tento kód můžete volat v případě detekce problémů ve vašem monitorovacím skriptu.

Závěr: Vaše první kroky ke kvalitnímu monitoringu serveru

S Pythonem můžete snadno vytvořit efektivní monitorovací nástroje pro vaše servery. Kombinací různých metrik výkonu můžete snížit riziko výpadků a zajistit plynulý chod vašich služeb. Ať už jste nováček nebo zkušený administrátor, doufáme, že vám tento článek poskytl inspiraci k dalšímu rozvoji vašich dovedností v oblasti automatizace a správy serverů. Doporučujeme také navštívit další články na Serverovny.cz, kde najdete více tipů a triků jak efektivně spravovat servery pomocí moderních technologií.

18754 přečtení článku
15 lajků
1. 3. 2020
Markéta Hájková
  • Python

  • monitorování serverů

  • správa serverů

  • skripty pro monitoring

  • výkon serveru

O autorovi

Markéta Hájková

Tech podnikatelka a programátorka. Vyvinula několik úspěšných mobilních aplikací a založila startup v oblasti EdTech. Vystudovala informatiku na ČVUT a absolvovala stáž v Googlu. Specializuje se na no-code nástroje a technologické inovace. Píše o technologických trendech a možnostech podnikání v IT bez nutnosti programování.

Dotazy k článku