Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk mengkonfigurasi pengurusan log pada Linux

Bagaimana untuk mengkonfigurasi pengurusan log pada Linux

PHPz
PHPzasal
2023-07-06 16:25:553715semak imbas

Cara mengkonfigurasi pengurusan log pada Linux

Dalam sistem Linux, log ialah komponen utama yang merekodkan maklumat penting seperti status berjalan sistem, maklumat berjalan aplikasi, ralat dan amaran. Mengkonfigurasi dan mengurus log dengan betul adalah penting untuk pemantauan dan penyelesaian masalah sistem. Artikel ini akan memperkenalkan anda kepada cara mengkonfigurasi pengurusan log pada Linux dan memberikan beberapa contoh kod untuk membantu anda memahami dan berlatih dengan lebih baik.

1. Fahami jenis dan lokasi fail log

Pertama, kita perlu memahami jenis dan lokasi fail log biasa dalam sistem. Berikut ialah beberapa jenis fail log biasa dan lokasinya:

  1. Log Sistem: Log jenis ini merekodkan status berjalan, maklumat permulaan dan penutupan sistem, dsb. Biasanya diuruskan oleh rsyslog dan disimpan dalam /var/log/syslog atau /var/log/messages.
  2. Log Aplikasi: Log jenis ini dijana oleh pelbagai aplikasi dan merekodkan maklumat berjalan dan maklumat ralat aplikasi. Log ini biasanya disimpan dalam direktori khusus aplikasi, seperti /var/log/nginx/access.log.
  3. Log Keselamatan: Jenis log ini merekodkan peristiwa keselamatan sistem, seperti percubaan log masuk, permintaan kebenaran, dsb. Dalam kebanyakan sistem Linux, log keselamatan direkodkan dalam /var/log/secure atau /var/log/auth.log.

2. Konfigurasikan putaran log

Putaran log merujuk kepada mengarkib dan memampatkan fail log secara kerap untuk mengelakkan fail log daripada menjadi terlalu besar atau mengambil terlalu banyak ruang storan. Dalam sistem Linux, logrotate ialah alat penggiliran log yang biasa digunakan.

  1. Pasang logrotate:
$ sudo apt-get install logrotate
  1. Konfigurasikan logrotate:

Buat fail konfigurasi baharu supaya kita boleh menyesuaikan tingkah laku logrotate.

$ sudo nano /etc/logrotate.d/myapp

Dalam fail konfigurasi, anda boleh menentukan parameter seperti fail log yang akan diputar, selang putaran dan bilangan fail yang diputar untuk disimpan. Contohnya:

/var/log/myapp/*.log {
    weekly
    rotate 4
    compress
    delaycompress
    missingok
    notifempty
    sharedscripts
}

Dalam contoh di atas, /var/log/myapp/*.log menentukan laluan fail log untuk diputar dan mingguan bermaksud berputar setiap minggu putar 4 bermaksud mengekalkan empat fail yang diputar terakhir, compress bermaksud memampatkan fail yang diputar, delaycompress bermaksud mampatan tertunda, missingok Menunjukkan bahawa fail log akan diabaikan jika ia tidak wujud <code>notifempty bermakna fail log tidak akan diputar apabila ia kosong. /var/log/myapp/*.log 指定了要轮转的日志文件路径,weekly 表示按周轮转,rotate 4 表示保留最近四个轮转文件,compress 表示压缩轮转文件,delaycompress 表示延迟压缩,missingok 表示如果日志文件不存在则忽略,notifempty 表示当日志文件为空时不进行轮转。

  1. 手动执行轮转:

可以手动执行轮转,以验证配置是否正确。

$ sudo logrotate -vf /etc/logrotate.d/myapp

三、配置日志旋转和清理策略

除了日志轮转外,我们还可以在配置文件中指定日志旋转和清理的策略。Linux系统中,logrotate 支持以下策略:

  1. postrotate:该选项指定轮转后执行的命令。可以在该选项下,进行日志分析、数据库备份等操作。
/var/log/myapp/*.log {
    ...
    postrotate
        /usr/bin/analyze_logs /var/log/myapp/*.log > /dev/null
    endscript
}
  1. prerotate:该选项指定轮转前执行的命令。可以在该选项下,执行一些预处理操作。
/var/log/myapp/*.log {
    ...
    prerotate
        /usr/bin/sync_logs /var/log/myapp/*.log
    endscript
}
  1. size:该选项指定日志文件达到多大时触发轮转操作,单位可以是k(千字节)或M(兆字节)。
/var/log/myapp/*.log {
    ...
    size 10M
}
  1. maxage:该选项指定日志文件保留的最大天数。
/var/log/myapp/*.log {
    ...
    maxage 30
}

四、配置远程日志收集

有时候,我们需要将日志文件中的内容发送到远程服务器进行中央日志收集和分析。在Linux系统中,rsyslog 是常用的日志收集和处理工具。

  1. 安装 rsyslog:
$ sudo apt-get install rsyslog
  1. 配置 rsyslog:

打开 rsyslog 的主配置文件,并编辑以下内容:

$ sudo nano /etc/rsyslog.conf

取消以下行的注释(删除行首的#):

#$ModLoad imudp
#$UDPServerRun 514

在文件的末尾,添加以下内容:

*.* @192.168.0.100:514

其中,192.168.0.100 是远程服务器的IP地址,514

    Lakukan putaran secara manual:
Anda boleh melakukan putaran secara manual untuk mengesahkan bahawa konfigurasi adalah betul.

$ sudo systemctl restart rsyslog

3. Konfigurasikan putaran log dan strategi pembersihan

Selain putaran log, kami juga boleh menentukan strategi putaran dan pembersihan log dalam fail konfigurasi. Dalam sistem Linux, logrotate menyokong strategi berikut:

🎜postrotate: Pilihan ini menentukan arahan yang akan dilaksanakan selepas putaran. Anda boleh melakukan operasi seperti analisis log dan sandaran pangkalan data di bawah pilihan ini. 🎜🎜rrreee🎜🎜praputar: Pilihan ini menentukan arahan yang akan dilaksanakan sebelum putaran. Anda boleh melakukan beberapa operasi prapemprosesan di bawah pilihan ini. 🎜🎜rrreee🎜🎜saiz: Pilihan ini menentukan saiz fail log untuk mencetuskan operasi putaran Unit boleh menjadi k (kilobait) atau M (megabait). 🎜🎜rrreee<ol start="4">🎜<kod>maksimum</kod> </ol>: Pilihan ini menentukan bilangan hari maksimum untuk pengekalan fail log. 🎜🎜rrreee🎜4. Konfigurasikan koleksi log jauh🎜🎜Kadangkala, kita perlu menghantar kandungan fail log ke pelayan jauh untuk pengumpulan dan analisis log pusat. Dalam sistem Linux, rsyslog ialah alat pengumpulan dan pemprosesan log yang biasa digunakan. 🎜🎜🎜Pasang rsyslog: 🎜🎜rrreee🎜🎜Konfigurasikan rsyslog: 🎜🎜🎜Buka fail konfigurasi utama rsyslog dan edit kandungan berikut: 🎜rrreee🎜>Nyahkomen baris berikut pada 192.168.0.100 ialah alamat IP pelayan jauh dan 514 ialah nombor port untuk mengumpul log . 🎜🎜🎜Mulakan semula rsyslog: 🎜🎜rrreee🎜Dengan konfigurasi di atas, log akan dihantar ke port 514 pelayan jauh melalui protokol UDP. 🎜🎜Ringkasan: 🎜🎜Artikel ini memperkenalkan cara mengkonfigurasi pengurusan log pada sistem Linux. Bermula daripada memahami jenis dan lokasi fail log, kepada mengkonfigurasi putaran log, mengkonfigurasi putaran log dan dasar pembersihan, dan mengkonfigurasi pengumpulan log jauh, kami menyediakan contoh kod yang berkaitan untuk membantu anda memahami dan mengamalkan dengan lebih baik. Mengkonfigurasi dan mengurus log dengan betul adalah penting untuk pemantauan dan penyelesaian masalah sistem saya harap artikel ini akan membantu anda. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi pengurusan log pada 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