cari
Rumahpembangunan bahagian belakangTutorial PythonCara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam Linux

Cara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam Linux

Cara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam Linux

Dalam persekitaran pengkomputeran awan moden, adalah penting untuk memastikan operasi sistem yang cekap dan stabil. Untuk mencapai matlamat ini, pemantauan sistem dan menyediakan penggera tepat pada masanya telah menjadi tugas yang sangat diperlukan. Artikel ini akan memperkenalkan cara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam sistem Linux, dan memberikan contoh kod khusus.

  1. Pasang Python dan perpustakaan berkaitan

Pertama, pastikan Python dan perpustakaan berkaitan telah dipasang dalam sistem. Kebanyakan pengedaran Linux disertakan dengan Python yang dipasang secara lalai, dan beberapa perpustakaan yang biasa digunakan biasanya diprapasang. Jika Python tidak diprapasang pada sistem anda, anda boleh memasangnya melalui pengurus pakej. Sebagai contoh, pada sistem Ubuntu, anda boleh menggunakan arahan berikut untuk memasang Python:

sudo apt-get install python3

Selepas memasang Python, gunakan arahan berikut untuk memasang perpustakaan berkaitan:

pip install psutil
pip install smtplib
pip install email.mime.multipart
pip install email.mime.text

pustaka psutil digunakan untuk mendapatkan maklumat sistem, perpustakaan smtplib digunakan untuk menghantar e-mel, Pustaka email.mime.multipart dan email.mime.text digunakan untuk membuat e-mel.

  1. Dapatkan maklumat sistem

Untuk memantau penggunaan sistem, kita perlu mendapatkan beberapa maklumat sistem terlebih dahulu. Menggunakan perpustakaan psutil, anda boleh mendapatkan maklumat dengan mudah seperti penggunaan CPU dan memori, cakera dan rangkaian IO. Berikut ialah contoh kod yang menunjukkan cara mendapatkan CPU dan penggunaan memori:

import psutil

def get_cpu_usage():
    return psutil.cpu_percent(interval=1)

def get_memory_usage():
    mem = psutil.virtual_memory()
    return mem.percent

Dengan memanggil fungsi get_cpu_usage() dan get_memory_usage(), kita boleh mendapatkan penggunaan CPU dan penggunaan memori semasa.

  1. Tetapkan peraturan penggera

Selepas menentukan maklumat sistem untuk dipantau, kita perlu menetapkan beberapa peraturan penggera untuk mencetuskan penggera apabila sistem tidak normal. Sebagai contoh, kita boleh menetapkan penggera untuk dicetuskan apabila penggunaan CPU melebihi 80% atau penggunaan memori melebihi 90%. Berikut ialah kod sampel yang menunjukkan cara menetapkan peraturan penggera:

CPU_THRESHOLD = 80
MEMORY_THRESHOLD = 90

def check_cpu_usage():
    cpu_usage = get_cpu_usage()
    if cpu_usage > CPU_THRESHOLD:
        send_alert_email("CPU 使用率过高:%d%%" % cpu_usage)

def check_memory_usage():
    memory_usage = get_memory_usage()
    if memory_usage > MEMORY_THRESHOLD:
        send_alert_email("内存 使用率过高:%d%%" % memory_usage)

Dalam kod di atas, kami mentakrifkan dua pemalar CPU_THRESHOLD dan MEMORY_THRESHOLD masing-masing untuk mewakili ambang CPU dan memori. Kemudian, kami menulis dua fungsi check_cpu_usage() dan check_memory_usage() untuk menyemak CPU dan penggunaan memori serta mencetuskan penggera apabila ambang melebihi.

  1. Hantar e-mel penggera

Setelah penggunaan sistem melebihi ambang yang ditetapkan, kami perlu menghantar e-mel penggera kepada kakitangan yang berkaitan. Dengan menggunakan smtplib dan perpustakaan e-mel, kami boleh melaksanakan fungsi penghantaran e-mel dengan mudah. Berikut ialah contoh kod yang menunjukkan cara menghantar e-mel penggera:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_alert_email(message):
    sender = "sender@example.com"
    receiver = "receiver@example.com"
    password = "password"

    subject = "系统报警"
    body = message

    msg = MIMEMultipart()
    msg['From'] = sender
    msg['To'] = receiver
    msg['Subject'] = subject

    msg.attach(MIMEText(body, 'plain'))

    server = smtplib.SMTP('smtp.example.com', 587)
    server.starttls()
    server.login(sender, password)
    server.sendmail(sender, receiver, msg.as_string())
    server.quit()

Dalam kod di atas, kami mula-mula menetapkan maklumat berkaitan penghantar, penerima dan pelayan SMTP. Kemudian, kami mencipta objek MIMEMultipart dan menetapkan penghantar, penerima dan subjek. Akhir sekali, kami menghantar e-mel dengan memanggil kaedah sendmail() bagi objek pelayan.

  1. Tetapkan tugas pemantauan

Akhir sekali, kita perlu menyediakan tugas berjadual untuk melaksanakan pemantauan sistem dan membimbangkan. Dalam sistem Linux, kami boleh menggunakan cron untuk menyediakan tugas yang dijadualkan. Berikut ialah contoh arahan menggunakan cron:

* * * * * python /path/to/script.py

Arahan di atas akan melaksanakan skrip setiap minit.

Ringkasan

Artikel ini memperkenalkan cara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam Linux, dan menyediakan contoh kod khusus. Dengan kerap mendapatkan maklumat sistem dan menetapkan peraturan penggera, kami boleh menerima e-mel penggera tepat pada masanya apabila sistem tidak normal, supaya kami boleh mengambil langkah yang sesuai untuk menanganinya. Kaedah ini boleh membantu kami memastikan operasi sistem yang cekap dan stabil dan mengurangkan kesan kegagalan sistem ke atas perniagaan.

Atas ialah kandungan terperinci Cara menggunakan skrip Python untuk melaksanakan pemantauan sistem dan membimbangkan dalam Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Bagaimana anda memotong array python?Bagaimana anda memotong array python?May 01, 2025 am 12:18 AM

Sintaks asas untuk pengirim senarai python adalah senarai [Mula: Berhenti: Langkah]. 1. Start adalah indeks elemen pertama yang disertakan, 2.Stop adalah indeks elemen pertama yang dikecualikan, dan 3. Step menentukan saiz langkah antara elemen. Hirisan tidak hanya digunakan untuk mengekstrak data, tetapi juga untuk mengubah suai dan membalikkan senarai.

Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?Di bawah keadaan apa yang mungkin senarai lebih baik daripada tatasusunan?May 01, 2025 am 12:06 AM

ListsOutPerFormAraySin: 1) DynamicsizingandFrequentInsertions/Deletions, 2) StoringHeterogeneousData, dan3) MemoryeficiencyForSparsedata, ButmayHaveslightPerformancecostSincertaor.

Bagaimana anda boleh menukar array python ke senarai python?Bagaimana anda boleh menukar array python ke senarai python?May 01, 2025 am 12:05 AM

ToConvertapythonarraytoalist, usethelist () constructororageneratorexpression.1) importTheArrayModuleAndCreateeanArray.2) uselist (arr) atau [xforxinarr] toConvertittoalist, urusanPengerasiPormanceAndMemoryeficiencyForlargedatasets.

Apakah tujuan menggunakan tatasusunan apabila senarai ada di Python?Apakah tujuan menggunakan tatasusunan apabila senarai ada di Python?May 01, 2025 am 12:04 AM

ChoosearraysoverListSinpythonforbetterperformanceandMemoryeficiencySpecificscenarios.1) largenumericaldatasets: arraysreducememoryusage.2) Prestasi-CRITICALICALLY:

Terangkan bagaimana untuk melangkah melalui unsur -unsur senarai dan array.Terangkan bagaimana untuk melangkah melalui unsur -unsur senarai dan array.May 01, 2025 am 12:01 AM

Di Python, anda boleh menggunakan gelung, menghitung dan menyenaraikan pemantauan ke senarai melintasi; Di Java, anda boleh menggunakan tradisional untuk gelung dan dipertingkatkan untuk gelung untuk melintasi tatasusunan. 1. Kaedah Traversal Senarai Python termasuk: untuk gelung, penghitungan dan pemahaman senarai. 2. Java Array Traversal Kaedah termasuk: tradisional untuk gelung dan dipertingkatkan untuk gelung.

Apakah penyataan suis python?Apakah penyataan suis python?Apr 30, 2025 pm 02:08 PM

Artikel ini membincangkan pernyataan baru "Match" Python yang diperkenalkan dalam versi 3.10, yang berfungsi sebagai setara dengan menukar pernyataan dalam bahasa lain. Ia meningkatkan kebolehbacaan kod dan menawarkan manfaat prestasi ke atas tradisional if-elif-el

Apakah kumpulan pengecualian dalam Python?Apakah kumpulan pengecualian dalam Python?Apr 30, 2025 pm 02:07 PM

Kumpulan Pengecualian dalam Python 3.11 Membenarkan mengendalikan pelbagai pengecualian secara serentak, meningkatkan pengurusan ralat dalam senario serentak dan operasi kompleks.

Apakah anotasi fungsi dalam python?Apakah anotasi fungsi dalam python?Apr 30, 2025 pm 02:06 PM

Fungsi anotasi dalam python Tambah metadata ke fungsi untuk pemeriksaan jenis, dokumentasi, dan sokongan IDE. Mereka meningkatkan kebolehbacaan kod, penyelenggaraan, dan penting dalam pembangunan API, sains data, dan penciptaan perpustakaan.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft