Agen Operasional melakukan penulisan ke file log bernama logging-module.log
. Jika
agen berjalan tanpa pengawasan dalam jangka waktu yang lama atau saat masalah terjadi, file
"log mandiri" ini dapat menggunakan semua ruang disk yang tersedia. Dokumen ini menjelaskan
cara menggunakan rotasi log untuk mencegah masalah ini.
Agen Operasional versi 2.31.0 memperkenalkan fitur rotasi log yang dapat dikonfigurasi dan terintegrasi dalam agen. Jika Anda menjalankan Agen Operasional versi 2.31.0 atau yang lebih baru, Anda dapat menggunakan fitur rotasi log bawaan; lihat Mengonfigurasi rotasi log di Agen Operasional.
Anda juga dapat mengelola rotasi log secara manual. Anda mungkin memerlukan proses manual jika menggunakan versi Agen Operasional tanpa rotasi log bawaan, atau jika Anda lebih suka merotasi log secara manual. Lihat Menyiapkan rotasi file log mandiri di VM Linux untuk satu pendekatan yang memungkinkan.
Mengonfigurasi rotasi log di Agen Operasional
Bagian ini menjelaskan cara mengubah konfigurasi rotasi log default yang digunakan oleh Agen Operasional untuk merotasi log secara otomatis. Penggunaan fitur ini memerlukan Agen Operasional versi 2.31.0 atau yang lebih baru.
Konfigurasi default
Agen Operasional menggunakan entri default_self_log_file_rotation
untuk mengonfigurasi rotasi log. Entri konfigurasi ini mengambil tiga opsi;
cuplikan berikut menunjukkan opsi dan nilai defaultnya:
default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
Konfigurasi default_self_log_file_rotation
menggunakan tiga opsi:
enabled
: Apakah rotasi log diaktifkan atau default-nya adalahtrue
.max_file_size_megabytes
: Ukuran maksimum file log yang dapat dicapai sebelum didukung oleh rotasi log. Diukur dalam megabyte (10242 byte). Defaultnya adalah 400, nilai minimum yang valid adalah 1.backup_count
: Jumlah file log lama yang akan dipertahankan. Defaultnya adalah 1, nilai valid minimum adalah 1.
Konfigurasi pengguna dari rotasi log
Untuk mengubah konfigurasi rotasi log default, Anda dapat mengganti konfigurasi tersebut dengan menentukan ulang konfigurasi di file konfigurasi pengguna Agen Operasional:
- Di Linux:
/etc/google-cloud-ops-agent/config.yaml
- Di Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Untuk mengonfigurasi rotasi log di Agen Operasional, tambahkan bagian global
ke file konfigurasi pengguna dan sertakan elemen konfigurasi default_self_log_file_rotation
di bagian global
. Anda mungkin sudah memiliki pipeline logging atau metrik di file konfigurasi ini; tambahkan bagian global
setelah pipeline Anda. Hasilnya, menentukan semua
opsi dan nilai default, akan terlihat seperti berikut:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: true max_file_size_megabytes: 400 backup_count: 1
Contoh konfigurasi
Untuk menonaktifkan rotasi log oleh Agen Operasional, tentukan opsi enabled
dengan nilai false
:
logging: ... metrics: ... global: default_self_log_file_rotation: enabled: false
Untuk merotasi log saat file log mencapai 20 MB dan menyimpan 5 cadangan (total 6 file):
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 20 backup_count: 5
Untuk merotasi log saat file log mencapai 2.000 MB (2 GB) dan menyimpan 1 cadangan (total 2 file):
logging: ... metrics: ... global: default_self_log_file_rotation: max_file_size_megabytes: 2000
Untuk merotasi log saat file log mencapai 400 MB dan menyimpan 2 cadangan (total 3 file):
logging: ... metrics: ... global: default_self_log_file_rotation: backup_count: 2
Jika Anda sering melakukan perubahan saat memperbaiki konfigurasi rotasi log, jangan lupa untuk memulai ulang agen guna menerapkan perubahan.
Menyiapkan rotasi file log mandiri di VM Linux
Untuk membatasi ukuran log sub-agen logging di
/var/log/google-cloud-ops-agent/subagents/logging-module.log
, instal dan
konfigurasi utilitas logrotate
.
Instal utilitas
logrotate
dengan menjalankan perintah berikut:Di Debian dan Ubuntu
sudo apt install logrotate
Di CentOS, RHEL, dan Fedora
sudo yum install logrotate
Buat file konfigurasi
logrotate
di/etc/logrotate.d/google-cloud-ops-agent.conf
.sudo tee /etc/logrotate.d/google-cloud-ops-agent.conf > /dev/null << EOF # logrotate config to rotate Google Cloud Ops Agent self log file. # See https://manpages.debian.org/jessie/logrotate/logrotate.8.en.html for # the full options. /var/log/google-cloud-ops-agent/subagents/logging-module.log { # Log files are rotated every day. daily # Log files are rotated this many times before being removed. This # effectively limits the disk space used by the Ops Agent self log files. rotate 30 # Log files are rotated when they grow bigger than maxsize even before the # additionally specified time interval maxsize 256M # Skip rotation if the log file is missing. missingok # Do not rotate the log if it is empty. notifempty # Old versions of log files are compressed with gzip by default. compress # Postpone compression of the previous log file to the next rotation # cycle. delaycompress } EOF
Siapkan
crontab
atausystemd timer
untuk memicu utilitaslogrotate
secara berkala.
Setelah rotasi log berlaku, Anda akan melihat file yang dirotasi dalam
direktori /var/log/google-cloud-ops-agent/subagents/
. Hasilnya terlihat mirip dengan output berikut:
/var/log/google-cloud-ops-agent/subagents$ ls -lh
total 24K
-rw-r--r-- 1 root root 717 Sep 3 19:54 logging-module.log
-rw-r--r-- 1 root root 6.8K Sep 3 19:51 logging-module.log.1
-rw-r--r-- 1 root root 874 Sep 3 19:50 logging-module.log.2.gz
-rw-r--r-- 1 root root 873 Sep 3 19:50 logging-module.log.3.gz
-rw-r--r-- 1 root root 3.2K Sep 3 19:34 logging-module.log.4.gz
Untuk menguji rotasi log, lakukan langkah berikut:
Kurangi sementara ukuran file saat rotasi dipicu dengan menyetel nilai
maxsize
ke1k
dalam file/etc/logrotate.d/google-cloud-ops-agent.conf
.Picu file log mandiri agen agar berukuran lebih dari 1.000 dengan memulai ulang agen beberapa kali:
sudo service google-cloud-ops-agent restart
Tunggu hingga
crontab
atausystemd timer
diterapkan untuk memicu utilitaslogrotate
, atau picu utilitaslogrotate
secara manual dengan menjalankan perintah ini:sudo logrotate /etc/logrotate.d/google-cloud-ops-agent.conf
Pastikan Anda melihat file log yang dirotasi dalam direktori
/var/log/google-cloud-ops-agent/subagents/
.Reset konfigurasi rotasi log dengan memulihkan nilai
maxsize
asli.