logstash-input-sls, Alibaba Cloud Logstash'in yerleşik bir giriş eklentisidir. Bu eklenti, Simple Log Service'ten günlükleri alır.
logstash-input-sls, Alibaba Cloud tarafından sürdürülen açık kaynaklı bir eklentidir. Daha fazla bilgi için bkz. logstash-input-logservice.
Özellikler
-
Dağıtık işbirlikçi tüketim: Birden çok sunucuyu, bir Logstore'daki günlük verilerini aynı anda tüketecek şekilde yapılandırabilirsiniz.
NotDağıtık işbirlikçi tüketimi gerçekleştirmek üzere birden çok Logstash sunucusu kullanmak istiyorsanız her sunucuda yalnızca logstash-input-sls yüklü tek bir işlem hattının dağıtıldığından emin olun. Bu kısıtlama, logstash-input-sls eklentisinin sınırlamalarından kaynaklanır. Tek bir sunucuda logstash-input-sls yüklü birden çok işlem hattı dağıtırsanız çıktıda yinelenen veriler bulunabilir.
Yüksek performans: Bir Java tüketici grubu kullanıldığında tek çekirdekli bir CPU'nun tüketim hızı 20 MB/s'ye ulaşabilir.
Yüksek güvenilirlik: logstash-input-sls, tüketim ilerlemesini sunucularda kaydeder. Bir sunucu bir özel durumdan kurtarıldığında veri tüketimine son tüketim kontrol noktasından devam edebilir.
Otomatik yük dengeleme: Parçalar, bir tüketici grubundaki tüketici sayısına göre otomatik olarak atanır. Tüketiciler tüketici grubuna katıldığında veya gruptan ayrıldığında logstash-input-sls parçaları otomatik olarak yeniden atar.
Önkoşullar
-
logstash-input-sls eklentisi yüklenmiştir.
Daha fazla bilgi için bkz. Eklentileri yükleme veya kaldırma.
-
Bir Simple Log Service projesi ve bir Logstore oluşturulmuştur. Veriler toplanmıştır.
Daha fazla bilgi için bkz. Hızlı başlangıç.
logstash-input-sls uygulaması
Önkoşullar karşılandıktan sonra Yapılandırma dosyalarıyla Logstash işlem hatlarını yönetme bölümündeki talimatları izleyerek bir işlem hattı oluşturabilirsiniz. Bir işlem hattı oluştururken Parametreler bölümündeki tabloda sağlanan açıklamalara göre işlem hattı parametrelerini yapılandırın. Parametreleri yapılandırdıktan sonra ayarları kaydedip işlem hattını dağıtmanız gerekir. Ardından Alibaba Cloud Logstash, Simple Log Service'ten veri almak için tetiklenir.
logstash-input-sls eklentisini bir RAM kullanıcısıyla kullanmadan önce RAM kullanıcısına tüketici grubuyla ilgili izinleri vermeniz gerekir. Daha fazla bilgi için bkz. Tüketici grubuyla günlükleri tüketme.
Aşağıdaki örnekte, bir Logstore'daki günlük verilerini tüketmek ve verileri Alibaba Cloud Elasticsearch'e aktarmak için Alibaba Cloud Logstash'in nasıl kullanılacağı gösterilmektedir:
input {
logservice{
endpoint => "your project endpoint"
access_id => "your access id"
access_key => "your access key"
project => "your project name"
logstore => "your logstore name"
consumer_group => "consumer group name"
consumer_name => "consumer name"
position => "end"
checkpoint_second => 30
include_meta => true
consumer_name_with_ip => true
}
}
output {
elasticsearch {
hosts => ["http://es-cn-***.elasticsearch.aliyuncs.com:9200"]
index => "<your_index>"
user => "elastic"
password => "changeme"
}
}
Aşağıdaki varsayımları yapalım: Logstore'da 10 parça bulunmaktadır. Her parçanın veri trafiği 1 MB/s'dir. Her Logstash sunucusunun işleme kapasitesi 3 MB/s'dir. Beş Logstash sunucusu tahsis edilir ve her sunucuda logstash-input-sls yüklü tek bir işlem hattı dağıtılır. Her sunucu aynı consumer_group ve consumer_name ayarlarını kullanır. consumer_name_with_ip değeri true olarak ayarlanır.
Bu durumda her sunucuya iki parça atanır ve her parça veriyi 2 MB/s hızında işler.
Parametreler
Aşağıdaki tabloda logstash-input-sls tarafından desteklenen parametreler açıklanmaktadır.
Parametre | Tür | Gerekli | Açıklama |
endpoint | String | Evet | Sanal özel cloud (VPC) içindeki Simple Log Service projesinin uç noktası. Daha fazla bilgi için bkz. Dahili Simple Log Service uç noktaları. |
access_id | String | Evet | Tüketici grubu üzerinde izne sahip hesabınızın AccessKey ID'si. Daha fazla bilgi için bkz. Tüketici grubuyla günlükleri tüketme. |
access_key | String | Evet | Tüketici grubu üzerinde izne sahip hesabınızın AccessKey gizli anahtarı. Daha fazla bilgi için bkz. Tüketici grubuyla günlükleri tüketme. |
project | String | Evet | Simple Log Service projesinin adı. |
logstore | String | Evet | Logstore'un adı. |
consumer_group | String | Evet | Özelleştirilebilen tüketici grubunun adı. |
consumer_name | String | Evet | Özelleştirilebilen bir tüketicinin adı. Her tüketicinin adı bir tüketici grubunda benzersiz olmalıdır. Aksi takdirde tanımsız davranışlar oluşabilir. |
position | String | Evet | Günlük verilerini tüketmeye başlamak için başlangıç konumu. Geçerli değerler:
|
checkpoint_second | Number | Hayır | Bir kontrol noktasını tetikleme aralığı. Aralığın 10 sn ile 60 sn arasında bir değere ayarlanmasını öneririz. Minimum değer: 10. Varsayılan değer: 30. Birim: saniye. |
include_meta | Boolean | Hayır | Giriş günlüklerinin günlük kaynağı, saat, etiket ve konu gibi meta veriler içerip içermediğini belirtir. Varsayılan değer: true. |
consumer_name_with_ip | Boolean | Hayır | Tüketici adının bir IP adresi içerip içermediğini belirtir. Varsayılan değer: true. Dağıtık işbirlikçi tüketim için değeri true olarak ayarlayın. |
Performans kıyaslama testi
-
Test ortamı
CPU: Intel(R) Xeon(R) Platinum 8163 işlemci @ 2,50 GHz, 4 çekirdek
Bellek: 8 GB
İşletim sistemi: Linux
-
Logstash işlem hattı yapılandırması
input { logservice{ endpoint => "cn-hangzhou-intranet.log.aliyuncs.com" access_id => "***" access_key => "***" project => "test-project" logstore => "logstore1" consumer_group => "consumer_group1" consumer_name => "consumer1" position => "end" checkpoint_second => 30 include_meta => true consumer_name_with_ip => true } } output { elasticsearch { hosts => ["http://es-cn-***.elasticsearch.aliyuncs.com:9200"] index => "myindex" user => "elastic" password => "changeme" } } -
Test prosedürü
-
Her saniye Logstore'a 2 MB, 4 MB, 8 MB, 16 MB ve 32 MB veri göndermek için bir Java üreticisi kullanın.
Her günlük girdisi 10 anahtar-değer çifti içerir ve uzunluğu yaklaşık 500 bayttır.
Logstore'daki verileri tüketmek için Logstash'i başlatın. Tüketim gecikme süresinin artmadığından ve tüketim hızının üretim hızına ayak uydurabildiğinden emin olun.
-
-
Test sonuçları
Trafik (MB/s)
CPU kullanımı (%)
Bellek kullanımı (GB)
32
170,3
1,3
16
83,3
1,3
8
41,5
1,3
4
21,0
1,3
2
11,3
1,3