वास्तव में ऐसा करने का एक बहुत आसान तरीका है।
डाउनलोड / प्रलेखन: autodrgrep.kl.sh
कमान:
./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_08:00:00,2016-05-08_23:00:00' 'INFO' 'a2ensite' 5 10 -show
स्पष्टीकरण:
autodrgrep.kl.sh उपकरण का नाम है।
notchef एक विकल्प है जो उपकरण को यह बताने के लिए दिया जाता है कि उसे क्या करना है। इस विशेष मामले में, यह टूल को बता रहा है कि लॉग फ़ाइल /tmp/client.log किस प्रकार की है।
/tmp/client.log निश्चित रूप से लॉग फ़ाइल है।
2016-05-08_19: 12: 00,2016-05-08_21: 13: 00 उस लॉग के भीतर से तारीख की सीमा है जिसे आप स्कैन करना चाहते हैं
"INFO" उन स्ट्रिंग्स में से एक है जो लॉग्स की पंक्तियों में हैं जिन्हें आप रुचि रखते हैं।
"a2ensite" उसी लाइन पर एक और स्ट्रिंग है जिस पर आप "INFO" स्ट्रिंग खोजने की अपेक्षा करते हैं। इन दो तारों को निर्दिष्ट करना (INFO और a2ensite) अलग-अलग लाइनों को अलग करता है और संसाधित करता है जो आप बहुत तेज चाहते हैं, खासकर यदि आप एक विशाल लॉग फ़ाइल के साथ काम कर रहे हैं।
5 चेतावनी निर्दिष्ट करता है। 5 निर्दिष्ट करके, आप प्रोग्राम को चेतावनी के रूप में चेतावनी देने के लिए कह रहे हैं यदि आपके द्वारा निर्दिष्ट खोज स्ट्रिंग्स के कम से कम 5 घटनाएँ हैं
10 क्रिटिकल निर्दिष्ट करता है। 10 निर्दिष्ट करके, यदि आप निर्दिष्ट खोज स्ट्रिंग्स के कम से कम 10 घटनाएँ हैं, तो आप कार्यक्रम को महत्वपूर्ण के रूप में सतर्क करने के लिए कह रहे हैं।
-शो निर्दिष्ट करता है कि आपको किस प्रकार की प्रतिक्रिया मिलेगी। निर्दिष्ट करके -shown, आप कह रहे हैं कि यदि ऐसा कुछ पाया जाता है जो स्क्रीन के लिए निर्दिष्ट पैटर्न, आउटपुट से मेल खाता है।
नमूना रन:
# ./autodrgrep.kl.sh notchef /tmp/client.log '2016-05-08_19:12:00,2016-05-08_21:13:00' 'INFO' 'a2ensite' 5 10 -show
[2016-05-08 19:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:13:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 19:42:57-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 19:42:57-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 19:42:57-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 19:43:08-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 19:43:11-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:12:58-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:12:58-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:12:58-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:13:10-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:13:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 20:42:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 20:42:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 20:42:59-07:00] INFO: execute[a2ensite default] ran successfully
[2016-05-08 20:43:09-07:00] INFO: Processing execute[a2ensite nagios3.conf] action run (logXrayServer::install line 24)
[2016-05-08 20:43:12-07:00] INFO: execute[a2ensite default] sending restart action to service[apache2] (delayed)
[2016-05-08 21:12:59-07:00] INFO: Processing template[/usr/sbin/a2ensite] action create (apache2::default line 90)
[2016-05-08 21:12:59-07:00] INFO: Processing execute[a2ensite default] action run (apache2::default line 24)
[2016-05-08 21:12:59-07:00] INFO: execute[a2ensite default] ran successfully
23
2---78720---23---ATWFILF---(2016-05-08)-(19:12)---(2016-05-08)-(21:13) SEAGM
क्या होगा यदि उपयोगकर्ता निर्दिष्ट तिथि सीमा या समय सीमा लॉग में नहीं है?
उपरोक्त कमांड के प्रत्येक रन में हमेशा एक पंक्ति (आउटपुट की अंतिम पंक्ति) होगी जो या तो "ATWFILF" या "ETWNFILF" कहती है।
ATWFILF का अर्थ है कि आपके द्वारा खोजा गया वास्तविक दिनांक सीमा या समय सीमा लॉग में पाई गई थी। तो यह बहुत अच्छा है।
ETWNFILF का अर्थ है वास्तविक तिथि सीमा या आपके द्वारा खोजा गया समय सीमा लॉग में नहीं मिला था। इस मामले में, आपके द्वारा निर्दिष्ट समय का निकटतम समय पता लगाया जाएगा और इसके बजाय उपयोग किया जाएगा।
^[^ ]+
भाग नहीं मिलता ..