fluentd वर्तमान में उप-दूसरे संकल्प का समर्थन नहीं करता: https://github.com/fluent/fluentd/issues/461
मैं अगर युग
के बाद से नैनोसेकंड स्टोर करने के लिए उदाहरण के लिए record_reformer साथ लॉग संदेशों के सभी के लिए एक नया क्षेत्र जोड़कर इस के आसपास काम अपने fluentd तो जैसे कुछ आदानों है: तो फिर उन्हें बदलने
#
# 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>
इस तरह दिखेगा और एक record_reformer कि एक nanosecond क्षेत्र कहते हैं जोड़ने के लिए
012,
#
# 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>
फिर अपने किबाना डैशबोर्ड पर time_nano फ़ील्ड जोड़ें और @Timestamp के बजाय सॉर्ट करने के लिए इसका उपयोग करें और सब कुछ क्रम में होगा।
स्रोत
2015-01-13 18:06:16
उत्तर के लिए धन्यवाद। यहां एक फ्लुएंटेड रखरखाव। मैं इस मुद्दे को ध्यान में रखूंगा क्योंकि हम उप-दूसरे टाइमस्टैम्प समर्थन के बारे में अधिक सोचते हैं (यह ज्ञात समस्या/डिज़ाइन निर्णय है)। –
इस मुद्दे पर ध्यान देने के लिए धन्यवाद Kiyoto Tamura। वर्कअराउंड आदर्श से कम है क्योंकि टाइमस्टैम्प फ्लैंटड बनाम एक लॉग फ़ाइल से उत्पन्न होता है जो कम से कम मिलीसेकंड सटीक हो सकता है। पहली बार मिलीसेकंड सटीक समय प्रारूप के लिए उपयोग करना सबसे अच्छा होगा और फिर उसी मिलीसेकंड में ऑर्डर रखने के लिए पार्सिंग के समय फ्लैंटड में वर्तमान दूसरे से वर्तमान नैनोसेकंड वैल्यू जोड़ें। या दूसरा अगर पार्स किए गए लॉग संदेश में उदाहरण के लिए सिसलॉग जैसे 1 सेकंड रिज़ॉल्यूशन था। –
हाय @ डेविडवार्टेल, क्या आपको लगता है कि फ्लैंट-प्लगइन-रिकॉर्ड-सुधारक से परिवर्तनीय $ {time} का उपयोग करना बेहतर होगा? तो 'टाइम.now' के बजाय हम फ्लैंटड के समय की बजाय घटना का समय प्राप्त कर सकते हैं। – clarete