การแก้ปัญหาขณะติดตั้ง PHP Agent ของ Newrelic by heha
Sep0
วันก่อนผมเจอปัญหา process newrelic ส่วนของ PHP Monitoring ไม่ทำงาน ไม่มี Process สร้างขึ้นมาเลย และพอไปดู log ก็พบ error ดังนี้
errno=ECONNREFUSED. Failed to connect to the newrelic-daemon
ตอนสั่ง start newrelic PHP Agent แล้วปรากฏว่ารันไม่ขึ้น ซึ่งไม่เคยเจอปัญหานี้มาก่อน เลยไปค้นหาวิธีแก้ พบว่ามีทางแก้สองแบบ
แบบแรก
แก้ไขไฟล์ 20-newrelic.ini จาก
newrelic.daemon.port = "/tmp/.newrelic.sock"
เป็น
newrelic.daemon.port = "@newrelic-daemon"
แล้วสั่ง
service php5-fpm restart
service newrelic-daemon restart
แต่ผมลองแล้วไม่ได้ผล เลยต้องหาวิธีใหม่ได้แบบที่สองคือ
แบบที่สอง
1. พิมพ์
getent group newrelic
จะได้ผลลัพธ์ประมาณ newrelic:x:GroupID: ออกมา ให้จำค่า GroupID ไว้สำหรับใช้ต่อไป
2. แก้ไขไฟล์ /etc/sysctl.conf โดยเพิ่ม ข้อมูลดังนี้เข้าไป
fs.proc_can_see_other_uid = 0
fs.proc_super_gid = GroupID
ข้อควรระวังคือ fs.proc_super_gid สามารถใส่ GroupID ได้เพียงอันเดียว ถ้ามี fs.proc_super_gid อยู่ก่อนแล้วให้คุณสร้าง group ใหม่ขึ้นมาแล้วใส่ users ที่ต้องการใช้งานเข้าไปใน group ให้ครบทุก user แล้วใช้ group ใหม่นั้นแทนไปเลย แต่ถ้าไม่เคยสั่ง fs.proc_super_gid มาก่อนก็ไม่ต้องสนใจส่วนนี้
3.
sysctl -p
4.
service php5-fpm restart
service newrelic-daemon restart
5. เสร็จเรียบร้อย
Enjoy this article?
Consider subscribing to our RSS feed!
ไม่มีความเห็น
ยังไม่มีความเห็น