Bagikan melalui


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

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 mail
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

Cuplikan layar yang memperlihatkan halaman untuk memilih jenis sumber data dan tingkat log minimum.

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).

Cuplikan layar yang memperlihatkan konfigurasi tujuan Log Azure Monitor dalam aturan pengumpulan data.

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 mail
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: