จริงๆแล้วมีวิธีการทำเช่นนี้ได้ง่ายกว่ามาก
ดาวน์โหลด / เอกสาร: 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 หมายถึงไม่พบช่วงวันที่หรือช่วงเวลาตามจริงที่คุณร้องขอในบันทึก ในกรณีนี้เวลาที่ใกล้เคียงที่สุดกับเวลาที่คุณระบุจะถูกตรวจจับและใช้แทน
^[^ ]+
ส่วน ..