Rumah pembangunan bahagian belakang tutorial php Cara menggunakan skrip PHP untuk pemantauan log dalam sistem Linux

Cara menggunakan skrip PHP untuk pemantauan log dalam sistem Linux

Oct 05, 2023 am 11:36 AM
sistem linux Pemantauan log skrip php

Cara menggunakan skrip PHP untuk pemantauan log dalam sistem Linux

Cara menggunakan skrip PHP untuk pemantauan log dalam sistem Linux

Dengan aplikasi meluas sistem Linux, pemantauan sistem dan analisis log menjadi semakin penting. Antaranya, menggunakan skrip PHP untuk pemantauan log adalah cara biasa. Artikel ini akan memperkenalkan cara menggunakan skrip PHP untuk melaksanakan pemantauan log mudah dan menyediakan contoh kod khusus.

1. Cipta fail skrip PHP
Pertama, buat fail bernama "log_monitor.php" pada sistem Linux.

Gunakan editor baris arahan (seperti vi) untuk membuka fail kosong, dan kemudian masukkan kandungan berikut:

<?php
// 指定要监控的日志文件
$logFile = '/var/log/syslog';

// 获取文件的初始大小
$fileSize = filesize($logFile);

// 持续监控日志文件的变化
while (true) {
  clearstatcache(); // 清除文件状态缓存

  // 获取文件当前的大小
  $currentSize = filesize($logFile);

  // 判断日志文件是否发生变化
  if ($currentSize > $fileSize) {
    // 日志文件发生变化,输出最新的内容
    $handle = fopen($logFile, 'r');
    fseek($handle, $fileSize); // 设置文件指针位置到初始大小之后
    $content = fread($handle, $currentSize - $fileSize); // 读取从初始大小到当前大小之间的内容
    fclose($handle);

    // 处理日志内容,比如输出到控制台或写入日志文件
    echo $content;
  }

  // 更新文件的初始大小为当前大小
  $fileSize = $currentSize;

  // 休眠一段时间,避免过于频繁地读取文件
  sleep(1);
}
?>
Salin selepas log masuk

Penerangan kod:

  • Baris 3: Tentukan laluan fail log untuk dipantau, di sini untuk pantau fail log sistem/ Ambil var/log/syslog sebagai contoh. Anda boleh mengubah suai laluan ini mengikut keperluan sebenar.
  • Baris 6: Dapatkan saiz awal fail log.
  • Baris 10-31: Masukkan gelung tak terhingga dan pantau fail log dalam badan gelung. Mula-mula kosongkan cache status fail, kemudian dapatkan saiz semasa fail, dan bandingkan dengan saiz awal untuk menentukan sama ada fail log telah berubah. Jika perubahan berlaku, kandungan daripada saiz awal kepada saiz semasa dibaca dan diproses dengan sewajarnya, seperti mengeluarkan ke konsol atau menulis ke fail log. Akhir sekali, saiz awal dikemas kini kepada saiz semasa dan tidur selama 1 saat untuk mengelakkan pembacaan fail yang kerap.

2. Jalankan skrip PHP
Simpan kod di atas dan tutup editor fail.

Kemudian, gunakan arahan berikut untuk menjalankan skrip PHP dalam sistem Linux:

php log_monitor.php
Salin selepas log masuk

Selepas berjalan, skrip akan terus memantau fail log yang ditentukan dan mengeluarkan kandungan terkini apabila fail log berubah.

Perlu diingat bahawa sebelum menjalankan skrip, pastikan penterjemah PHP telah dipasang dengan betul dan ditambah pada pembolehubah persekitaran sistem, supaya skrip PHP dapat berjalan dengan normal.

3. Pengembangan dan Pengoptimuman
Kod contoh di atas hanyalah skrip pemantauan log yang mudah, anda boleh mengembangkan dan mengoptimumkannya mengikut keperluan sebenar.

Sebagai contoh, kandungan log baca boleh diproses dengan lebih fleksibel, seperti memadankan kata kunci tertentu atau tahap log melalui ungkapan biasa, dan kemudian melakukan penggera atau operasi pemprosesan yang sepadan.

Selain itu, anda boleh mempertimbangkan untuk menggunakan alat analisis log pihak ketiga (seperti Elasticsearch, Logstash, Kibana, dll.) untuk mengurus dan menganalisis log secara berpusat untuk menemui, menyelesaikan masalah dan menyelesaikan masalah sistem dengan lebih baik.

Ringkasan
Dengan menggunakan skrip PHP untuk pemantauan log, kami boleh memantau perubahan fail log dalam sistem Linux dalam masa nyata dan mengambil langkah yang sepadan dengan tepat pada masanya. Artikel ini memperkenalkan prinsip pelaksanaan asas dan contoh kod khusus, dan menyediakan beberapa idea untuk pengembangan dan pengoptimuman saya harap ia akan membantu anda dalam pemantauan log dalam sistem Linux.

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

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

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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Menggunakan Pengurus Tugas dalam Linux Menggunakan Pengurus Tugas dalam Linux Aug 15, 2024 am 07:30 AM

Terdapat banyak soalan yang sering ditanya oleh pemula Linux, "Adakah Linux mempunyai Pengurus Tugas?", "Bagaimana untuk membuka Pengurus Tugas pada Linux Pengguna dari Windows tahu bahawa Pengurus Tugas sangat berguna?" Anda boleh membuka Pengurus Tugas dengan menekan Ctrl+Alt+Del dalam Windows. Pengurus tugas ini menunjukkan kepada anda semua proses yang sedang berjalan dan memori yang mereka gunakan, dan anda boleh memilih dan mematikan proses daripada program pengurus tugas. Apabila anda mula-mula menggunakan Linux, anda juga akan mencari sesuatu yang setara dengan pengurus tugas di Linux. Pakar Linux lebih suka menggunakan baris arahan untuk mencari proses, penggunaan memori, dll., tetapi anda tidak perlu melakukannya

Selesaikan masalah paparan graf dan carta yang bercelaru pada pelayan pemantauan Cina Zabbix Selesaikan masalah paparan graf dan carta yang bercelaru pada pelayan pemantauan Cina Zabbix Jul 31, 2024 pm 02:10 PM

Sokongan Zabbix untuk bahasa Cina tidak begitu baik, tetapi kadangkala kami masih memilih bahasa Cina untuk tujuan pengurusan Dalam antara muka web yang dipantau oleh Zabbix, orang Cina di bawah ikon grafik akan memaparkan petak kecil. Ini tidak betul dan memerlukan muat turun fon. Contohnya, "Microsoft Yahei", "Microsoft Yahei.ttf" dinamakan "msyh.ttf", muat naik fon yang dimuat turun ke /zabbix/fonts/fonts dan ubah suai dua aksara dalam /zabbix/include/defines.inc.php fail di define('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

7 cara untuk membantu anda menyemak tarikh pendaftaran pengguna Linux 7 cara untuk membantu anda menyemak tarikh pendaftaran pengguna Linux Aug 24, 2024 am 07:31 AM

Tahukah anda, bagaimana untuk menyemak tarikh penciptaan akaun pada sistem Linux? Jika anda tahu, apa yang anda boleh lakukan? Adakah anda berjaya? Jika ya, bagaimana untuk melakukannya? Pada asasnya sistem Linux tidak menjejaki maklumat ini, jadi apakah cara alternatif untuk mendapatkan maklumat ini? Anda mungkin bertanya mengapa saya menyemak ini? Ya, terdapat situasi di mana anda mungkin perlu menyemak maklumat ini dan ia akan membantu anda pada masa itu. Anda boleh menggunakan 7 kaedah berikut untuk mengesahkan. Gunakan /var/log/secure Gunakan alat aureport Gunakan .bash_logout Gunakan arahan chage Gunakan arahan useradd Gunakan arahan passwd Gunakan arahan terakhir Kaedah 1: Gunakan /var/l

Ajar anda cara menambah fon pada Fedora dalam masa 5 minit Ajar anda cara menambah fon pada Fedora dalam masa 5 minit Jul 23, 2024 am 09:45 AM

Pemasangan seluruh sistem Jika anda memasang fon seluruh sistem, ia akan tersedia kepada semua pengguna. Cara terbaik untuk melakukan ini ialah menggunakan pakej RPM daripada repositori perisian rasmi. Sebelum memulakan, buka alat "Perisian" dalam Fedora Workstation, atau alat lain menggunakan repositori rasmi. Pilih kategori "Tambahan" dalam bar pilihan. Kemudian pilih "Fon" dalam kategori. Anda akan melihat fon yang tersedia serupa dengan fon dalam tangkapan skrin di bawah: Apabila anda memilih fon, beberapa butiran akan muncul. Bergantung pada beberapa senario, anda mungkin boleh melihat beberapa contoh teks untuk fon. Klik butang "Pasang" untuk menambahkannya pada sistem anda. Bergantung pada kelajuan sistem dan lebar jalur rangkaian, proses ini mungkin mengambil sedikit masa untuk diselesaikan

Apakah yang perlu saya lakukan jika fon WPS yang hilang di bawah sistem Linux menyebabkan fail menjadi bercelaru? Apakah yang perlu saya lakukan jika fon WPS yang hilang di bawah sistem Linux menyebabkan fail menjadi bercelaru? Jul 31, 2024 am 12:41 AM

1. Cari font wingdings, wingdings2, wingdings3, Webdings, dan MTExtra dari Internet 2. Masukkan folder utama, tekan Ctrl+h (tunjukkan fail tersembunyi), dan semak jika terdapat folder .fonts satu. 3. Salin fon yang dimuat turun seperti wingdings, wingdings2, wingdings3, Webdings, dan MTExtra ke folder .fonts dalam folder utama Kemudian mulakan wps untuk melihat jika masih terdapat dialog peringatan "System missing font kotak. Jika tidak, hanya Kejayaan Nota: wingdings, wingdin

Pemasangan dan konfigurasi Centos 7 pelayan penyegerakan masa rangkaian NTP Pemasangan dan konfigurasi Centos 7 pelayan penyegerakan masa rangkaian NTP Aug 05, 2024 pm 10:35 PM

Persekitaran percubaan: OS: LinuxCentos7.4x86_641 Lihat zon waktu pelayan semasa & senaraikan zon waktu dan tetapkan zon waktu (jika sudah menjadi zon waktu yang betul, sila langkau): #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia. /Shanghai2 Memahami konsep zon waktu: GMT, UTC, CST, DSTUTC: Seluruh bumi dibahagikan kepada dua puluh empat zon waktu Setiap zon waktu mempunyai waktu tempatan sendiri, demi penyatuan. masa bersatu digunakan, dipanggil Masa Selaras Sejagat (UTC :UniversalTim).

Bagaimana untuk menyambungkan dua hos Ubuntu ke Internet menggunakan satu kabel rangkaian Bagaimana untuk menyambungkan dua hos Ubuntu ke Internet menggunakan satu kabel rangkaian Aug 07, 2024 pm 01:39 PM

Cara menggunakan satu kabel rangkaian untuk menyambungkan dua hos ubuntu ke Internet 1. Sediakan hos A: ubuntu16.04 dan hos B: ubuntu16.042 Hos A mempunyai dua kad rangkaian, satu disambungkan ke rangkaian luaran dan satu lagi disambungkan menjadi tuan rumah B. Gunakan arahan iwconfig untuk melihat semua kad rangkaian pada hos. Seperti yang ditunjukkan di atas, kad rangkaian pada hos A pengarang (komputer riba) ialah: wlp2s0: Ini ialah kad rangkaian wayarles. enp1s0: kad rangkaian berwayar, kad rangkaian yang disambungkan ke hos B. Selebihnya tiada kaitan dengan kita, tidak perlu ambil peduli. 3. Konfigurasikan IP statik A. Edit fail #vim/etc/network/interfaces untuk mengkonfigurasi alamat IP statik untuk antara muka enp1s0, seperti ditunjukkan di bawah (di mana #==========

Bagaimana untuk menyembunyikan sejarah baris arahan Linux anda Bagaimana untuk menyembunyikan sejarah baris arahan Linux anda Aug 17, 2024 am 07:34 AM

Jika anda pengguna baris arahan Linux, kadangkala anda mungkin tidak mahu arahan tertentu direkodkan dalam sejarah baris arahan anda. Sebabnya mungkin banyak. Contohnya, anda memegang jawatan tertentu dalam syarikat dan mempunyai keistimewaan tertentu yang anda tidak mahu orang lain menyalahgunakannya. Atau mungkin terdapat beberapa arahan penting yang anda tidak mahu laksanakan secara tidak sengaja semasa menyemak imbas senarai sejarah. Walau bagaimanapun, adakah terdapat cara untuk mengawal arahan mana yang masuk ke dalam senarai sejarah dan yang tidak? Atau dengan kata lain, bolehkah kita mendayakan mod inkognito seperti penyemak imbas dalam terminal Linux? Jawapannya ya, dan bergantung pada matlamat khusus yang anda inginkan, terdapat banyak cara untuk mencapainya. Dalam artikel ini, kami akan membincangkan beberapa kaedah yang terbukti. Nota: Semua arahan yang muncul dalam artikel ini telah diuji di bawah Ubuntu. berbeza

See all articles