मैंने अपने सिस्टम पर लोचदार खोज, लॉगस्टैश, किबाना लॉग देखने के टूल सेट किए हैं। अब मेरी विन्यास में 2 मशीनों (अमेज़न EC2 उदाहरण) कर रहे हैं:लॉगस्टैश-फ़ॉरवर्डर मशीन का आईपी पता प्राप्त करना
- 54.251.120.171 - Logstash-सर्वर जहां ELK
- 54.249.59.224 स्थापित किया गया है - Logstash-फारवर्डर - भेजता है "/ var/लॉग/संदेशों
input { lumberjack { port => 5000 type => "logs" ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt" ssl_key => "/etc/pki/tls/private/logstash-forwarder.key" } } filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } output { elasticsearch { host => localhost } stdout { codec => rubydebug } }
logstash-फारवर्डर पर, यह क्या मेरी कॉन्फ़िग फ़ाइल दिखता है -: "Logstash-सर्वर को यह क्या मेरी कॉन्फ़िगरेशन (विभिन्न फाइलों में) की तरह लग रहे लोग इन
logstash-सर्वर पर, की तरह, यह अग्रेषित करता है/var/log/संदेश,/var/log/सुरक्षित लॉग logstash-सर्वर
{
"network": {
"servers": [ "54.251.120.171:5000" ],
"timeout": 15,
"ssl ca": "/etc/pki/tls/certs/logstash-forwarder.crt"
},
"files": [
{
"paths": [
"/var/log/messages",
"/var/log/secure"
],
"fields": { "type": "syslog" }
}
]
}
यह मेरा Kibana इंटरफेस जैसे कि यह Elasticsearch से अनुक्रमित लॉग लाया था के बाद लग रहा है क्या है करने के लिए।
तो मेरे सवाल है, मैं वहाँ एक लॉग घटना होने की स्थिति में logstash-फारवर्डर अर्थात 54.249.59.224 के आईपी पते को पुनः प्राप्त करने के लिए एक तरीका होना चाहिए।
कारण मैं यह पूछ रहा हूं कि एक असली परिदृश्य में है, हमारे पास कई लॉगस्टैश-फॉरवर्डर्स (10 कहें) हो सकते हैं, जिनमें से सभी 10 हमारे लॉगस्टैश-सर्वर पर लॉग भेज रहे हैं। तो मुझे सभी लॉग इवेंट्स टैग करने के लिए किसी तरह की ज़रूरत है, ताकि मैं पहचान सकूं कि कौन से लॉगस्टैश-सर्वर ने लॉग लॉग भेजा है।
किबाना इंटरफ़ेस में लॉग इवेंट खोजने के लिए मुझे आईपी पता (शायद कुछ अन्य जानकारी भी) का उपयोग करने की आवश्यकता होगी।
क्या कोई मुझे ऐसा करने में मदद कर सकता है? :)
या किसी को यह बेहतर विचार है कि इसे प्रभावी तरीके से कैसे करें, आपका स्वागत है!
जैसा कि आप किबाना स्नैप में संलग्न कर सकते हैं, मैंने प्राप्त किया है, प्राप्त_from फ़ील्ड होस्ट नाम को 'eva-all' होने की रिपोर्ट कर रहा है, लेकिन मुझे उम्मीद है कि यह होस्ट के आईपी पते यानी '54 .249.59.224 'क्या आप मुझे यह इंगित करने के लिए कोड को संशोधित करने के लिए इंगित कर सकते हैं। क्षमा करें मैं अभी भी पूरी तरह से वाक्यविन्यास या grok और फिल्टर की क्षमताओं को समझने में सक्षम नहीं हूँ। – chinmay
मैंने एक और मशीन जोड़ा जिसका आईपी '46.137.246.88 'है, इसलिए मूल रूप से किबाना को 2 मशीनों से लॉग मिल रहा है (दोनों होस्ट-नाम ईवा-सब हैं), इसलिए मैं किस लॉग के रूप में अंतर करने में सक्षम नहीं हूं मशीन से – chinmay
जैसा कि आपने अपनी लॉगस्टैश-फ़ॉरवर्डर कॉन्फ़िगरेशन में दिखाया है, आप शिपर से फ़ील्ड भेज सकते हैं। एक और फ़ील्ड जोड़ें और इसे एक मान दें जो आपको इसे अन्य मशीन से अलग करने देगा। आप अपनी मशीनों को एक ही होस्टनाम नहीं देने पर विचार कर सकते हैं। –