Score:0

Nagios check_procs ไม่รายงานกระบวนการที่ไม่ได้เกิดจากรูท

ธง ph

ฉันกำลังพยายามตั้งค่า Nagios เพื่อตรวจสอบบริการ nginx บนโหลดบาลานเซอร์ของฉัน แต่ไม่ประสบความสำเร็จในการแสดงบริการที่กำลังทำงานอยู่ คำจำกัดความของคำสั่งและบริการอยู่ด้านล่าง ดูเหมือนว่ากระบวนการใด ๆ ที่ไม่ได้เกิดจากรูทจะไม่แสดงว่ากำลังทำงานอยู่ กระบวนการ nginx กำลังดำเนินการโดย www-data ฉันได้ลองทำอะไรง่ายๆ อย่างการตรวจสอบกระบวนการ "ยอดนิยม" ที่ฉันใช้งานภายใต้ผู้ใช้รายอื่น สิ่งที่ฉันนำเสนอด้านล่างทำงานได้ดีตราบเท่าที่ฉันเลือกกระบวนการที่รันโดยรูท หากกระบวนการนี้เกิดจากผู้ใช้รายอื่น กระบวนการนี้แสดงว่าสำคัญและใช้งานไม่ได้ ความคิดใด ๆ

    กำหนดคำสั่ง {
        command_name check_nginx
        command_line $USER1$/check_procs -c 1: -C nginx
}


กำหนดบริการ {
   ใช้บริการในพื้นที่
   host_name my_host
   service_description บริการโหลดบาลานซ์
   check_command check_nginx
}
tbielaszewski avatar
ng flag
ความคิด: 1. มีบางอย่างแปลกๆ เกิดขึ้นกับ OS เนื่องจาก check_procs เพิ่งอ่านข้อมูลจาก /proc ดังนั้นคอนเทนเนอร์หรือกลไกความปลอดภัยบางอย่างอาจจำกัดสิ่งที่คุณเห็น 2. เล่นกับตัวเลือก ` -u, --user=USER` และบางที ` -g, --cgroup-hierarchy`
Jim Miller avatar
ph flag
จริง ๆ แล้วฉันลองใช้ตัวเลือกผู้ใช้ แต่ไม่มีโชค ฉันลงเอยด้วยเส้นทางอื่นและเขียนปลั๊กอิน / สคริปต์หลามเพื่อให้สำเร็จ รายละเอียดจะอยู่ด้านล่าง
Score:0
ธง ph

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

   นำเข้าระบบปฏิบัติการ

สถานะ = os.system ('systemctl is-active --quiet nginx')
ถ้าสถานะ == 768:
  พิมพ์ ('สำคัญ บริการไม่ทำงาน')
  ทางออก (2)
สถานะ elif == 0:
 พิมพ์ ('ตกลง บริการกำลังทำงาน')
 ทางออก (0)

ฉันเพิ่มคำสั่งต่อไปนี้ลงในไฟล์ command.cfg $ARG1$ มีไว้สำหรับเวอร์ชันในอนาคตของสคริปต์ที่ฉันกำลังทำอยู่ ไม่จำเป็น

กำหนดคำสั่ง {
    command_name check_service
    command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_service $ARG1$
    }

กำหนดบริการแบบนี้

กำหนดบริการ {
    ใช้บริการในพื้นที่
    host_name เดเบียน
    service_description บริการโหลดบาลานซ์
    check_command check_service
    }

จากนั้นบนไคลเอ็นต์ ฉันเพิ่มคำสั่งนี้ในไฟล์ nrpe.cfg

คำสั่ง[check_service]=python3 /usr/lib/nagios/plugins/check_service.py

หวังว่านี่จะช่วยใครซักคนระหว่างทาง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา