วิธีแก้ไข error syslog-ng ใน Docker Image
วันนี้ผมเอา Docker image ที่เป็น Ubuntu มาใช้แล้วลง syslog-ng เพิ่มเติมพบว่ามันใช้ไม่ได้แล้ว error เป็น
1 2 3 |
syslog-ng: Error setting capabilities, capability management disabled; error='Operation not permitted' Error opening file for reading; filename='/proc/kmsg', error='Operation not permitted (1)' Error initializing message pipeline; |
ซึ่งเป็นเพราะภายใน Docker นั้นไม่มี kernel log นั่นเอง วิธีแก้คือ
1 2 |
sed -i -E 's/^(\s*)system\(\);/\1unix-stream("\/dev\/log");/' /etc/syslog-ng/syslog-ng.conf sed -i 's/^#\(SYSLOGNG_OPTS="--no-caps"\)/\1/g' /etc/default/syslog-ng |
เพื่อแก้ไขการ monitor ให้ไปทำส่วน /dev/log แทนครับ
Source:: Docker