Tüm Ürünler
Search
Belge Merkezi

Elasticsearch:Logstash yapılandırma dosyaları

Son Güncelleme:Oct 04, 2026

Bir Logstash işlem hattı yapılandırma dosyası, verilerin bir işlem hattından nasıl geçtiğini tanımlar. Her dosya; verinin nereden geldiğini, nasıl dönüştürüldüğünü ve nereye gittiğini kontrol eden üç eklenti türüne karşılık gelen input, filter ve output olmak üzere üç bölümden oluşur.

Açık kaynaklı Logstash yapılandırma biçimi için bkz. Structure of a Config File.

Yapılandırma dosyası yapısı

Her bölüm bir veya daha fazla eklenti tanımı içerir:

# Use comments to describe parts of your configuration.
input {
  ...
}

filter {
  ...
}

output {
  ...
}

input ve output bölümleri zorunludur. filter bölümü isteğe bağlıdır; yalnızca veriyi çıktıya ulaşmadan önce dönüştürmeniz veya ön işleme tabi tutmanız gerektiğinde ekleyin.

Eklenti yürütme sırası: Birden fazla filtre eklentisi tanımlarsanız Logstash bunları yapılandırma dosyasında göründükleri sırayla uygular.

Önemli

Yapılandırmanızda last_run_metadata_path gibi bir parametre varsa bunu Alibaba Cloud Logstash içindeki bir yola ayarlayın. Arka uç, test amacıyla kullanabileceğiniz /ssd/1/<Logstash cluster ID>/logstash/data/ biçiminde bir yol sağlar. Sistem bu yoldaki verileri silmez; diskinizde yeterli alan olduğundan emin olun. Bir yol belirttiğinizde Logstash otomatik olarak orada bir dosya oluşturur ancak dosya içeriğini görüntüleyemezsiniz.

Önemli

JDBC sürücüsü kullanan bir işlem hattı yapılandırıyorsanız güvenlik amacıyla jdbc_connection_string parametresine allowLoadLocalInfile=false&autoDeserialize=false ifadesini ekleyin. Bu parametreleri eklemezseniz yapılandırma dosyasını eklediğinizde sistem denetim hatası döndürür.

jdbc_connection_string => "jdbc:mysql://xxx.drds.aliyuncs.com:3306/<Database name>?allowLoadLocalInfile=false&autoDeserialize=false"
Not

Bu yapılandırma dosyasını bir işlem hattında kullanmak için konsolun işlem hattı yönetimi sayfasından dosyaya başvurun. Daha fazla bilgi için bkz. Use configuration files to manage pipelines.

Eklenti yapılandırması

Her eklenti tanımı, eklenti adının ardından özelliklerinden oluşur. Aşağıdaki örnek, input bölümünde her biri farklı bir bağlantı noktası ve ana bilgisayarda dinleyen iki beats eklentisi tanımlar:

input {
  beats {
    port => 8000
    host => "118.11.xx.xx"
  }

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

Kullanılabilir özellikler eklenti türüne göre değişir. Tam liste için Elastic belgelerine bakın:

Değer türleri

Eklenti özellikleri aşağıdaki değer türlerini kabul eder.

Dizi

Önerilmez. Bunun yerine String türünü kullanın veya listelerde tür denetimini etkinleştirmek için :list => true seçeneğini belirtin. Diziler yalnızca tür denetimi gerektirmeyen karma tabloları veya karışık türdeki listeleri işlemeniz gerektiğinde yararlıdır.

users => [ {id => 1, name => bob}, {id => 2, name => jane} ]

Liste

Liste bağımsız bir tür değildir; bir özellik niteliğidir. Tür denetimiyle birlikte birden çok değere izin vermek için bir parametreyi :list => true ile bildirin. Listedeki herhangi bir değer geçersizse (örneğin geçersiz bir URL) olay işleme başarısız olur.

path => [ "/var/log/messages", "/var/log/*.log" ]
uris => [ "http://elastic.co", "http://example.net" ]

Boolean

Boolean değerleri tırnak işareti olmadan true veya false olmalıdır.

ssl_enable => true

Byte

Byte değeri, bayt sayısını temsil eden bir dizedir. Hem ondalık birimler (k M G T P E Z Y, taban 1000) hem de ikili birimler (Ki Mi Gi Ti Pi Ei Zi Yi, taban 1024) desteklenir. Değer büyük/küçük harfe duyarlı değildir ve sayı ile birim arasında boşluk bırakılmasına izin verir. Birimi atlarsanız tam sayı bayt sayısı olarak yorumlanır.

my_bytes => "1113"   # 1113 bytes
my_bytes => "10MiB"  # 10485760 bytes
my_bytes => "100kib" # 102400 bytes
my_bytes => "180 mb" # 180000000 bytes

Codec

Codec, verileri kodlayan veya çözümleyen bir eklentidir. Codecs hem input hem de output eklentilerinde çalışır:

  • Bir input codec, veri işlem hattına girmeden önce onu çözer.

  • Bir output codec, veri işlem hattından çıkmadan önce onu kodlar.

Codec kullanmak ayrı bir filter eklentisi gereksinimini ortadan kaldırır. Kullanılabilir codec'ler için bkz. Codec plug-ins.

codec => "json"

Hash

Hash değeri, "field1" => "value1" biçimindeki anahtar-değer çiftleri koleksiyonudur.

match => {
  "field1" => "value1"
  "field2" => "value2"
  ...
}
# Or as a single line. No commas between entries:
match => { "field1" => "value1" "field2" => "value2" }

Numeric

Numeric değerler kayan noktalı sayılar veya tam sayılar olmalıdır.

port => 33

Password

Password, asla günlüklenmeyen veya görüntülenmeyen tek değerli bir dizedir.

my_password => "password"

URI

Bir URI, tam bir URL'den foobar gibi basit bir tanımlayıcıya kadar değişebilir. URI bir parola içeriyorsa — örneğin http://user:paas@example.net — parola asla günlüklenmez veya görüntülenmez.

my_uri => "http://foo:bar@example.net"

Path

Path değeri, geçerli bir işletim sistemi dosya yolunu temsil eden bir dizedir.

my_path => "/tmp/logstash"

String

String değeri, çift tırnak (") veya tek tırnak (') içine alınmış tek bir karakter dizisidir.

Kaçış dizileri

Kaçış dizileri varsayılan olarak devre dışıdır. Bunları etkinleştirmek için logstash.yml dosyasına aşağıdakileri ekleyin:

config.support_escapes: true

Kaçış dizileri etkinleştirildiğinde tırnak içine alınmış dizeler (hem tek hem de çift tırnak) aşağıdaki kaçış karakterlerini destekler:

Escape character Description ASCII value (decimal)
\r Carriage return 013
\n Line break 010
\t Tab 009
\\ Backslash 092
\" Double quotation mark 034
\' Single quotation mark 039

Örnek:

name => 'It\'s a beautiful day'

Yorumlar

Yorum # ile başlar ve satırın herhangi bir yerinde görünebilir; yalnızca satır başında olması gerekmez.

# This is a full-line comment.

input { # This is an inline comment.
  # ...
}