Bagikan melalui


Mengumpulkan peristiwa Syslog dari klien komputer virtual dengan Azure Monitor

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. Kumpulkan peristiwa Syslog dari komputer virtual menggunakan aturan pengumpulan data (DCR) dengan sumber data Linux Syslog .

Petunjuk / Saran

Untuk mengumpulkan data dari perangkat yang tidak mengizinkan penginstalan lokal agen Azure Monitor, konfigurasikan penerus log berbasis Linux khusus seperti yang dijelaskan dalam Meneruskan data Syslog ke ruang kerja Log Analytics dengan Microsoft Sentinel dengan menggunakan Agen Azure Monitor.

Detail untuk pembuatan DCR disediakan dalam Mengumpulkan data dari klien VM dengan Azure Monitor. Artikel ini menyediakan detail lain untuk jenis sumber data Linux Syslog.

Nota

Untuk bekerja dengan definisi DCR secara langsung atau untuk menyebarkan dengan metode lain seperti templat ARM, lihat Sampel aturan pengumpulan data (DCR) di Azure Monitor.

Membuat DCR

Buat DCR menggunakan proses dalam Mengumpulkan data dari klien komputer virtual dengan Azure Monitor.

Mengonfigurasi sumber data Syslog

Pada tab Kumpulkan dan kirim DCR, pilih Linux Syslog dari menu dropdown Jenis sumber data .

Pilih Tingkat log minimum untuk setiap fasilitas atau NONE untuk tidak mengumpulkan peristiwa untuk fasilitas tersebut. Anda dapat mengonfigurasi beberapa fasilitas sekaligus dengan memilih kotak centangnya lalu memilih tingkat log di Atur tingkat log minimum untuk fasilitas yang dipilih.

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

Semua log dengan tingkat keparahan yang dipilih atau lebih tinggi dikumpulkan untuk fasilitas tersebut. Tingkat keparahan yang didukung dan tingkat keparahan relatifnya adalah sebagai berikut:

  1. Pemecahan Kesalahan
  2. Informasi
  3. Pemberitahuan
  4. Peringatan
  5. Kesalahan
  6. Penting
  7. Peringatan
  8. Darurat

Menambahkan tujuan

Data Syslog hanya dapat dikirim ke ruang kerja Analitik Log tempat data disimpan dalam tabel Syslog . Tambahkan tujuan dari jenis Azure Monitor Logs dan pilih ruang kerja Log Analytics. Meskipun Anda dapat menambahkan beberapa ruang kerja, ketahuilah bahwa ini akan mengirim data duplikat ke masing-masing ruang kerja yang akan menghasilkan biaya tambahan.

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

Memverifikasi pengumpulan data

Untuk memverifikasi bahwa data sedang dikumpulkan, periksa rekaman dalam tabel Syslog . Dari komputer virtual atau dari ruang kerja Analitik Log di portal Microsoft Azure, pilih Log lalu klik tombol Tabel . Di bawah Kategori komputer virtual, klik Jalankan di samping Syslog.

Cuplikan layar yang memperlihatkan rekaman yang dikembalikan dari tabel Syslog.

Nota

Saat menyerap data syslog menggunakan penerus log, inkonsistensi mungkin muncul antara bidang TimeGenerated dan EventTime.

  • TimeGenerated mencerminkan waktu UTC ketika pesan syslog diproses oleh mesin yang menghosting penerus log atau pengumpul.
  • EventTime diekstrak dari header syslog, yang tidak menyertakan informasi zona waktu dan dikonversi ke UTC menggunakan offset zona waktu lokal penerus/kolektor.

Ini dapat menyebabkan perbedaan antara dua bidang ketika penerus/kolektor dan perangkat yang menghasilkan log berada di zona waktu yang berbeda.

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.

Nota

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

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.

Nota

Pada sistem berbasis rsyslog, Agen Linux Azure Monitor menambahkan aturan penerusan ke set aturan default yang ditentukan dalam konfigurasi rsyslog. Jika beberapa ruleset digunakan, input yang terikat ke ruleset nondefault tidak diteruskan ke Azure Monitor Agent. Untuk informasi selengkapnya tentang beberapa set aturan di rsyslog, lihat dokumentasi resmi.

Konfigurasi default berikut 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"
queue.maxDiskSpace="1g"
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 lama, Anda mungkin melihat masalah pemformatan log rsyslog ketika format penerusan tradisional digunakan untuk mengirim event Syslog ke Azure Monitor Agent. Untuk sistem ini, Agen Azure Monitor secara otomatis menempatkan templat penerus lama sebagai pengganti:

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);
}; 

Nota

Azure Monitor mendukung kumpulan pesan yang dikirim oleh rsyslog atau syslog-ng, dengan rsyslog merupakan daemon default. Daemon Syslog bawaan pada Red Hat Enterprise Linux versi 5 dan Oracle Linux versi (sysklog) tidak didukung untuk pengumpulan 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 Kern
1 pengguna
2 email
3 Daemon
4 autentikasi
5 syslog
6 Lpr
7 berita
8 uucp
9 cron
10 authpriv
11 FTP
12 NTP
13 pemeriksaan
14 pemberitahuan
15 jam dinding
16 local0
17 lokal1
18 local2
19 local3
20 local4
21 local5
22 local6
23 local7
24 {tidak ada prioritas}

Titik koma dihapus dari pesan Syslog

Agen Azure Monitor (AMA) meneruskan data Syslog seperti yang diterima. Ini tidak mengubah konten pesan. Namun, titik koma (;) karakter dalam pesan Syslog dihapus selama penyerapan ke Azure Log Analytics.

Jika Anda perlu mempertahankan titik koma, pertimbangkan untuk memodifikasi pesan Syslog di sumber sebelum penyerapan. Misalnya, Anda dapat mengganti titik koma dengan karakter yang berbeda, seperti koma atau pipa (|), atau Anda mungkin mengodekan konten pesan sebelum mengirimkannya ke Azure Monitor.

Langkah selanjutnya