Mengumpulkan peristiwa Syslog dengan Agen Azure Monitor
Peristiwa Syslog adalah salah satu sumber data yang digunakan dalam aturan pengumpulan data (DCR). Detail untuk pembuatan DCR disediakan dalam Mengumpulkan data dengan Agen Azure Monitor. Artikel ini menyediakan detail tambahan untuk jenis sumber data peristiwa Syslog.
Syslog adalah protokol pengelogan peristiwa yang umum untuk Linux. Anda dapat menggunakan daemon Syslog yang disertakan dalam perangkat dan appliance Linux untuk mengumpulkan peristiwa lokal dari jenis yang Anda tentukan. Aplikasi mengirim pesan yang disimpan di komputer lokal atau dikirimkan ke pengumpul Syslog.
Tip
Untuk mengumpulkan data dari perangkat yang tidak mengizinkan penginstalan lokal Agen Azure Monitor, konfigurasikan penerus log berbasis Linux khusus.
Prasyarat
- Ruang kerja Analitik Log tempat Anda memiliki setidaknya hak kontributor. Peristiwa Syslog dikirim ke tabel Syslog .
- DCR baru atau yang sudah ada dijelaskan dalam Mengumpulkan data dengan Agen Azure Monitor.
Mengonfigurasi pengumpulan data Syslog
Di langkah Kumpulkan dan kirim DCR, pilih Linux Syslog dari menu dropdown Jenis sumber data.
Fasilitas berikut didukung dengan kolektor Syslog:
Nomor Indeks Prioritas | Nama Prioritas |
---|---|
{none} | Tidak Ada Pri |
0 | Kern |
1 | pengguna |
2 | |
3 | daemon |
4 | auth |
5 | syslog |
6 | lpr |
7 | berita |
8 | uucp |
9 | cron |
10 | authpriv |
11 | ftp |
12 | Ntp |
13 | audit |
14 | peringatan |
15 | Jam |
16 | local0 |
17 | local1 |
18 | local2 |
19 | local3 |
20 | local4 |
21 | local5 |
22 | local6 |
23 | local7 |
Secara default, agen akan mengumpulkan semua peristiwa yang dikirim oleh konfigurasi Syslog. Ubah Tingkat log minimum untuk setiap fasilitas untuk membatasi pengumpulan data. Pilih NONE untuk tidak mengumpulkan peristiwa untuk fasilitas tertentu.
Tujuan
Data Syslog dapat dikirim ke lokasi berikut.
Tujuan | Tabel /Namespace |
---|---|
Ruang kerja Analitik Log | Syslog |
Catatan
Azure Monitor Linux Agent versi 1.15.2 dan yang lebih tinggi mendukung format RFC syslog termasuk Cisco Meraki, Cisco ASA, Cisco FTD, Sophos XG, Juniper Networks, Corelight Zeek, CipherTrust, NXLog, McAfee, dan Common Event Format (CEF).
Mengonfigurasi Syslog pada agen Linux
Ketika Azure Monitor Agent diinstal pada komputer Linux, azure Monitor Agent menginstal file konfigurasi Syslog default yang menentukan fasilitas dan tingkat keparahan pesan yang dikumpulkan jika Syslog diaktifkan dalam DCR. File konfigurasinya berbeda tergantung daemon Syslog yang telah diinstal klien.
Rsyslog
Pada banyak distribusi Linux, daemon rsyslogd bertanggung jawab untuk mengonsumsi, menyimpan, dan merutekan pesan log yang dikirim dengan menggunakan LINUX Syslog API. Agen Azure Monitor menggunakan modul output penerusan TCP (omfwd
) di rsyslog untuk meneruskan pesan log.
Penginstalan Agen Azure Monitor menyertakan file konfigurasi default yang terletak di /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/
. Ketika Syslog ditambahkan ke DCR, konfigurasi ini diinstal di bawah etc/rsyslog.d
direktori sistem dan rsyslog secara otomatis dimulai ulang agar perubahan diterapkan.
Catatan
Pada sistem berbasis rsyslog, Agen Linux Azure Monitor menambahkan aturan penerusan ke set aturan default yang ditentukan dalam konfigurasi rsyslog. Jika beberapa set aturan digunakan, input yang terikat ke set aturan non-default tidak diteruskan ke Agen Azure Monitor. Untuk informasi selengkapnya tentang beberapa set aturan di rsyslog, lihat dokumentasi resmi.
Berikut ini adalah konfigurasi default yang mengumpulkan pesan Syslog yang dikirim dari agen lokal untuk semua fasilitas dengan semua tingkat log.
$ cat /etc/rsyslog.d/10-azuremonitoragent-omfwd.conf
# Azure Monitor Agent configuration: forward logs to azuremonitoragent
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%")
# queue.workerThreads sets the maximum worker threads, it will scale back to 0 if there is no activity
# Forwarding all events through TCP port
*.* action(type="omfwd"
template="AMA_RSYSLOG_TraditionalForwardFormat"
queue.type="LinkedList"
queue.filename="omfwd-azuremonitoragent"
queue.maxFileSize="32m"
action.resumeRetryCount="-1"
action.resumeInterval="5"
action.reportSuspension="on"
action.reportSuspensionContinuation="on"
queue.size="25000"
queue.workerThreads="100"
queue.dequeueBatchSize="2048"
queue.saveonshutdown="on"
target="127.0.0.1" Port="28330" Protocol="tcp")
Konfigurasi berikut digunakan saat Anda menggunakan SELinux dan memutuskan untuk menggunakan soket Unix.
$ cat /etc/rsyslog.d/10-azuremonitoragent.conf
# Azure Monitor Agent configuration: forward logs to azuremonitoragent
$OMUxSockSocket /run/azuremonitoragent/default_syslog.socket
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="<%PRI%>%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%")
$OMUxSockDefaultTemplate AMA_RSYSLOG_TraditionalForwardFormat
# Forwarding all events through Unix Domain Socket
*.* :omuxsock:
$ cat /etc/rsyslog.d/05-azuremonitoragent-loadomuxsock.conf
# Azure Monitor Agent configuration: load rsyslog forwarding module.
$ModLoad omuxsock
Pada beberapa sistem warisan, Anda mungkin melihat masalah pemformatan log rsyslog saat format penerusan tradisional digunakan untuk mengirim peristiwa Syslog ke Agen Azure Monitor. Untuk sistem ini, Agen Azure Monitor secara otomatis menempatkan templat penerus warisan sebagai gantinya:
template(name="AMA_RSYSLOG_TraditionalForwardFormat" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg%\n")
Syslog-ng
Penginstalan Agen Azure Monitor menyertakan file konfigurasi default yang terletak di /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.conf
. Ketika Syslog ditambahkan ke DCR, konfigurasi ini diinstal di bawah /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf
direktori sistem dan syslog-ng secara otomatis dimulai ulang agar perubahan diterapkan.
Konten default ditampilkan dalam contoh berikut. Contoh ini mengumpulkan pesan Syslog yang dikirim dari agen lokal untuk semua fasilitas dan semua tingkat keparahan.
$ cat /etc/syslog-ng/conf.d/azuremonitoragent-tcp.conf
# Azure MDSD configuration: syslog forwarding config for mdsd agent
options {};
# during install time, we detect if s_src exist, if it does then we
# replace it by appropriate source name like in redhat 's_sys'
# Forwrding using tcp
destination d_azure_mdsd {
network("127.0.0.1"
port(28330)
log-fifo-size(25000));
};
log {
source(s_src); # will be automatically parsed from /etc/syslog-ng/syslog-ng.conf
destination(d_azure_mdsd);
flags(flow-control);
};
Konfigurasi berikut digunakan saat Anda menggunakan SELinux dan memutuskan untuk menggunakan soket Unix.
$ cat /etc/syslog-ng/conf.d/azuremonitoragent.conf
# Azure MDSD configuration: syslog forwarding config for mdsd agent options {};
# during install time, we detect if s_src exist, if it does then we
# replace it by appropriate source name like in redhat 's_sys'
# Forwrding using unix domain socket
destination d_azure_mdsd {
unix-dgram("/run/azuremonitoragent/default_syslog.socket"
flags(no_multi_line) );
};
log {
source(s_src); # will be automatically parsed from /etc/syslog-ng/syslog-ng.conf
destination(d_azure_mdsd);
};
Catatan
Azure Monitor mendukung kumpulan pesan yang dikirim oleh rsyslog atau syslog-ng, dengan rsyslog merupakan daemon default. Daemon Syslog default pada versi 5 Red Hat Enterprise Linux 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.
Jika Anda mengedit konfigurasi Syslog, Anda harus memulai ulang daemon Syslog agar perubahan diterapkan.
Fasilitas yang didukung
Fasilitas berikut didukung dengan kolektor Syslog:
Indeks pri | Nama Pri |
---|---|
0 | Tidak |
1 | Kern |
2 | pengguna |
3 | |
4 | daemon |
4 | auth |
5 | syslog |
6 | lpr |
7 | berita |
8 | uucp |
9 | ftp |
10 | Ntp |
11 | audit |
12 | peringatan |
13 | tanda |
14 | local0 |
15 | local1 |
16 | local2 |
17 | local3 |
18 | local4 |
19 | local5 |
20 | local6 |
21 | local7 |
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. |
Sampel kueri log Syslog
Tabel berikut ini menyediakan contoh kueri log yang berbeda yang mengambil data Syslog.
Semua Syslog
Syslog
Semua rekaman Syslog dengan tingkat keparahan kesalahan
Syslog | where SeverityLevel == "error"
Semua catatan Syslog dengan jenis fasilitas autentikasi
Syslog | where facility == "auth"
Jumlah catatan Syslog berdasarkan fasilitas
Syslog | summarize AggregatedValue = count() by facility
Pemecahan Masalah
Lakukan langkah-langkah berikut jika Anda tidak mengumpulkan data dari log JSON yang Anda harapkan.
- Verifikasi bahwa data sedang ditulis ke Syslog.
- Lihat Memverifikasi operasi untuk memverifikasi apakah agen beroperasi dan data sedang diterima.
Langkah berikutnya
Pelajari lebih lanjut tentang: