Mengumpulkan peristiwa Syslog dengan Agen Azure Monitor

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. Anda dapat menggunakan daemon Syslog yang dibangun ke perangkat dan appliance Linux untuk mengumpulkan peristiwa lokal dari jenis yang Anda tentukan. Kemudian Anda dapat mengirimkan peristiwa tersebut ke ruang kerja Analitik Log. Aplikasi mengirim pesan yang mungkin disimpan di komputer lokal atau dikirimkan ke pengumpul Syslog.

Saat agen Azure Monitor untuk Linux diinstal, agen tersebut mengonfigurasi daemon Syslog lokal untuk meneruskan pesan ke agen saat pengumpulan Syslog diaktifkan dalam aturan pengumpulan data (DCR). Agen Azure Monitor kemudian mengirim pesan ke ruang kerja Azure Monitor atau Analitik Log tempat rekaman Syslog terkait dibuat dalam tabel Syslog.

Diagram yang memperlihatkan koleksi Syslog.

Diagram yang memperlihatkan daemon Syslog dan komunikasi Agen Azure Monitor.

Fasilitas berikut didukung dengan kolektor Syslog:

  • Tidak
  • Kern
  • pengguna
  • mail
  • daemon
  • auth
  • syslog
  • lpr
  • berita
  • uucp
  • ftp
  • Ntp
  • audit
  • peringatan
  • tanda
  • local0
  • local1
  • local2
  • local3
  • local4
  • local5
  • local6
  • local7

Untuk beberapa jenis perangkat yang tidak mengizinkan penginstalan lokal Agen Azure Monitor, agen dapat diinstal sebagai gantinya pada penerus log berbasis Linux khusus. Perangkat asal harus dikonfigurasi untuk mengirim acara Syslog ke {i>daemondaemontutorial Sentinel.

Mengonfigurasi Syslog

Agen Azure Monitor untuk Linux hanya 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 Aturan Pengumpulan Data Azure Monitor. Konfigurasi ini dikirimkan ke file konfigurasi di setiap agen Linux.

  1. Pilih Tambahkan sumber data.
  2. Untuk Jenis sumber data, pilih syslog Linux.

Anda dapat mengumpulkan peristiwa Syslog dengan tingkat log yang berbeda untuk setiap fasilitas. Secara default, semua jenis fasilitas Syslog dikumpulkan. Jika Anda tidak ingin mengumpulkan, misalnya, peristiwa jenis auth , pilih NONE di kotak Daftar tingkat log minimum untuk auth fasilitas dan simpan perubahan. Jika Anda perlu mengubah tingkat log default untuk peristiwa Syslog dan hanya mengumpulkan peristiwa dengan tingkat log yang dimulai dari PEMBERITAHUAN atau prioritas yang lebih tinggi, pilih LOG_NOTICE dalam kotak Daftar tingkat log minimum.

Secara default, semua perubahan konfigurasi secara otomatis didorong ke semua agen yang dikonfigurasi di DCR.

Membuat aturan pengumpulan data

Buat aturan pengumpulan data di wilayah yang sama dengan ruang kerja Analitik Log Anda. DCR adalah sumber daya Azure yang memungkinkan Anda menentukan cara data harus ditangani saat diserap ke ruang kerja.

  1. Masuk ke portal Azure.

  2. Cari dan buka Pemantauan.

  3. Di bagian Pengaturan, pilih Aturan Pengumpulan Data.

  4. Pilih Buat.

    Cuplikan layar yang memperlihatkan panel Aturan Pengumpulan Data dengan opsi Buat dipilih.

Menambahkan sumber daya

  1. Pilih Tambahkan sumber daya.

  2. Gunakan filter untuk menemukan komputer virtual yang ingin Anda gunakan untuk mengumpulkan log.

    Cuplikan layar yang memperlihatkan halaman untuk memilih cakupan aturan pengumpulan data.

  3. Silakan pilih komputer virtual.

  4. Pilih Terapkan.

  5. Pilih Berikutnya: Kumpulkan dan kirimkan.

Menambahkan sumber data

  1. Pilih Tambahkan sumber data.

  2. Untuk Jenis sumber data, pilih syslog Linux.

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

  3. Untuk Tingkat log minimum, biarkan nilai default LOG_DEBUG.

  4. Pilih Berikutnya: Tujuan.

Menambahkan tujuan

  1. Pilih Tambahkan tujuan.

    Cuplikan layar yang memperlihatkan tab Tujuan dengan opsi Tambahkan tujuan dipilih.

  2. Masukkan nilai berikut:

    Bidang Nilai
    Tipe tujuan Azure Monitor Logs
    Langganan Pilih langganan yang sesuai
    Akun atau namespace layanan Pilih ruang kerja Analitik Log yang sesuai
  3. Pilih Tambahkan sumber data.

  4. Pilih Berikutnya: Tinjau + buat.

Buat aturan

  1. Pilih Buat.
  2. Tunggu 20 menit sebelum Anda melanjutkan ke bagian berikutnya.

Jika VM Anda tidak memiliki Agen Azure Monitor yang terinstal, penyebaran DCR memicu penginstalan agen pada VM.

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 ke Agen Azure Monitor.

Penginstalan Agen Azure Monitor menyertakan file konfigurasi default yang ditempatkan di bawah direktori berikut: /etc/opt/microsoft/azuremonitoragent/syslog/rsyslogconf/

Ketika Syslog ditambahkan ke DCR, file konfigurasi ini diinstal di bawah etc/rsyslog.d direktori sistem dan rsyslog secara otomatis dimulai ulang agar perubahan diterapkan. File-file ini digunakan oleh rsyslog untuk memuat modul output dan meneruskan peristiwa ke daemon Agen Azure Monitor dengan menggunakan aturan yang ditentukan.

Konten defaultnya ditampilkan dalam contoh berikut. Contoh ini 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")

Pada beberapa sistem warisan, seperti CentOS 7.3, kami telah 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

File konfigurasi untuk syslog-ng diinstal di /etc/opt/microsoft/azuremonitoragent/syslog/syslog-ngconf/azuremonitoragent-tcp.conf. Ketika koleksi Syslog ditambahkan ke DCR, file konfigurasi ini ditempatkan 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);
};

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.

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

Prasyarat

Anda memerlukan:

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 | where Facility == "auth" Semua catatan Syslog dengan jenis fasilitas autentikasi
Syslog | meringkas AggregatedValue = jumlah() berdasarkan Fasilitas Jumlah catatan Syslog berdasarkan fasilitas

Langkah berikutnya

Pelajari lebih lanjut tentang: