Bagaimana untuk menyediakan pemantauan log masa nyata pada Linux

王林
Lepaskan: 2023-07-06 18:33:10
asal
3077 orang telah melayarinya

Cara menyediakan pemantauan log masa nyata pada Linux

Abstrak: Dalam sistem Linux, pemantauan log masa nyata ialah alat yang sangat berguna, yang boleh membantu kami mendapatkan log sistem dan maklumat log aplikasi tertentu dalam masa nyata. Artikel ini akan memperkenalkan cara menyediakan pemantauan log masa nyata pada sistem Linux dan memberikan contoh kod yang sepadan.

1. Pengenalan
Pemantauan log masa nyata ialah alat yang boleh melihat maklumat log sistem dalam masa nyata Ia boleh membantu kami menemui kelakuan tidak normal sistem atau aplikasi. Dalam sistem Linux, kita boleh menggunakan beberapa alat dan arahan untuk mencapai pemantauan log masa nyata, seperti arahan ekor, alat journalctl, dsb.

2. Gunakan arahan ekor untuk melaksanakan pemantauan log masa nyata
Arahan ekor ialah perintah yang biasa digunakan dalam sistem Linux. Ia boleh digunakan untuk melihat kandungan fail yang dikemas kini dalam masa nyata. Kita boleh menggunakan arahan ekor untuk melaksanakan pemantauan log masa nyata Langkah-langkah khusus adalah seperti berikut:

  1. Buka terminal dan masukkan arahan berikut:

    tail -f /var/log/syslog
    Salin selepas log masuk

    Arahan di atas akan mengeluarkan kandungan terkini fail log sistem. /syslog dalam masa nyata.

  2. Jika kita ingin melihat maklumat log aplikasi tertentu dalam masa nyata, kita boleh menukar laluan fail log dalam arahan kepada laluan fail log aplikasi yang sepadan.

3. Gunakan arahan journalctl untuk mencapai pemantauan log masa nyata
perintah journalctl ialah alat yang digunakan untuk bertanya dan mengurus maklumat log sistem dalam sistem Linux. Kita boleh menggunakan arahan journalctl untuk melaksanakan pemantauan log masa nyata Langkah-langkah khusus adalah seperti berikut:

  1. Buka terminal dan masukkan arahan berikut:

    journalctl -f
    Salin selepas log masuk

    Arahan di atas akan mengeluarkan maklumat log sistem dalam masa nyata.

  2. Jika kita ingin melihat maklumat log aplikasi tertentu dalam masa nyata, kita boleh menambah syarat penapis yang sepadan pada arahan, seperti nama aplikasi:

    journalctl -f -u application.service
    Salin selepas log masuk

    Arahan di atas akan mengeluarkan maklumat log aplikasi khusus dalam masa nyata.

4 Fungsi tambahan: menapis masa nyata dan menyimpan log
Selain melihat log dalam masa nyata, kami juga boleh menapis log dan menyimpannya ke fail tertentu. Berikut ialah contoh kod:

import subprocess

def monitor_log():
    log_file_path = "/var/log/syslog"  # 日志文件路径
    output_file_path = "/tmp/syslog_filtered.log"  # 过滤后的日志文件保存路径

    subprocess.Popen(
        ["tail", "-f", log_file_path],
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE
    )

    while True:
        line = input()  # 从终端输入读取每一行日志
        if "error" in line.lower():  # 过滤包含关键字"error"的日志
            with open(output_file_path, "a") as f:
                f.write(line + "
")  # 将过滤后的日志写入指定文件

if __name__ == "__main__":
    monitor_log()
Salin selepas log masuk

Kod di atas menggunakan modul subproses Python untuk memanggil arahan ekor untuk melaksanakan pemantauan log masa nyata, dan menapis log dan menyimpannya ke fail tertentu dengan memasukkan arahan.

Kesimpulan:
Pemantauan log masa nyata sangat berguna dalam sistem Linux, ia boleh membantu kami menemui tingkah laku abnormal sistem atau aplikasi dengan serta-merta. Dengan menggunakan arahan ekor atau arahan journalctl, kita boleh mencapai pemantauan masa nyata log sistem atau log aplikasi tertentu. Pada masa yang sama, kami boleh menambah baik lagi kesan pemantauan log dengan menapis dan menyimpan log. Saya harap contoh kod yang disediakan dalam artikel ini akan membantu pemantauan log masa nyata anda.

Atas ialah kandungan terperinci Bagaimana untuk menyediakan pemantauan log masa nyata pada Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan