Fluentd'de JSON nasıl genişletilir?
Sep 29 2020
Fluentd'de iç içe geçmiş JSON dizesini ayrı alanlara filtrelemenin bir yolu var mı?
Mevcut JSON:
{
Value1: "something",
Value2: "something",
Message:{
Value3: "Something",
Value3: "Something"
}
}
İstediğim (veya benzer bir şey):
{
Value1: "something",
Value2: "something",
Message.Value3: "Something",
Message.Value3: "Something"
}
JSON'un yukarıdaki örnekteki gibi düzleştirilmesi gerekmez, ancak değerlerin elasticsearch'e ulaştıklarında kendi ayrı alanlarında (sütunlarında) olmasını istiyorum. Diğer servislerde, tek uzun Mesaj dizisini içinde bulunan birden çok alana bölmek istiyorum.
Yanıtlar
1 MaxLobur Sep 29 2020 at 02:54
Bunu dene:
<source>
...
</source>
<filter myapp**>
@type parser
key_name Message
format multi_format
<pattern>
format json # try parsing json in the first place
</pattern>
<pattern>
format none # leave as is if this is not json (plaintext)
</pattern>
reserve_data true # keep the original Message field in case anything go wrong
</filter>
<match myapp**>
...
</match>
Çok formatlı ayrıştırıcı: https://github.com/repeatedly/fluent-plugin-multi-format-parser
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'