ปลั๊กอิน Nagios ทั่วไปเพื่อตรวจสอบว่ากระบวนการ / บริการเฉพาะกำลังทำงานอยู่หรือไม่


12

ฉันเห็นในhttp://exchange.nagios.orgว่าไม่มีปลั๊กอินเพื่อตรวจสอบว่า sendmail, xinetd, automount, ypserv, ypbind, mailscanner, mcafee, clamav, เซิร์ฟเวอร์ samba และ openvpn กำลังทำงานอยู่

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

คำถาม

มีปลั๊กอินทั่วไปเพื่อตรวจสอบกระบวนการเฉพาะหรือไม่

คำตอบ:


25

ฉันใช้check_procsปลั๊กอินNAGIOS มาตรฐานพร้อม-Cธงแสดงที่นี่ถูกเรียกจากnrpe.cfgNRPE:

command[check_spamd]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C spamd

ซึ่งจะ WARN หากไม่พบกระบวนการอย่างน้อยสามรายการที่มีชื่อไฟล์เรียกทำงาน (ไม่นับเส้นทาง) spamdและจะ CRIT หากไม่พบอย่างน้อยหนึ่งรายการ


2

ฉันใช้สคริปต์นี้เพื่อตรวจสอบกระบวนการทำงานต่างๆ คุณสามารถแก้ไขสองบรรทัดนี้:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

เพื่อเปลี่ยนกระบวนการสีแดง (วิกฤติ) และกระบวนการเหลือง (คำเตือน)

นอกจากนี้สคริปต์นี้จะตรวจสอบพอร์ตที่เปิดอยู่ (สถานะการฟัง) คุณสามารถแก้ไขบรรทัด:

PORTLIST="22"

ฉันยังแก้ไขสคริปต์ด้วยการกำหนดตัวแปรใหม่UDP_PORTLISTเพื่อตรวจสอบซ็อกเก็ต UDP


การเชื่อมโยงสคริปต์นั้นตายแล้ว
phansen

ไม่แน่ใจว่านี่เป็นสคริปต์ที่ถูกต้องหรือไม่ แต่อย่างน้อยชื่อก็เหมือนกัน บางทีนี่อาจช่วยได้
gf_


1

บริการใด ๆ ที่ควรฟังบนพอร์ต TCP สามารถตรวจสอบcheck_tcpได้ เมื่อทำการตรวจสอบการเชื่อมต่อภายนอกคุณจะตรวจสอบว่าไฟร์วอลล์อนุญาตให้ทำการเชื่อมต่อผ่านพอร์ตนั้นนอกเหนือจากการตรวจสอบว่ากระบวนการทำงานอยู่และกำลังฟังพอร์ตที่ถูกต้อง

การcheck_tcpตรวจสอบจะไม่บอกคุณว่ามีคนเริ่ม Postfix แทน sendmail หรือ nginx ที่กำหนดค่าให้ฟังบนพอร์ต 80 แทน Apache แต่check_procs(ที่คนอื่นพูดถึงแล้ว) จะทำเช่นนั้น


นั่นน่าสนใจ! ฉันเห็นปลั๊กอินต้องการสตริงส่ง / คาดหวัง ฉันจะค้นหาสิ่งเหล่านี้สำหรับ sendmail และ openvpn ได้อย่างไร
Sandra

2
มันต้องการสตริงส่ง / คาดหวังหรือไม่? คุณสามารถค้นหาสิ่งที่จะส่งให้กับ sendmail ได้โดยตรวจสอบข้อมูลจำเพาะของ SMTPหรือเชื่อมต่อด้วยtelnet localhost 25และลองด้วยตนเอง OpenVPN อาจมีความยุ่งยากมากกว่านี้เล็กน้อยเนื่องจากต้องการเข้ารหัส แต่การส่งเรื่องไร้สาระและการรับข้อความแสดงข้อผิดพลาดอาจเพียงพอสำหรับความต้องการของคุณ
Ladadadada

ยูพีเอส ฉันลองใช้ check_udp แทน check_tcp การใช้ telnet เพื่อรับส่ง / คาดหวังจะเป็นประโยชน์อย่างแน่นอน
Sandra

1

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

ในกรณีของ Samba, ClamAV, Sendmail เป็นต้นมีปลั๊กอินเฉพาะบริการเพื่อตรวจสอบสิ่งเหล่านี้ (แม้ว่าจะตรวจสอบที่ "localhost" ผ่าน NRPE) ซึ่งจะแม่นยำกว่าการตรวจสอบว่าพอร์ตเปิดอยู่หรือไม่ เห็นได้ชัดว่าการตรวจสอบพอร์ต TCP และ / หรือใช้ check_procs ดีกว่าไม่มีอะไร


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