วิธีปิดใช้งานการแจ้งเตือนการเริ่ม / หยุดการทำงานของ Monit อินสแตนซ์?


10

Monit ส่งการแจ้งเตือนทุกครั้งที่ monit daemon หยุดทำงานหรือเริ่มทำงาน นี่เป็นข้อมูลที่น่ารังเกียจและไม่มีประโยชน์

ตามเอกสารฉันตั้ง:

set alert user@mycompany.com but not on { instance }

... ซึ่งควรส่งการแจ้งเตือนไปยังอีเมลดังกล่าวเว้นแต่ว่าอยู่ในหมวดหมู่ "อินสแตนซ์" ซึ่งถูกกำหนดเป็นเริ่ม / หยุด

อย่างไรก็ตามฉันยังคงได้รับการแจ้งเตือน มันน่ารำคาญสุด ๆ เห็นได้ชัดว่าฉันต้องหายไปบางสิ่งบางอย่าง

เรากำลังใช้ Monit 5.2.4


คำตอบ:


7

Monit สามารถตามเอกสารสร้างจำนวนการแจ้งเตือน:

Event:     | Failure state:              | Success state:
---------------------------------------------------------------------
action     | "Action done"               | "Action done"
checksum   | "Checksum failed"           | "Checksum succeeded"
bytein     | "Download bytes exceeded"   | "Download bytes ok"
byteout    | "Upload bytes exceeded"     | "Upload bytes ok"
connection | "Connection failed"         | "Connection succeeded"
content    | "Content failed",           | "Content succeeded"
data       | "Data access error"         | "Data access succeeded"
exec       | "Execution failed"          | "Execution succeeded"
fsflags    | "Filesystem flags failed"   | "Filesystem flags succeeded"
gid        | "GID failed"                | "GID succeeded"
icmp       | "Ping failed"               | "Ping succeeded"
instance   | "Monit instance changed"    | "Monit instance changed not"
invalid    | "Invalid type"              | "Type succeeded"
link       | "Link down"                 | "Link up"
nonexist   | "Does not exist"            | "Exists"
packetin   | "Download packets exceeded" | "Download packets ok"
packetout  | "Upload packets exceeded"   | "Upload packets ok"
permission | "Permission failed"         | "Permission succeeded"
pid        | "PID failed"                | "PID succeeded"
ppid       | "PPID failed"               | "PPID succeeded"
resource   | "Resource limit matched"    | "Resource limit succeeded"
saturation | "Saturation exceeded"       | "Saturation ok"
size       | "Size failed"               | "Size succeeded"
speed      | "Speed failed"              | "Speed ok"
status     | "Status failed"             | "Status succeeded"
timeout    | "Timeout"                   | "Timeout recovery"
timestamp  | "Timestamp failed"          | "Timestamp succeeded"
uid        | "UID failed"                | "UID succeeded"
uptime     | "Uptime failed"             | "Uptime succeeded"

เราสามารถแก้ไขปัญหานี้ที่ด้านข้างของเราโดยการตั้งค่า (เปลี่ยนที่อยู่เพื่อปกป้องผู้บริสุทธิ์):

SET ALERT important-messages@projectlocker.com ON { invalid, nonexist, timeout, resource, size, timestamp}
SET ALERT less-important-messages@projectlocker.com ON {action, permission, pid, ppid, instance, status}

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

หัวเรื่องย่อยภายใต้ SERVICE TESTS ที่: http://mmonit.com/monit/documentation/monit.html สอดคล้องอย่างเป็นระเบียบกับประเภทด้านบน

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

  • PID ในไฟล์ PID ยังคงทำงานอยู่หรือไม่ (nonexist)
  • PID เปลี่ยนแปลงโดยที่ฉันไม่รู้หรือไม่? (PID)
  • บริการตอบสนองในเวลาที่เหมาะสมเพื่อเริ่มต้นใหม่หรือไม่ (หมดเวลา)

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


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

ฉันจะแก้ไขคำตอบเพื่อแสดงความคิดเห็น
brokenbeatnik

6

ฉันใช้ Monit รุ่น 5.2.5 และการใช้สิ่งต่อไปนี้ได้หยุดการแจ้งเตือน monit ผ่านมา

set alert example@gmail.com not {instance}


1

เพียงแค่บอกว่าจะเคาะออกหลังจากที่จำนวนหนึ่งของการลองในช่วงเวลาที่ไม่มีข้อความตามตัวอย่างเหล่านี้


นี่ไม่ใช่การแจ้งเตือนของกระบวนการเฝ้าดูหรือการหยุดหรือเริ่มบริการ (ซึ่งเป็นข่าว) ที่ได้รับ แต่จาก monit daemon ตัวเองหยุด / เริ่มซึ่งมักจะตั้งใจและไม่ได้ข่าว
Winfield

1
Ooooh จะเกิดอะไรขึ้นถ้าคุณลบบรรทัด "set alert" ในโกลบอลและวางการแจ้งเตือนที่ชัดเจนใน stanzas บริการของคุณ
Ben Lutgens

วิธีนี้ใช้งานได้ดีกว่า .. เพียงแค่ตั้งค่าอีเมลแจ้งเตือนในการตรวจสอบ .. ลบอีเมลทั้งหมดออก
Mike

1

ฉันไม่สามารถแก้ไขปัญหานี้ภายใน monit และต้องสร้างเลเยอร์ของการประมวลผลบนอีเมล monit เพื่อกรองการแจ้งเตือนอินสแตนซ์ monit เหล่านี้ก่อนส่งมอบโดยขัดขวางพวกเขา

เราใช้หน้าที่วิทยุติดตามตัวในการรวบรวมและส่งประกาศจาก monit และระบบอื่น ๆ ดังนั้นในกรณีนี้ฉันได้เพิ่มกฎการกรองในบริการ Monit โดยใช้ regex ตามหัวเรื่องเพื่อกรองอีเมลแจ้งเตือนอินสแตนซ์ monit

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