นี่เป็นงานที่ต้องใช้เวลามาก และใช่มันจำเป็นต้องมีสคริปต์อย่างแน่นอนหากคุณกำลังค้นหาสตริงหลายรายการในบันทึกที่แตกต่างกันหลายรายการในเวลาเดียวกัน แต่เมื่อเร็ว ๆ นี้ฉันต้องทำสิ่งนี้และมันค่อนข้างเจ็บปวด อย่างไรก็ตามมันจะทำและพร้อมและสามารถดาวน์โหลดได้จากลิงค์ต่อไปนี้:
ดาวน์โหลดสคริปต์ค้นหาบันทึก
วิธีการทำงานนี้ค่อนข้างง่าย
สถานการณ์ที่ 1: ตรวจสอบหนึ่งสายในแฟ้มบันทึกเดียว
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open' '.' 1 2 single_errCheck -ndshow
สถานการณ์ที่ 2: ตรวจสอบสตริงหลายรายการในไฟล์บันทึกเดียว
./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_errCheck -ndshow
สถานการณ์ที่ 3:ตรวจสอบสตริงเดียว / หลายรายการในไฟล์บันทึกหลายไฟล์
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 multi_err_multi_logCheck -ndshow
หมายเหตุ:
_P_ หมายถึง OR - มันแทนที่ไปป์ "|" สัญลักษณ์เพราะมีโอกาสน้อยที่คุณจะต้องค้นหาสตริงที่มี "_P_" หากคุณไม่ต้องการพิมพ์ "_P_" คุณสามารถแทนที่ _P_ ด้วย "|"
เมื่อใช้สคริปต์นี้พารามิเตอร์ที่คุณจะเปลี่ยนบ่อยคือ:
- ล็อกไฟล์หรือไดเร็กทอรีล็อกที่ต้องถูกมอนิเตอร์
- อายุไฟล์บันทึกจะต้องมีการตรวจสอบ .. ไม่ตรวจสอบหรือค้นหาไฟล์บันทึกใด ๆ ที่มีการประทับเวลานานกว่า 60 นาที
- สตริง / รูปแบบที่คุณต้องการดู
- แท็ก - นี่คืออาร์กิวเมนต์ที่สองถึงครั้งสุดท้ายที่คุณต้องระบุ มันบันทึกสถิติเกี่ยวกับไฟล์บันทึกที่คุณกำลังตรวจสอบภายใต้ / var / tmp / logXray
- ตัวเลือกการบันทึก -ndshow - นี่คือพารามิเตอร์ที่คุณต้องการใช้หากคุณต้องการที่จะส่งออกรายการจากบันทึกที่พบตรงกับรูปแบบที่คุณระบุ หากคุณต้องการดูจำนวนรวมของแต่ละรูปแบบที่พบเพียงแค่แทนที่ '-ndshow' ด้วย '-ndfoundmul'
เมื่อใช้ '-ndfoundmul' คุณจะได้ผลลัพธ์คล้ายกับ:
[root@dgphxtest001]# ./logsearch.sh localhost /var/tmp/logXray autonda /var/log/messages 60m 'can.*t.*open_P_ntpd.*stat' '.' 1 2 blahblahA -ndfoundmul
OK: [/var/log/messages][1] /var/log/messages:P=(can_t_open=0 ntpd_stat=0)_F=(117s)_R=(228,228=0)
วิธีการแก้ไขปัญหาของโปสเตอร์ต้นฉบับ:สแกนหาหลายสายในไฟล์บันทึกหลายไฟล์
./logsearch.sh localhost /var/tmp/logXray autonda /var/log 60m 'fatal_P_error_P_critical_P_failure_P_warning' '.' 1 2 multierr_logCheck -ndshow
ระบบปฏิบัติการ:สิ่งนี้ได้รับการทดสอบบน Ubuntu และ Red Hat
grep
สามารถใช้อาร์กิวเมนต์ไฟล์มากกว่าหนึ่งข้อ