全部产品
Search
文档中心

Elasticsearch:File konfigurasi Logstash

更新时间:Jul 02, 2025

Logstash menggunakan pipeline untuk mengumpulkan dan memproses data. Anda perlu mengonfigurasi plugin input dan output untuk pipeline tersebut. Plugin filter dapat dikonfigurasi sesuai kebutuhan bisnis Anda. Plugin input dan output digunakan untuk menentukan sumber data input dan output, sedangkan plugin filter digunakan untuk memproses data yang telah dikumpulkan sebelumnya. Topik ini menjelaskan file konfigurasi pipeline dari Alibaba Cloud Logstash.

Untuk informasi lebih lanjut, lihat Struktur File Konfigurasi dalam dokumentasi Logstash open source.

Anda dapat menggunakan file konfigurasi Logstash untuk mengonfigurasi pipeline guna pengumpulan dan pemrosesan data. Untuk informasi lebih lanjut, lihat Gunakan File Konfigurasi untuk Mengelola Pipeline.

Struktur file konfigurasi

File konfigurasi pipeline Logstash memungkinkan Anda mengonfigurasi setiap jenis plugin di bagian terpisah.
input {
  ...
}

filter {
  ...
}

output {
  ...
}

Setiap bagian dapat berisi satu atau lebih plugin. Jika Anda menentukan beberapa plugin filter, Logstash akan menerapkannya sesuai dengan urutan kemunculannya di file konfigurasi.

Penting
  • Jika file konfigurasi berisi parameter seperti last_run_metadata_path, Anda harus menetapkan parameter ini ke jalur file Alibaba Cloud Logstash. Jalur dalam format /ssd/1/<ID kluster Logstash>/logstash/data/ disediakan di backend dan tersedia untuk pengujian. Sistem tidak akan menghapus data di jalur ini. Pastikan disk Anda memiliki ruang penyimpanan yang cukup saat menggunakan jalur ini. Setelah Anda menentukan jalur, Logstash secara otomatis menghasilkan file di jalur tersebut, tetapi Anda tidak dapat melihat data di dalam file.
  • Untuk alasan keamanan, jika Anda menentukan driver JDBC saat mengonfigurasi pipeline, Anda harus menambahkan allowLoadLocalInfile=false&autoDeserialize=false di akhir parameter jdbc_connection_string, seperti jdbc_connection_string => "jdbc:mysql://xxx.drds.aliyuncs.com:3306/<Nama database>?allowLoadLocalInfile=false&autoDeserialize=false". Jika tidak, ketika Anda menambahkan file konfigurasi untuk pipeline Logstash, sistem akan menampilkan pesan kesalahan yang menunjukkan kegagalan pemeriksaan.

Konfigurasi plug-in

Konfigurasi plugin terdiri dari nama plugin dan kumpulan properti plugin. Dalam konfigurasi berikut, bagian input mendefinisikan dua plugin beats, dan setiap plugin berisi properti port dan host.
input {
  beats {
    port => 8000
    host => "118.11.xx.xx"
  }

  beats {
    port => 8001
    host => "192.168.xx.xx"
  }
}

Properti yang didukung oleh berbagai plugin bervariasi berdasarkan jenis plugin. Untuk informasi lebih lanjut, lihat Plugin Input, Plugin Output, Plugin Filter, dan Plugin Codec.

Tipe nilai

Saat mengonfigurasi plugin, Anda dapat menetapkan tipe nilai berikut.

Array

Tipe ini tidak direkomendasikan. Kami merekomendasikan Anda menggunakan tipe standar, seperti string. Anda dapat mendefinisikan properti :list => true untuk memfasilitasi pemeriksaan tipe. Tipe ini digunakan saat Anda ingin memproses tabel hash atau daftar tipe campuran yang tidak memerlukan pemeriksaan tipe. Contoh:
users => [ {id => 1, name => bob}, {id => 2, name => jane} ]

List

Daftar itu sendiri bukanlah sebuah tipe, tetapi atributnya memiliki karakteristik tipe. Anda dapat memasukkan beberapa nilai untuk pemeriksaan tipe. Jika Anda menentukan :list => true saat mendeklarasikan parameter, plugin mengaktifkan pemeriksaan daftar. Contoh:
path => [ "/var/log/messages", "/var/log/*.log" ]
uris => [ "http://elastic.co", "http://example.net" ]

Dalam contoh ini, path dikonfigurasi sebagai daftar yang berisi dua string. uris dikonfigurasi sebagai daftar URL. Jika salah satu URL tidak valid, pemrosesan event gagal.

Boolean

Nilai tipe Boolean harus true atau false. Nilai tersebut tidak diapit tanda kutip. Contoh:
ssl_enable => true

Byte

Bidang tipe byte adalah bidang string yang mewakili sejumlah byte yang valid. Ini adalah cara yang nyaman untuk mendeklarasikan ukuran tertentu dalam opsi plugin. Tipe byte mendukung desimal (k M G T P E Z Y) dan biner (Ki Mi Gi Ti Pi Ei Zi Yi). Unit desimal berbasis-1000 dan unit biner berbasis-1024. Bidang ini tidak peka huruf besar-kecil dan mengizinkan spasi antara nilai dan unit. Jika tidak ada unit yang ditentukan, string integer menunjukkan jumlah byte. Contoh:
 my_bytes => "1113"   # 1113 bytes
 my_bytes => "10MiB"  # 10485760 bytes
 my_bytes => "100kib" # 102400 bytes
 my_bytes => "180 mb" # 180000000 bytes

Codec

Codec adalah tipe data yang dikodekan atau didekode. Codec dapat digunakan baik di plugin input maupun output. Codec input mendekode data sebelum data masuk ke plugin input. Codec output mengkode data sebelum data meninggalkan plugin output. Jika Anda menggunakan codec input atau output, Anda tidak perlu menentukan plugin filter untuk pipeline Logstash Anda.

Untuk informasi lebih lanjut tentang codec yang tersedia, lihat Plugin Codec. Contoh:
codec => "json"

Hash

Nilai tipe hash adalah kumpulan pasangan kunci-nilai, seperti "field1" => "value1".

Penting Pasangan kunci-nilai yang banyak dipisahkan oleh spasi, bukan koma (,).
Contoh:
match => {
  "field1" => "value1"
  "field2" => "value2"
  ...
}
# Tentukan pasangan kunci-nilai dalam satu baris. Pisahkan pasangan kunci-nilai dengan spasi, bukan koma (,). 
match => { "field1" => "value1" "field2" => "value2" }

Numeric

Nilai tipe numerik harus berupa floating point atau integer. Contoh:
port => 33

Password

Password adalah string dengan nilai tunggal yang tidak dicatat atau ditampilkan. Contoh:
my_password => "password"

URI

URI berkisar dari URL lengkap hingga pengenal sederhana, seperti foobar. Jika URI berisi kata sandi, seperti http://user:paas@example.net, kata sandi tidak dicatat atau ditampilkan. Contoh:
 my_uri => "http://foo:bar@example.net"

Path

Path adalah string yang mewakili path yang valid dalam sistem operasi. Contoh:
my_path => "/tmp/logstash"

String

String harus berupa urutan karakter tunggal yang diapit tanda kutip ganda (") atau tanda kutip tunggal (').

Urutan escape

Secara default, Logstash tidak mengaktifkan urutan escape. Jika Anda ingin menggunakan urutan escape dalam string yang dikutip, tambahkan config.support_escapes: true di logstash.yml. Kemudian, string yang dikutip (presisi ganda dan tunggal) dikonversi berdasarkan tabel berikut.
Karakter escapeDeskripsiNilai ASCII (desimal)
\rCarriage return013
\nLine break010
\tTab009
\\Backslash092
\"Tanda kutip ganda034
\'Tanda kutip tunggal039
Contoh:
name => 'It\'s a beautiful day'

Komentar

Komentar dimulai dengan tanda pagar (#) dan tidak perlu berada di awal baris. Contoh:
# Komentar. 

input { # Komentar. 
  # ...
}