fluentd anda alt ikinci çözünürlüğü desteklemiyor: Ben Örneğin çağın
beri nanosaniye depolamak için record_reformer ile günlük mesajların tümüne yeni bir alan ekleyerek bu çalıştı https://github.com/fluent/fluentd/issues/461
senin fluentd böylece gibi bazı girdileri vardır: Bu gibi görünür ve bir nanosaniye alanı ekler bir record_reformer eklemek Sonra onları değiştirmek
#
# Syslog
#
<source>
type syslog
port 5140
bind localhost
tag syslog
</source>
#
# Tomcat log4j json output
#
<source>
type tail
path /home/foo/logs/catalina-json.out
pos_file /home/foo/logs/fluentd.pos
tag tomcat
format json
time_key @timestamp
time_format "%Y-%m-%dT%H:%M:%S.%L%Z"
</source>
#
# Syslog
#
<source>
type syslog
port 5140
bind localhost
tag cleanup.syslog
</source>
#
# Tomcat log4j json output
#
<source>
type tail
path /home/foo/logs/catalina-json.out
pos_file /home/foo/logs/fluentd.pos
tag cleanup.tomcat
format json
time_key @timestamp
time_format "%Y-%m-%dT%H:%M:%S.%L%Z"
</source>
<match cleanup.**>
type record_reformer
time_nano ${t = Time.now; ((t.to_i * 1000000000) + t.nsec).to_s}
tag ${tag_suffix[1]}
</match>
Sonra time_nano alanını kibana gösterge tablonuza ekleyin ve @timestamp yerine sıralamak için kullanın ve her şey sırayla olacaktır.
Cevabınız için teşekkürler. Bir Fluentd bakıcısı burada. İkinci saniyedeki zaman damgası desteğini (bilinen bir sorun/tasarım kararı) düşündüğümüz için bu konuyu aklımda tutacağım. –
Bu konuya dikkat ettiğiniz için teşekkürler Kiyoto Tamura. Geçici çözüm, idealden daha azdır çünkü zaman damgası, fluentd'den en az milisaniye hassasiyete sahip olabilecek bir günlük dosyasından üretilir. İlk olarak milisaniye hassasiyetini zaman biçiminde kullanmak ve ardından aynı milisaniyede sipariş vermek için ayrıştırma sırasında geçerli nanosaniye değerini geçerli saniyeden akıcıya eklemek en iyisidir. Ya da ayrıştırılmış günlük mesajı, örneğin, syslog gibi sadece 1 saniyelik bir çözünürlüğe sahip olsaydı. –
Merhaba @DavidWartell, $ {time} değişkenini akıcı eklenti-kayıt reformcundan kullanmanın daha iyi olacağını düşünüyor musunuz? Bu yüzden Time.now' yerine, akıcılığın zamanı yerine olayın zamanını alabiliriz. – clarete