Linux ตรวจสอบบันทึกและแจ้งเตือนทางอีเมลหรือไม่


13

ฉันมีเซิร์ฟเวอร์ที่มีปุ่มเปิด / ปิดที่ผิดปกติซึ่งชอบรีบูตตัวเอง โดยปกติจะมีสัญญาณเตือนเช่นไฟล์บันทึก acpid ใน / var / log จะเริ่มส่งสแปมในเวลาประมาณ 10 ชั่วโมงหรือมากกว่านั้น

มีวิธีง่าย ๆ ที่ฉันสามารถมีบางสิ่งบางอย่างในการตรวจสอบบันทึก acpid และส่งอีเมลฉันเมื่อมันมีกิจกรรมใหม่?

ฉันไม่คิดว่าตัวเองก้าวหน้าไปมากดังนั้น "ผู้ชี้แนะ" ที่คุณอาจจะต้องทำบางสิ่งเช่นนี้จะเป็นประโยชน์และชื่นชมอย่างมาก ขอบคุณ!


การเปลี่ยนปุ่มเปิดปิดและ / หรือเซิร์ฟเวอร์เป็นวิธีแก้ปัญหาที่เป็นไปได้หรือไม่
Meetai.com

คำตอบ:


19

คุณสามารถใช้สิ่งที่ชอบlogwatch หรือแม้แต่สคริปต์อย่างง่ายเช่นนี้ (มันเป็นรหัสหลอกคุณจะต้องแก้ไขมันสำหรับสภาพแวดล้อมของคุณ):

 #!/bin/bash
 GREP_STRING=`grep -c <error string> <acpid log location>`
 if [ $GREP_STRING -ne 0 ] 
 then
    <send email notification>
 fi

ใส่ลงใน cron ให้ทำงานทุก ๆ ชั่วโมงหรือมากกว่านั้นและคุณควรได้รับอีเมลแจ้งให้คุณทราบเมื่อมันเริ่มแปลก


1
logwatch ใช้งานได้ดีสำหรับฉัน
J.Zimmerman

3
ปัญหากับสคริปต์นี้ก็คือว่ามันจะส่งข้อผิดพลาดเดียวกันซ้ำแล้วซ้ำจนกว่าไฟล์จะได้รับการหมุน
chmeee

ใน Ubuntu / Debian logwatch สามารถติดตั้งได้กับ: aptitude install -y logwatch
Meetai.com

8

คุณสามารถใช้OSSEC HIDS เพื่อตั้งกฎสำหรับล็อกไฟล์และรับข้อมูลความปลอดภัยจากโฮสต์ของคุณในเวลาเดียวกัน

การตั้งค่านั้นง่ายมาก:

  • ดาวน์โหลดแหล่งที่มา
  • คลายการบีบอัดและรัน. / install.sh
  • เลือกการติดตั้งท้องถิ่น
  • ตอบคำถาม (อีเมลเช็ค ฯลฯ )
  • แก้ไข/var/ossec/rules/local_rules.xmlตามที่ระบุไว้ด้านล่าง
  • เริ่ม OSSEC ด้วย /var/ossec/bin/ossec-control start

local_rules.xml

<group name="local,syslog,">
  <rule id="100001" level="13">
    <regex>^.*Your string.*$</regex>
    <description>I've just picked up a fault in the AE35 unit. It's going to go 100% failure in 72 hours</description>
  </rule>
</group>

กฎมีความยืดหยุ่นและซับซ้อนมาก ดูตารางนี้เพื่อดูแนวคิดเกี่ยวกับพารามิเตอร์ที่เกี่ยวข้องในกฎ

หากคุณไม่ต้องการหรือต้องการคุณสมบัติด้านความปลอดภัยอื่น ๆ คุณสามารถปิดการใช้งานได้โดยลบincludeบรรทัดใต้rulesแท็ก


5

ฉันอยากจะแนะนำNagiosเป็นสิ่งที่เราทำงานที่ฉันทำงานเพื่อตรวจสอบเครื่องหลายเครื่องด้วยเครือข่าย มันเยี่ยมมากฉันไม่ได้ใช้มันเฉพาะกับสิ่งที่คุณทำ แต่คุณสามารถตั้งค่าได้อย่างแน่นอนเพื่อส่งอีเมลถึงคุณเมื่อเกิดข้อผิดพลาด

มีคำแนะนำที่นี่สำหรับการติดตั้งบน Ubuntu http://beginlinux.com/blog/2008/11/install-nagios-3-on-ubuntu-810/และอีกหนึ่งสำหรับการติดตั้งบนhttp: //www.debianhelp co.uk/nagiosinstall.htm


3

และคุณสามารถส่งมันด้วยสิ่งนี้:

EMAILMSG="/tmp/logreport.$$"
echo "Something to put in the email" >> $EMAILMSG

cat $EMAILMSG | mail -s "Whatever Subject You Like" user@domain.com
rm -f $EMAILMGS

3

ฉันใช้Zabbixกับเครื่องมือ IPMI เพื่อรีสตาร์ทเซิร์ฟเวอร์ที่ผิดปกติตามต้องการ นอกจากนี้ฉันคิดว่าOSSECก็เป็นทางเลือกที่ดีเช่นกัน แต่คุณต้องทำการทดลองและแก้ไขปัญหาก่อนที่จะนำไปใช้ในการ ...


3

ดาวน์โหลดและติดตั้งSplunkบนเซิร์ฟเวอร์ มันคล้ายกับ logwatch แต่มีเครื่องมือค้นหาสำหรับบันทึกของคุณ

คุณสามารถกำหนดค่าให้จัดทำดัชนีบันทึกของคุณจากนั้นคุณสามารถค้นหาบันทึกและค้นหารูปแบบค้นหาข้อผิดพลาดจากนั้นดูว่าบันทึกอื่น ๆ กำลังทำอะไร ณ จุดที่เกิดความล้มเหลวนั้น ๆ

นอกจากนี้ยังสามารถตั้งค่าให้ส่งการแจ้งเตือนหรือรันสคริปต์ตามเกณฑ์ที่กำหนด ดังนั้นหากมีข้อผิดพลาดบางอย่างเริ่มถูกส่งสแปมไปยังบันทึกของคุณคุณสามารถสคริปต์เพื่อเริ่มบริการที่ละเมิดโดยอัตโนมัติ

เราใช้ splunk ในเซิร์ฟเวอร์คลัสเตอร์ของเราและมันเป็นเครื่องช่วยชีวิต!


+1 สำหรับ Splunk ดูดีมากฉันลองใหม่ในคืนนี้
Mark Davidson

1

ที่นายจ้างก่อนหน้านี้เราใช้logsurfer +เพื่อตรวจสอบบันทึกในเวลาจริงและส่งอีเมลแจ้งเตือน ต้องใช้เวลาและการกำหนดค่าเพื่อปรับแต่งผลบวกปลอม แต่เรามีกฎที่ทำงานได้ค่อนข้างดีสำหรับการค้นพบที่หลากหลายและการแจ้งเตือนซึ่งมีค่ามากกว่า Nagios ก็เพื่อจุดประสงค์เดียวกัน

โชคไม่ดีที่ฉันไม่สามารถเข้าถึงไฟล์กำหนดค่าอีกต่อไปเพื่อให้ตัวอย่างสิ่งที่เรากรอง แต่เว็บไซต์ควรให้ข้อมูลและตัวอย่างเพิ่มเติม


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.