ลดความละเอียดของการบันทึก SNMPd


37

SNMPd บนระบบ CentOS ของฉันกำลังส่งข้อความบันทึกไปยัง syslog ทุกครั้งที่ได้รับแบบสอบถามจากเครื่องมือตรวจสอบของฉัน มีวิธีการลด verbosity ของ SNMPd หรือไม่ มันเพิ่มความยุ่งเหยิงจำนวนมากให้กับบันทึก

Sep 12 13:05:40 myhost snmpd[7073]: Received SNMP packet(s) from UDP: [ipaddr]:42874
Sep 12 13:05:40 myhost snmpd[7073]: Connection from UDP: [ipaddr]:49272

ขอบคุณ!

คำตอบ:


37

ตรวจสอบคำสั่งที่เริ่มต้นsnmpd(อาจเป็นที่หนึ่ง/etc/rc.d/- ใน Ubuntu /etc/defaults/snmpd) สำหรับตัวเลือกการบันทึก:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -g root 0.0.0.0'

หรือค้นหามันในps aux | grep snmpdผลลัพธ์

หน้าคนให้ตัวเลือกการเข้าสู่ระบบ:

สิ่งอำนวยความสะดวก -Ls

บันทึกข้อความผ่าน syslog โดยใช้สิ่งอำนวยความสะดวกที่ระบุ ('d' สำหรับ LOG_DAEMON, 'u' สำหรับ LOG_USER หรือ '0' - '7' สำหรับ LOG_LOCAL0 ผ่าน LOG_LOCAL7) นอกจากนี้ยังมีรุ่น "ตัวพิมพ์ใหญ่" ของแต่ละตัวเลือกเหล่านี้ซึ่งอนุญาตให้กลไกการบันทึกที่สอดคล้องกันถูก จำกัด ตามลำดับความสำคัญของข้อความ

สำหรับ -LF และ -LS ข้อกำหนดคุณลักษณะลำดับความสำคัญมาก่อนโทเค็นไฟล์หรือเครื่องมืออำนวยความสะดวก ลำดับความสำคัญที่ได้รับการยอมรับคือ:

0 or ! for LOG_EMERG,
1 or a for LOG_ALERT,
2 or c for LOG_CRIT,
3 or e for LOG_ERR,
4 or w for LOG_WARNING,
5 or n for LOG_NOTICE,
6 or i for LOG_INFO, and
7 or d for LOG_DEBUG. 

ค่าเริ่มต้นค่อนข้างละเอียด (มีเพียง 2 ระดับที่ต่ำกว่าการดีบัก):

เอาต์พุตปกติคือ (หรือจะเป็น!) บันทึกที่ระดับความสำคัญของ LOG_NOTICE

หากคุณเข้าสู่ระบบกำลังจะผ่าน syslog LOG_DAEMON (-Lsd) คุณสามารถลดความมันเช่น LOG_WARNING กับ-LSwd/ -LS4dหรือ LOG_ERR ด้วย/-LSed-LS3d

(แก้ไขเพื่อใส่ตัวเลือกในลำดับที่ถูกต้อง)


ฉันพยายามหาตำแหน่งที่ถูกต้องบน CentOS 6.5 มันไม่ได้เป็น /etc/snmp/snmpd.optionsไม่เป็นมัน/etc/sysconfig/snmpd.optionsแต่จริง ๆ /etc/sysconfig/snmpdแล้วมันเป็น ps aux | grep snmpdมีประโยชน์มากที่จะเห็นว่าการเปลี่ยนแปลงที่กำลังทำงานอยู่
Eugene van der Merwe

1
ใน Debian ที่ใช้ systemd มันจะถูกต่อสายเข้า/lib/systemd/system/snmpd.serviceใช้systemctl cat snmpdและsystemctl edit snmpdเพื่อแทนที่ [Service]ExecStartเท่านั้น ExecStartควรป้อนสองครั้งครั้งแรกที่ว่างเพื่อล้างค่าเก่า (มองหาคุณลักษณะการตั้งค่าของผู้ขายแทนที่ systemd )
Alex

19

ในการตั้งค่าลำดับความสำคัญต่ำสุดเป็น LOG_WARNING (ซึ่งเป็นสิ่งที่ฉันมักจะใช้) เพียงแค่เปลี่ยน argopt:

-Lsd

ไปยัง

-LSwd

ซึ่งย่อมาจาก:

  • S : syslog ลำดับความสำคัญมาถัดไป
  • w : (หรือ4 ) บันทึกคำเตือนเท่านั้นและข้อความที่เกี่ยวข้องเพิ่มเติม
  • d : ใช้เครื่องมืออำนวยความสะดวก LOG_DAEMON

ตามที่ระบุในชาย (แต่จริง ๆ แล้วไม่มีตัวอย่างที่ชัดเจน):

สำหรับ -LF และ -LS ข้อกำหนดคุณลักษณะลำดับความสำคัญมาก่อนโทเค็นไฟล์หรือเครื่องมือ


โอ๊ะฉันพลาดลำดับความสำคัญ / สิ่งอำนวยความสะดวก
แอนดรู

10

dontLogTCPWrappersConnects

หาก snmpd ถูกคอมไพล์ด้วยการสนับสนุน TCP Wrapper มันจะบันทึกทุกการเชื่อมต่อที่เกิดขึ้นกับเอเจนต์ การตั้งค่านี้ปิดใช้งานข้อความบันทึกสำหรับการเชื่อมต่อที่ยอมรับ การเชื่อมต่อที่ถูกปฏิเสธจะยังคงถูกบันทึกไว้

คือเพิ่มdontLogTCPWrappersConnects trueไปยัง snmpd.conf

ฉันงงว่าทำไมข้อความบันทึกนี้จึงถือว่าเหนือ LOG_DEBUG สำหรับบริการการตรวจสอบ (และข้อความที่สนับสนุน UDP) :-( journalctl -o verboseแสดงข้อความที่มีความสำคัญ = 6 (INFO) ซึ่งเหมือนกับข้อความเริ่มต้นปกติสำหรับ snmpd .


ดูเหมือนจะทำงานได้ดีเท่ากับเปลี่ยนระดับการบันทึกจากการแจ้งเตือนเป็นการแจ้งเตือน แต่จะเน้นไปที่การบันทึกการเชื่อมต่อมากกว่า
jla

สิ่งนี้ใช้ได้ผลดีที่สุดสำหรับฉันที่จะลบการบันทึกสำหรับความพยายามในการเชื่อมต่อที่ประสบความสำเร็จแทนที่จะ จำกัด เกณฑ์การบันทึกให้แคบลง
B Knight

5

ฉันลบคำสั่ง "-Lsd" ออกจาก/etc/sysconfig/snmpd.optionsไฟล์ในการติดตั้ง CentOS / Redhat โดยสมบูรณ์โดยปล่อยให้ไฟล์ที่อ่าน:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"

สิ่งนี้จะหยุดการบันทึก snmpd ทั้งหมดอย่างสมบูรณ์หรือไม่หรือกลับไปสู่การบันทึกเริ่มต้นหรือไม่
Banjer

3

การรวมมาตรฐาน (รวมอยู่ใน/etc/snmp/snmp.confไฟล์เริ่มต้นสำหรับ CentOS 6.5) เข้ากันได้กับฉันเพื่อลดความละเอียดโดยเฉพาะเกี่ยวกับการบันทึกการเชื่อมต่อ TCP / UDP SNMP:

dontLogTCPWrappersConnects yes

นี่คือข้อความที่ตัดตอนมา "verbose" เพิ่มเติมจากsnmp.confไฟล์เริ่มต้น:

# We do not want annoying "Connection from UDP: " messages in syslog.
# If the following option is commented out, snmpd will print each incoming
# connection, which can be useful for debugging.

dontLogTCPWrappersConnects yes

-1

บนราสเบอร์รี่ pi / raspbian ตำแหน่งของไฟล์คือ

/lib/systemd/system/snmpd.service

จากนั้นคุณต้องทำการ daemon-reload ก่อนเริ่มบริการ snmpd อีกครั้ง

systemctl daemon-reload

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