Monit แสดงรายการ Apache เป็น Not Noteded


11

ผมเพิ่งติดตั้งและกำหนดค่า monit ตามเอกสาร monit บริการทั้งหมดนอกเหนือจาก Apache มีการระบุไว้เล่น แต่ Apache กล่าวว่าไม่ได้ตรวจสอบ

บรรทัดที่เกี่ยวข้องในการกำหนดค่าของ monit คือ:

check process apache with pidfile /var/run/httpd.pid
        group www
        start program = "/etc/init.d/httpd start"
        stop program = "/etc/init.d/httpd stop"
        if failed host localhost port 80
        protocol http then restart
        if 5 restarts within 5 cycles then timeout

ฉันสามารถเข้าถึงhttp: // localhost / server-statusและhttp: // localhost ได้ดีจากเซิร์ฟเวอร์ Monit แสดงรายการโหมดการตรวจสอบสำหรับ Apache ว่าใช้งานได้

เซิร์ฟเวอร์กำลังเรียกใช้ CentOS 5.4

ไฟล์ PID นั้นถูกต้องสำหรับเซิร์ฟเวอร์ httpd หลัก:

[server ~]$ cat /var/run/httpd.pid
2905
[server ~]$ ps auxc | grep httpd
root      2905  0.0  0.9  26952  4808 ?        Ss   11:36   0:00 httpd

คำตอบ:


13

ตรวจสอบให้แน่ใจว่าเนื้อหาของไฟล์ pid ตรงกับ pid ของกระบวนการ Apache หลัก (เช่นhttpdกระบวนการที่ทำงานเป็นรูท) อาจเป็นไปได้ว่าไฟล์ pid นั้นเก่า

ถ้ามันค้างรับ pid ของกระบวนการต้นแบบ Apache และทำสิ่งที่ชอบecho 1234 > /var/run/httpd.pidที่1234เป็น pid ในคำถาม

หลังจากนั้นให้เรียกใช้monit monitor apacheเพื่อเริ่มการตรวจสอบบริการนั้นใหม่อีกครั้ง


2
ไฟล์ PID ถูกต้อง แต่การmonit monitor apacheเริ่มต้นทำงานและตอนนี้ดูเหมือนว่าจะทำงานได้ดีหลังจากรีสตาร์ทบริการ ฉันควรลองคลิกปุ่มเปิดใช้งานการตรวจสอบบนเว็บอินเตอร์เฟส
dunxd

1

คุณไม่ได้ให้ระบบปฏิบัติการเวอร์ชัน / การกระจาย แต่ใน CentOS 6 ไฟล์ PID ที่คุณควรตรวจสอบอยู่ที่: /var/run/httpd/httpd.pid

ดังนั้นเปลี่ยนเป็น:

check process apache with pidfile /var/run/httpd/httpd.pid

CentOS 5 มีไฟล์ Apache PID โดยบังเอิญ: /var/run/httpd.pid

แก้ไข: อ้างถึงเส้นทาง PID

มีข้อความในรายการส่งเมลของ Monit เกี่ยวกับการทดสอบโปรโตคอลที่คุณใช้:

http://lists.gnu.org/archive/html/monit-general/2004-12/msg00057.html

คุณอาจต้องส่งชื่อโฮสต์หรือชื่อไซต์หากคุณใช้โฮสต์เสมือนตามชื่อ


มัน CentOS 5.4 ไฟล์ PID ถูกต้อง
dunxd

โดยใช้การตั้งค่าของคุณบน CentOS 5 เซิร์ฟเวอร์ที่ฉันได้รับProcess 'apache' status Does not exist monitoring status monitored
ewwhite

คุณเห็นผลลัพธ์นั้นอยู่ที่ไหน
dunxd

คุณควรอ้างอิงเส้นทาง pidfile "/var/run/httpd/httpd.pid" ดูข้อความที่ฉันวางไว้ในคำตอบเบื้องต้นเกี่ยวกับความต้องการที่เป็นไปได้สำหรับคำสั่ง VirtualHosts
ewwhite

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