Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Gunakan artikel ini untuk mendiagnosis dan mengatasi masalah di mana peristiwa syslog pada VM Linux tidak dikumpulkan atau diteruskan ke ruang kerja Log Analytics oleh agen Azure Monitor.
Selama penginstalan, Azure Monitor Agent menginstal konfigurasi output untuk daemon syslog sistem. Konfigurasi ini menentukan cara meneruskan peristiwa dari daemon ke Agen Azure Monitor. Anda dapat menemukannya di:
-
/etc/rsyslog.d/10-azuremonitoragent-omfwd.confuntuk rsyslog (sebagian besar distribusi Linux) -
/etc/syslog-ng/conf.d/azuremonitoragent-tcp.confuntuk syslog-ng
Azure Monitor Agent mendengarkan port TCP (dicatat di /etc/opt/microsoft/azuremonitoragent/config-cache/syslog.port) untuk menerima peristiwa dari rsyslog atau syslog-ng. Ini memfilter peristiwa ini berdasarkan nilai fasilitas atau tingkat keparahan yang ditentukan dalam aturan pengumpulan data (DCR) yang terletak di /etc/opt/microsoft/azuremonitoragent/config-cache/configchunks/. Agen menghilangkan peristiwa yang tidak cocok dengan konfigurasi DCR.
Catatan
Sebelum versi 1.28, Azure Monitor Agent menggunakan soket domain Unix alih-alih port TCP untuk menerima peristiwa dari rsyslog. Modul omfwd output di rsyslog menawarkan mekanisme penyimpanan sementara dan percobaan ulang guna meningkatkan keandalan.
Azure Monitor Agent mengurai pesan syslog masuk sesuai dengan RFC3164 dan RFC5424 dan juga mendukung format ter. Ini menentukan titik akhir tujuan untuk setiap peristiwa dari DCR dan mencoba mengunggah peristiwa yang sesuai.
Catatan
- Jika Agen Azure Monitor tidak dapat dijangkau atau mengalami penundaan, daemon syslog menampung peristiwa dengan menggunakan antrean internalnya.
- Jika Agen Azure Monitor gagal mengunggah peristiwa yang diterimanya dari rsyslog atau syslog-ng, agen tersebut mengantrekannya di
/var/opt/microsoft/azuremonitoragent/eventsdengan menggunakan mekanisme persistensi lokalnya.
Mendiagnosis kegagalan unggahan syslog
Jika Agen Azure Monitor berhasil menerima peristiwa syslog dari rsyslog atau syslog-ng, tetapi data tidak muncul di ruang kerja Log Analytics, penyebab paling umum terkait dengan konektivitas, konfigurasi, atau autentikasi - bukan penggunaan disk lokal.
Penyebab umumnya meliputi:
Aturan Pengumpulan Data (DCR) tidak terkait dengan komputer
Jika Anda tidak mengaitkan DCR (atau jika Anda mengaitkan DCR yang salah), agen Azure Monitor tidak tahu ke mana harus mengirim data.DCR tidak menyertakan sumber data syslog atau fasilitas/tingkat keparahan tidak cocok
Dalam hal ini, Azure Monitor Agent menghilangkan peristiwa setelah menerimanya.Mesin tidak dapat mencapai titik akhir penyerapan Azure Monitor
Kondisi ini umumnya disebabkan oleh:- Pembatasan firewall keluar
- Kesalahan konfigurasi proksi
- Tag layanan yang hilang atau titik akhir yang diperlukan di jaringan terbatas
Konfigurasi TLS atau proksi mencegah koneksi keluar
Jika proksi diperlukan dan tidak dikonfigurasi untuk agen Azure Monitor, upaya pengunggahan gagal.Identitas terkelola atau kredensial Azure yang digunakan oleh agen tidak dapat mengautentikasi
Kondisi ini dapat terjadi jika ekstensi agen tidak dikonfigurasi secara benar.
Untuk memecahkan masalah pengunggahan dan konektivitas, lihat panduan berikut:
- Troubleshoot agen Azure Monitor pada komputer virtual Linux dan kumpulan skala
- Cara menggunakan pemecah masalah Linux Azure Monitor Agent
- Endpoint jaringan yang Diperlukan untuk Azure Monitor Agent
Jika agen Azure Monitor menerima peristiwa syslog tetapi tidak dapat mengunggahnya, biasanya mencatat kesalahan yang terkait dengan konektivitas atau autentikasi di:
/var/opt/microsoft/azuremonitoragent/log/mdsd.err
Data Rsyslog tidak diunggah karena ruang disk penuh
Gejala
Data Syslog tidak diunggah: Saat Anda memeriksa log kesalahan di /var/opt/microsoft/azuremonitoragent/log/mdsd.err, Anda melihat entri tentang Kesalahan saat menyisipkan item ke Penyimpanan persisten lokal ... Tidak ada ruang tersisa pada perangkat ... mirip dengan cuplikan berikut:
2021-11-23T18:15:10.9712760Z: Error while inserting item to Local persistent store syslog.error: IO error: No space left on device: While appending to file: /var/opt/microsoft/azuremonitoragent/events/syslog.error/000555.log: No space left on device
Penyebab
Azure Monitor Agent untuk Linux melakukan buffer peristiwa ke /var/opt/microsoft/azuremonitoragent/events sebelum penyerapan. Pada Azure Monitor Agent default untuk penginstalan Linux, direktori ini membutuhkan sekitar 650 MB ruang disk saat diam. Ukuran pada disk meningkat ketika berada di bawah beban pengelogan berkelanjutan. Ini dibersihkan setiap sekitar 60 detik dan dikurangi kembali menjadi sekitar 650 MB ketika beban kembali diam.
Mengonfirmasi masalah disk penuh
df Perintah menunjukkan hampir tidak ada ruang yang tersedia di /dev/sda1, seperti yang ditunjukkan dalam output berikut. Anda harus memeriksa item baris yang berkorelasi dengan direktori log (misalnya, /var/log, /var, atau /).
df -h
Filesystem Size Used Avail Use% Mounted on
udev 63G 0 63G 0% /dev
tmpfs 13G 720K 13G 1% /run
/dev/sda1 29G 29G 481M 99% /
tmpfs 63G 0 63G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 63G 0 63G 0% /sys/fs/cgroup
/dev/sda15 105M 4.4M 100M 5% /boot/efi
/dev/sdb1 251G 61M 239G 1% /mnt
tmpfs 13G 0 13G 0% /run/user/1000
Anda dapat menggunakan du perintah untuk memeriksa disk untuk menentukan file mana yang menyebabkan disk penuh. Contohnya:
cd /var/log
du -h syslog*
6.7G syslog
18G syslog.1
Dalam beberapa kasus, du mungkin tidak melaporkan file atau direktori besar apa pun. Ada kemungkinan bahwa file yang ditandai sebagai (dihapus) mengambil ruang. Situasi ini dapat terjadi ketika satu proses mencoba menghapus file, tetapi proses yang berbeda masih membuka file.
Anda dapat menggunakan perintah untuk memeriksa file tersebut lsof . Dalam contoh berikut, Anda melihat bahwa /var/log/syslog ditandai sebagai dihapus tetapi membutuhkan ruang disk 3,6 GB. Ini tidak dihapus karena proses dengan PID 1484 masih membuka file.
sudo lsof +L1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NLINK NODE NAME
none 849 root txt REG 0,1 8632 0 16764 / (deleted)
rsyslogd 1484 syslog 14w REG 8,1 3601566564 0 35280 /var/log/syslog (deleted)
Konfigurasi default Rsyslog mencatat semua fasilitas ke /var/log/
Pada beberapa distro populer, seperti Ubuntu 18.04 LTS, rsyslog dikirim dengan file konfigurasi default (/etc/rsyslog.d/50-default.conf). Konfigurasi ini mencatat peristiwa dari hampir semua fasilitas ke disk di /var/log/syslog. Peristiwa Syslog keluarga RedHat disimpan di bawah /var/log/ tetapi dalam file yang berbeda: /var/log/messages.
Agent Azure Monitor tidak bergantung pada pencatatan peristiwa Syslog ke /var/log/. Sebaliknya, layanan rsyslog dikonfigurasi untuk meneruskan kejadian melalui port TCP secara langsung ke proses layanan azuremonitoragent (mdsd).
Menghapus fasilitas volume tinggi dari konfigurasi default rsyslog
Jika Anda mengirim volume log tinggi melalui rsyslog dan sistem Anda disiapkan untuk mencatat peristiwa untuk fasilitas ini, pertimbangkan untuk memodifikasi konfigurasi rsyslog default untuk menghindari pengelogan dan menyimpannya di bawah /var/log/. Peristiwa untuk fasilitas ini masih diteruskan ke Azure Monitor Agent karena rsyslog menggunakan konfigurasi yang berbeda untuk penerusan di /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf.
Untuk menghapus
local4peristiwa agar tidak dicatat di/var/log/syslogatau/var/log/messages, ubah baris ini di/etc/rsyslog.d/50-default.confdari cuplikan ini:*.*;auth,authpriv.none -/var/log/syslogKe cuplikan ini (tambahkan
local4.none;):*.*;local4.none;auth,authpriv.none -/var/log/syslogsudo systemctl restart rsyslog
Langkah berikutnya
Jika langkah-langkah dalam artikel ini tidak mengatasi masalah Anda, lihat: