[Tidak digunakan lagi] Menggunakan Logstash untuk mengalirkan log dengan HTTP Data Collection API (warisan)
Penting
Pengumpulan log dari banyak appliance dan perangkat sekarang didukung oleh Common Event Format (CEF) melalui AMA, Syslog melalui AMA, atau Log Kustom melalui konektor data AMA di Microsoft Sentinel. Untuk informasi selengkapnya, lihat Menemukan konektor data Microsoft Azure Sentinel Anda.
Penting
Konsumsi data menggunakan plugin output Logstash saat ini dalam versi pratinjau publik. Fitur ini disediakan tanpa perjanjian tingkat layanan, dan tidak disarankan untuk beban kerja produksi. Untuk mengetahui informasi selengkapnya, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
Catatan
Versi plugin Logstash yang lebih baru dapat meneruskan log dari sumber data eksternal ke tabel kustom dan standar menggunakan API berbasis DCR. Plugin baru memungkinkan kontrol penuh atas skema output, termasuk konfigurasi nama dan jenis kolom.
Dengan plugin output Microsoft Sentinel untuk mesin pengumpulan data Logstash, Anda dapat mengirim semua jenis log yang diinginkan melalui Logstash langsung ke ruang kerja Log Analytics di Microsoft Sentinel. Log Anda akan dikirim ke tabel kustom yang Anda tentukan menggunakan plugin output. Versi plugin ini menggunakan HTTP Data Collection API.
Untuk mempelajari selengkapnya tentang bekerja dengan mesin pengumpulan data Logstash, lihat Mulai menggunakan Logstash.
Gambaran Umum
Arsitektur dan latar belakang
Mesin Logstash terdiri dari tiga komponen:
- Plugin input: Pengumpulan data yang disesuaikan dari berbagai sumber.
- Plugin filter: Manipulasi dan normalisasi data sesuai dengan kriteria yang ditentukan.
- Plugin output: Pengiriman kustom data yang dikumpulkan dan diproses ke berbagai tujuan.
Catatan
Microsoft hanya mendukung plugin output Logstash yang disediakan Microsoft Sentinel yang dibahas di sini. Versi plugin ini saat ini adalah v1.0.0, dirilis 2020-08-25. Anda dapat membuka tiket dukungan untuk masalah apa pun mengenai plugin output.
Microsoft tidak mendukung plugin output Logstash pihak ketiga untuk Microsoft Sentinel, atau plugin maupun komponen Logstash lainnya dengan jenis apa pun.
Plugin output Logstash Microsoft Sentinel hanya mendukung Logstash versi 7.0 hingga 7.17.10, dan versi 8.0 hingga 8.9 dan 8.11. Jika Anda menggunakan Logstash 8, kami sarankan Anda menonaktifkan ECS di alur.
Plugin output Microsoft Sentinel untuk Logstash mengirimkan data berformat JSON ke ruang kerja Log Analytics Anda, menggunakan REST API Pengumpul Data HTTP Log Analytics. Data dimasukkan ke dalam log kustom.
- Pelajari REST API Log Analytics lebih lanjut.
- Pelajari log kustom lebih lanjut.
Menyebarkan plugin output Microsoft Sentinel di Logstash
Langkah 1: Pemasangan
Plugin output Microsoft Sentinel tersedia dalam koleksi Logstash.
Ikuti petunjuk di dokumen Logstash Bekerja dengan plugin untuk memasang plugin microsoft-logstash-output-azure-loganalytics.
Jika sistem Logstash Anda tidak memiliki akses Internet, ikuti petunjuk dalam dokumen Logstash Pengelolaan Plugin Offline untuk menyiapkan dan menggunakan paket plugin secara offline. (Ini akan meminta Anda membuat sistem Logstash lain dengan akses Internet.)
Langkah 2: Konfigurasi
Gunakan informasi dalam dokumen Logstash Struktur file konfigurasi dan tambahkan plugin output Microsoft Sentinel ke konfigurasi dengan kunci dan nilai berikut. (Sintaks file konfigurasi yang tepat ditampilkan setelah tabel.)
Nama bidang | Jenis data | Deskripsi |
---|---|---|
workspace_id |
string | Masukkan GUID ID ruang kerja Anda (lihat Tips). |
workspace_key |
string | Masukkan GUID kunci primer ruang kerja Anda (lihat Tips). |
custom_log_table_name |
string | Atur nama tabel tempat log akan dimasukkan. Hanya satu nama tabel per plugin output yang dapat dikonfigurasi. Tabel log akan muncul di Microsoft Sentinel di bawah Log, di Tabel dalam kategori Log Kustom, dengan akhiran _CL . |
endpoint |
string | Bidang opsional. Secara default, ini adalah titik akhir Log Analytics. Gunakan bidang ini untuk mengatur titik akhir alternatif. |
time_generated_field |
string | Bidang opsional. Properti ini menggantikan bidang TimeGenerated default di Log Analytics. Masukkan nama bidang tanda waktu di sumber data. Data dalam bidang harus sesuai dengan format ISO 8601 (YYYY-MM-DDThh:mm:ssZ ) |
key_names |
array | Masukkan daftar bidang skema output Log Analytics. Setiap item daftar harus diapit dalam tanda kutip tunggal dan item yang dipisahkan koma, dan seluruh daftar diapit dalam tanda kurung siku. Contohnya di bawah. |
plugin_flush_interval |
number | Bidang opsional. Atur untuk menentukan interval maksimum (dalam detik) antara transmisi pesan ke Log Analytics. Bawaan adalah 5. |
amount_resizing |
Boolean | Benar atau salah. Aktifkan atau nonaktifkan mekanisme penskalaan otomatis, yang menyesuaikan ukuran buffer pesan sesuai dengan volume data log yang diterima. |
max_items |
number | Bidang opsional. Hanya berlaku jika amount_resizing diatur ke "false.". Gunakan untuk mengatur tutup pada ukuran buffer pesan (dalam catatan). Defaultnya adalah 2000. |
azure_resource_id |
string | Bidang opsional. Menentukan ID sumber daya Azure tempat data berada. Nilai ID sumber daya sangat berguna jika Anda menggunakan resource-context RBAC untuk hanya memberikan akses ke data tertentu. |
Tip
- Anda dapat menemukan ID ruang kerja dan kunci primer di sumber daya ruang kerja, di bagian Pengelolaan agen.
- Namun, karena memiliki informasi masuk dan informasi sensitif lainnya yang disimpan dalam teks biasa dalam file konfigurasi tidak sejalan dengan praktik terbaik keamanan, Anda sangat dianjurkan untuk menggunakan penyimpanan kunci Logstash untuk memasukkan ID ruang kerja dan kunci primer ruang kerja dalam konfigurasi. Lihat dokumentasi Elastic untuk mengetahui petunjuknya.
Sampel konfigurasi
Berikut beberapa contoh konfigurasi yang menggunakan beberapa opsi lainnya.
Konfigurasi dasar yang menggunakan pipa input filebeat:
input { beats { port => "5044" } } filter { } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<your workspace id>" workspace_key => "<your workspace key>" custom_log_table_name => "tableName" } }
Konfigurasi dasar yang menggunakan pipa input tcp:
input { tcp { port => "514" type => syslog #optional, will effect log type in table } } filter { } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<your workspace id>" workspace_key => "<your workspace key>" custom_log_table_name => "tableName" } }
Konfigurasi tingkat lanjut:
input { tcp { port => 514 type => syslog } } filter { grok { match => { "message" => "<%{NUMBER:PRI}>1 (?<TIME_TAG>[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}T[0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})[^ ]* (?<HOSTNAME>[^ ]*) %{GREEDYDATA:MSG}" } } } output { microsoft-logstash-output-azure-loganalytics { workspace_id => "<WS_ID>" workspace_key => "${WS_KEY}" custom_log_table_name => "logstashCustomTable" key_names => ['PRI','TIME_TAG','HOSTNAME','MSG'] plugin_flush_interval => 5 } }
Konfigurasi yang lebih canggih untuk mengurai tanda waktu kustom dan string JSON dari data teks yang tidak terstruktur dan mencatat sekumpulan bidang yang dipilih ke Analitik Log dengan tanda waktu yang diekstrak:
# Example log line below: # Mon Nov 07 20:45:08 2022: { "name":"_custom_time_generated", "origin":"test_microsoft", "sender":"test@microsoft.com", "messages":1337} # take an input input { file { path => "/var/log/test.log" } } filter { # extract the header timestamp and the Json section grok { match => { "message" => ["^(?<timestamp>.{24}):\s(?<json_data>.*)$"] } } # parse the extracted header as a timestamp date { id => 'parse_metric_timestamp' match => [ 'timestamp', 'EEE MMM dd HH:mm:ss yyyy' ] timezone => 'Europe/Rome' target => 'custom_time_generated' } json { source => "json_data" } } # output to a file for debugging (optional) output { file { path => "/tmp/test.txt" codec => line { format => "custom format: %{message} %{custom_time_generated} %{json_data}"} } } # output to the console output for debugging (optional) output { stdout { codec => rubydebug } } # log into Log Analytics output { microsoft-logstash-output-azure-loganalytics { workspace_id => '[REDACTED]' workspace_key => '[REDACTED]' custom_log_table_name => 'RSyslogMetrics' time_generated_field => 'custom_time_generated' key_names => ['custom_time_generated','name','origin','sender','messages'] } }
Catatan
Kunjungi repositori GitHub plugin output untuk mempelajari lebih lanjut pengaturan kerja, konfigurasi, dan performa internalnya.
Langkah 3: Mulai ulang Logstash
Langkah 4: Melihat log masuk di Microsoft Sentinel
Verifikasi bahwa pesan dikirim ke plugin output.
Dari menu navigasi Microsoft Sentinel, buka Log. Di bawah judul Tabel, perluas kategori Log Kustom. Temukan dan klik nama tabel yang Anda tentukan (dengan akhiran
_CL
) dalam konfigurasi.Untuk melihat data dalam tabel, ajukan kueri tabel dengan menggunakan nama tabel sebagai skema.
Memantau log audit plugin output
Untuk memantau konektivitas dan aktivitas plugin output Microsoft Sentinel, aktifkan file log Logstash yang sesuai. Lihat dokumen Tata Letak Direktori Logstash untuk mengetahui lokasi file log.
Jika Anda tidak melihat data apa pun dalam file log ini, buat dan kirim beberapa peristiwa secara lokal (melalui plugin input dan filter) untuk memastikan bahwa plugin output dapat menerima data. Microsoft Sentinel hanya akan mendukung masalah yang berkaitan dengan plugin output.
Langkah berikutnya
Dalam dokumen ini, Anda telah mempelajari cara menggunakan Logstash untuk menghubungkan sumber data eksternal ke Microsoft Sentinel. Untuk mempelajari selengkapnya tentang Microsoft Azure Sentinel, lihat artikel berikut: