Mengumpulkan sumber data Syslog dengan agen Analitik Log

Perhatian

Artikel ini mereferensikan CentOS, distribusi Linux yang mendekati status End Of Life (EOL). Harap pertimbangkan penggunaan dan perencanaan Anda yang sesuai. Untuk informasi selengkapnya, lihat panduan Akhir Masa Pakai CentOS.

Syslog adalah protokol pengelogan peristiwa yang umum untuk Linux. Aplikasi mengirim pesan yang mungkin disimpan di komputer lokal atau dikirimkan ke pengumpul Syslog. Saat agen Analitik Log untuk Linux diinstal, ia akan mengonfigurasi daemon Syslog lokal untuk meneruskan pesan ke agen. Agen kemudian mengirim pesan ke Azure Monitor tempat rekaman terkait dibuat.

Penting

Agen Analitik Log warisan tidak akan digunakan lagi pada Agustus 2024. Setelah tanggal ini, Microsoft tidak akan lagi memberikan dukungan apa pun untuk agen Analitik Log. Bermigrasi ke agen Azure Monitor sebelum Agustus 2024 untuk terus menyerap data.

Catatan

Azure Monitor mendukung kumpulan pesan yang dikirim oleh rsyslog atau syslog-ng, dengan rsyslog merupakan daemon default. Daemon Syslog default pada versi 5 versi Red Hat Enterprise Linux, CentOS, dan versi Oracle Linux (sysklog) tidak didukung untuk koleksi peristiwa Syslog. Untuk mengumpulkan data Syslog dari versi distribusi ini, daemon rsyslog harus diinstal dan dikonfigurasi untuk menggantikan sysklog.

Diagram yang memperlihatkan koleksi Syslog.

Fasilitas berikut didukung dengan kolektor Syslog:

  • kern
  • pengguna
  • mail
  • daemon
  • auth
  • syslog
  • lpr
  • berita
  • uucp
  • cron
  • authpriv
  • ftp
  • local0-local7

Untuk fasilitas lainnya, konfigurasikan sumber data Log Kustom di Azure Monitor.

Mengonfigurasi Syslog

Agen Analitik Log untuk Linux hanya akan mengumpulkan peristiwa dengan fasilitas dan tingkat keparahan yang ditentukan dalam konfigurasinya. Anda dapat mengonfigurasi Syslog melalui portal Azure atau dengan mengelola file konfigurasi di agen Linux.

Mengonfigurasi Syslog di portal Azure

Konfigurasikan Syslog dari menu konfigurasi Agen untuk ruang kerja Analitik Log. Konfigurasi ini dikirimkan ke file konfigurasi di setiap agen Linux.

Anda dapat menambahkan fasilitas baru dengan memilih Tambahkan fasilitas. Untuk setiap fasilitas, hanya pesan dengan tingkat keparahan terpilih yang akan dikumpulkan. Pilih tingkat keparahan untuk fasilitas tertentu yang ingin Anda kumpulkan. Anda tidak dapat memberikan kriteria lain untuk memfilter pesan.

Cuplikan layar yang memperlihatkan konfigurasi Syslog.

Secara default, semua perubahan konfigurasi secara otomatis didorong ke semua agen. Jika Anda ingin mengonfigurasi Syslog secara manual di setiap agen Linux, kosongkan kotak centang Terapkan konfigurasi di bawah ini ke komputer saya.

Mengonfigurasi Syslog di agen Linux

Saat agen Analitik Log diinstal pada klien Linux, agen tersebut menginstal file konfigurasi Syslog default yang menentukan fasilitas dan tingkat keparahan pesan yang dikumpulkan. Anda bisa mengubah berkas ini untuk mengubah konfigurasi. File konfigurasinya berbeda tergantung daemon Syslog yang telah diinstal klien.

Catatan

Jika Anda mengedit konfigurasi Syslog, Anda harus memulai ulang daemon Syslog agar perubahan diterapkan.

rsyslog

File konfigurasi untuk rsyslog terletak di /etc/rsyslog.d/95-omsagent.conf. Konten defaultnya ditampilkan dalam contoh berikut. Contoh ini mengumpulkan pesan Syslog yang dikirim dari agen lokal untuk semua fasilitas dengan tingkat peringatan atau lebih tinggi.

kern.warning       @127.0.0.1:25224
user.warning       @127.0.0.1:25224
daemon.warning     @127.0.0.1:25224
auth.warning       @127.0.0.1:25224
syslog.warning     @127.0.0.1:25224
uucp.warning       @127.0.0.1:25224
authpriv.warning   @127.0.0.1:25224
ftp.warning        @127.0.0.1:25224
cron.warning       @127.0.0.1:25224
local0.warning     @127.0.0.1:25224
local1.warning     @127.0.0.1:25224
local2.warning     @127.0.0.1:25224
local3.warning     @127.0.0.1:25224
local4.warning     @127.0.0.1:25224
local5.warning     @127.0.0.1:25224
local6.warning     @127.0.0.1:25224
local7.warning     @127.0.0.1:25224

Anda bisa menghapus fasilitas dengan menghapus bagian file konfigurasinya. Anda bisa membatasi tingkat keparahan yang dikumpulkan untuk fasilitas tertentu dengan mengubah entri fasilitas itu. Misalnya, untuk membatasi fasilitas pengguna ke pesan dengan tingkat keparahan kesalahan atau yang lebih tinggi, Anda akan memodifikasi baris file konfigurasi tersebut ke contoh berikut:

user.error    @127.0.0.1:25224

syslog-ng

File konfigurasi untuk syslog-ng terletak di /etc/syslog-ng/syslog-ng.conf. Konten defaultnya ditampilkan dalam contoh ini. Contoh ini mengumpulkan pesan Syslog yang dikirim dari agen lokal untuk semua fasilitas dan semua tingkat keparahan.

#
# Warnings (except iptables) in one file:
#
destination warn { file("/var/log/warn" fsync(yes)); };
log { source(src); filter(f_warn); destination(warn); };

#OMS_Destination
destination d_oms { udp("127.0.0.1" port(25224)); };

#OMS_facility = auth
filter f_auth_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(auth); };
log { source(src); filter(f_auth_oms); destination(d_oms); };

#OMS_facility = authpriv
filter f_authpriv_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(authpriv); };
log { source(src); filter(f_authpriv_oms); destination(d_oms); };

#OMS_facility = cron
filter f_cron_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(cron); };
log { source(src); filter(f_cron_oms); destination(d_oms); };

#OMS_facility = daemon
filter f_daemon_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(daemon); };
log { source(src); filter(f_daemon_oms); destination(d_oms); };

#OMS_facility = kern
filter f_kern_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(kern); };
log { source(src); filter(f_kern_oms); destination(d_oms); };

#OMS_facility = local0
filter f_local0_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local0); };
log { source(src); filter(f_local0_oms); destination(d_oms); };

#OMS_facility = local1
filter f_local1_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(local1); };
log { source(src); filter(f_local1_oms); destination(d_oms); };

#OMS_facility = mail
filter f_mail_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(mail); };
log { source(src); filter(f_mail_oms); destination(d_oms); };

#OMS_facility = syslog
filter f_syslog_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(syslog); };
log { source(src); filter(f_syslog_oms); destination(d_oms); };

#OMS_facility = user
filter f_user_oms { level(alert,crit,debug,emerg,err,info,notice,warning) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Anda bisa menghapus fasilitas dengan menghapus bagian file konfigurasinya. Anda bisa membatasi tingkat keparahan yang dikumpulkan untuk fasilitas tertentu dengan menghapusnya dari daftarnya. Misalnya, untuk membatasi fasilitas pengguna agar hanya memberi tahu pesan penting, Anda akan memodifikasi bagian file konfigurasi tersebut seperti yang ditunjukkan dalam contoh berikut:

#OMS_facility = user
filter f_user_oms { level(alert,crit) and facility(user); };
log { source(src); filter(f_user_oms); destination(d_oms); };

Mengumpulkan data dari port Syslog lainnya

Agen Analitik Log mendengarkan pesan Syslog pada klien lokal di port 25224. Saat agen diinstal, konfigurasi Syslog default diterapkan dan ditemukan di lokasi berikut:

  • Rsyslog: /etc/rsyslog.d/95-omsagent.conf
  • Syslog-ng: /etc/syslog-ng/syslog-ng.conf

Anda bisa mengubah nomor port dengan membuat dua file konfigurasi: file konfigurasi FluentD dan file rsyslog-or-syslog-ng tergantung daemon Syslog yang sudah diinstal.

  • File konfigurasi FluentD harus berupa file baru yang terletak di /etc/opt/microsoft/omsagent/conf/omsagent.d dan mengganti nilai dalam port entri dengan nomor port kustom Anda.

    <source>
        type syslog
        port %SYSLOG_PORT%
        bind 127.0.0.1
        protocol_type udp
        tag oms.syslog
    </source>
    <filter oms.syslog.**>
        type filter_syslog
    
  • Untuk rsyslog, Anda harus membuat file konfigurasi baru yang terletak di /etc/rsyslog.d/ dan mengganti nilai %SYSLOG_PORT% dengan nomor port kustom Anda.

    Catatan

    Jika Anda mengubah nilai ini dalam file konfigurasi 95-omsagent.conf, nilai tersebut akan ditimpa saat agen menerapkan konfigurasi default.

    # OMS Syslog collection for workspace %WORKSPACE_ID%
    kern.warning              @127.0.0.1:%SYSLOG_PORT%
    user.warning              @127.0.0.1:%SYSLOG_PORT%
    daemon.warning            @127.0.0.1:%SYSLOG_PORT%
    auth.warning              @127.0.0.1:%SYSLOG_PORT%
    
  • Konfigurasi syslog-ng harus dimodifikasi dengan menyalin konfigurasi contoh yang ditampilkan berikutnya dan menambahkan pengaturan kustom yang dimodifikasi ke akhir file konfigurasi yang syslog-ng.conf terletak di /etc/syslog-ng/. Jangan gunakan label %WORKSPACE_ID%_oms default atau %WORKSPACE_ID_OMS. Tentukan label kustom untuk membantu membedakan perubahan Anda.

    Catatan

    Jika Anda mengubah nilai default dalam file konfigurasi, nilai tersebut akan ditimpa saat agen menerapkan konfigurasi default.

    filter f_custom_filter { level(warning) and facility(auth; };
    destination d_custom_dest { udp("127.0.0.1" port(%SYSLOG_PORT%)); };
    log { source(s_src); filter(f_custom_filter); destination(d_custom_dest); };
    

Setelah Anda menyelesaikan perubahan, mulai ulang Syslog dan layanan agen Analitik Log untuk memastikan perubahan konfigurasi berlaku.

Properti data Syslog

Rekaman Syslog memiliki jenis Syslog dan memiliki properti yang diperlihatkan dalam tabel berikut.

Properti Deskripsi
Komputer Komputer tempat acara dikumpulkan.
Fasilitas Menentukan bagian sistem yang membuat pesan.
HostIP Alamat IP sistem yang mengirim pesan.
HostName Nama sistem yang mengirim pesan.
SeverityLevel Tingkat keparahan kejadian.
SyslogMessage Isi pesan.
ProcessID ID dari proses yang membuat pesan.
EventTime Tanggal dan waktu acara dibuat.

Kueri log dengan data Syslog

Tabel berikut ini menyediakan contoh kueri log yang berbeda yang mengambil data Syslog.

Kueri Deskripsi
Syslog Semua Syslog
Syslog | dengan SeverityLevel == "error" Semua rekaman Syslog dengan tingkat keparahan kesalahan
Syslog | meringkas AggregatedValue = jumlah() berdasarkan kompputer Jumlah rekaman Syslog menurut komputer
Syslog | meringkas AggregatedValue = jumlah() berdasarkan Fasilitas Jumlah catatan Syslog berdasarkan fasilitas

Langkah berikutnya

  • Pelajari tentang kueri log untuk menganalisis data yang dikumpulkan dari sumber data dan solusi.
  • Gunakan bidang kustom untuk mengurai data dari rekaman Syslog ke dalam bidang individual.
  • Konfigurasi agen Linux untuk mengumpulkan jenis data lainnya.