A curated list of SNMP parameters for your /etc/snmp/snmpd.conf
file
The article aims to highlight differences between Redhat (e.g. CentOS) based distributions and Debian (e.g. Ubuntu) based distributions.
Table of Contents
Works with CentOS
With CentOS, you can get away with this line only `rocommunity your_secret_public_community` but here is a better template:
rocommunity your_secret_public_community syslocation Rack, Room, Building, City, Country syscontact Your Name <[email protected]> sysDescr Hardware, Serial, Operating System, Platform #Distro Detection extend distro /usr/bin/distro
If you don’t have serial numbers for sysDescr
, you could do something like:
sysDescr Guest, Host, Control Panel, Major Applications
E.g.:
sysDescr VM on SuperDaddy, Dedicated Machine at XYZ, Virtualmin, Email + Web
Distro detection script:
If you’re using LibreNMS or you want your SNMP program to automatically detect the distro, use this script:
curl -o /usr/bin/distro https://raw.githubusercontent.com/librenms/librenms-agent/master/snmp/distro; chmod +x /usr/bin/distro
Works with Ubuntu
Ubuntu needs more defaults to work than CentOS:
rocommunity your_secret_public_community syslocation Rack, Room, Building, City, Country syscontact Your Name <[email protected]> com2sec readonly your_secret_public_community agentaddress udp:161 sysservices 76 master yes
Other
A curated set of configuration commands and options that should work with any distribution
Allow Firewalld
If you’re using Firewalld, use these two commands to quickly allow SNMP through:
firewall-cmd --zone=public --permanent --add-service=snmp; firewall-cmd --reload
Turn off Repetitive Logging
Is your syslog overrun with SNMP connect requests? Try this:
dontLogTCPWrappersConnects yes
Execute your own OID Script
Postfix
This parameter works in conjunction with another script to calculate Postfix queue size.
exec postqueue /etc/postfix/snmp_monitor_postqueue.sh
When you have this as the first “application” for SNMPD, the OID will be:
.1.3.6.1.4.1.2021.8.1.101.1 |
Monitoring Asterisk
When monitoring Asterisk, you might end with these four entries:
exec AsteriskExtensionInUse /usr/bin/sudo /etc/snmp/asterisk_extension_in_use.sh exec AsteriskExtensionNotInUse /usr/bin/sudo /etc/snmp/asterisk_extension_not_in_use.sh exec AsteriskExtensionUnavailable /usr/bin/sudo /etc/snmp/asterisk_extension_unavailable.sh exec AsteriskExtensionRinging /usr/bin/sudo /etc/snmp/asterisk_extension_ringing.sh
Installation
Install on AlmaLinux
dnf install net-snmp
Install on CentOS
yum install net-tools
Automatic Start
Once the service is installed, verify that it is set to start at startup by running:
CentOS 6
chkconfig snmpd on
CentOS 7
systemctl enable snmpd
Result CentOS 7
Created symlink from /etc/systemd/system/multi-user.target.wants/snmpd.service to /usr/lib/systemd/system/snmpd.service.
Tip: If you do this again, you’ll have no output.
SNMPWalk
A beautiful elegant savvy way of testing your SNMP 😉
For CentOS, you need this:
yum install net-snmp-utils
Install on Ubuntu
sudo apt install snmpd
Then do this:
snmpwalk -c your_secret -v1 host.example.com
Other Interesting Parameters
cat /etc/snmp/snmpd.conf # run as # agentuser root # realStorageUnits 0
See Also
Reference
https://docs.librenms.org/Support/SNMP-Configuration-Examples/#linux-snmpd-v2