SNMP Client Configuration for Observvium Rumi, November 10, 2019 This can be placed in /etc/snmp/snmpd.conf and will provide the required parameters for Observium. This example use version 2c snmp auth. Community string: Replace community_string with your unique community string. # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161 # Full view access view all included .1 # system + hrSystem groups only view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 # Default access to full view rocommunity community_string default -V all # Default access to basic system info #rocommunity public default -V systemonly # System contact and location syslocation Rack/Room/Building, Street, City, Country [GPSX,Y] syscontact Contact Person <your@email.address> # Disk Monitoring disk / 10000 disk /var 5% includeAllDisks 10% # Unacceptable 1-, 5-, and 15-minute load averages load 12 10 5 # This line allows Observium to detect the host OS if the distro script is installed extend .1.3.6.1.4.1.2021.7890.1 distro /usr/local/bin/distro # This lines allows Observium to detect hardware, vendor and serial extend .1.3.6.1.4.1.2021.7890.2 hardware /bin/cat /sys/devices/virtual/dmi/id/product_name extend .1.3.6.1.4.1.2021.7890.3 vendor /bin/cat /sys/devices/virtual/dmi/id/sys_vendor extend .1.3.6.1.4.1.2021.7890.4 serial /bin/cat /sys/devices/virtual/dmi/id/product_serial # This line allows Observium to collect an accurate uptime extend uptime /bin/cat /proc/uptime # This line enables Observium's ifAlias description injection pass_persist .1.3.6.1.2.1.31.1.1.1.18 /usr/local/bin/ifAlias_persist Accurate Uptime The pre-existing uptime values available via Net-SNMP are either inaccurate or will wrap after 1.5 years. To work around this we check for an entry in net-snmp’s extend table for a custom uptime value. Add this to /etc/snmp/snmpd.conf of the device being monitored and restart snmpd. extend uptime /bin/cat /proc/uptime This is not required when using the Unix Agent. Distribution Detection Linux/Unix distribution detection is remarkably simple. Put the scripts/distro file from your Observium installation into /usr/local/bin/distro on the device to be monitored. You can fetch latest version of distro script by: sudo curl -o /usr/local/bin/distro https://gitlab.com/observium/distroscript/raw/master/distro or sudo wget -O /usr/local/bin/distro https://gitlab.com/observium/distroscript/raw/master/distro make script executable: sudo chmod +x /usr/local/bin/distro Add this to the /etc/snmp/snmpd.conf file of the device to be monitored. This is already in the example configuration file above. extend .1.3.6.1.4.1.2021.7890.1 distro /usr/local/bin/distro If your snmpd does not like the extend line (this problem was observed on a particular version), you can also add this to the snmpd.conf file of the device to be monitored: exec .1.3.6.1.4.1.2021.7890.1 distro /usr/local/bin/distro Restart the SNMP daemon! sudo service snmpd restart Hardware/Vendor Detection- Minimum version This feature available since version 19.2.9717 Mostly Linux/distributions already store system hardware, vendor and serial in /sys virtual filesystem. Add this lines to the /etc/snmp/snmpd.conf for enable detection it: extend .1.3.6.1.4.1.2021.7890.2 hardware /bin/cat /sys/devices/virtual/dmi/id/product_name extend .1.3.6.1.4.1.2021.7890.3 vendor /bin/cat /sys/devices/virtual/dmi/id/sys_vendor extend .1.3.6.1.4.1.2021.7890.4 serial /bin/cat /sys/devices/virtual/dmi/id/product_serial Serial permissions In some environments snmpd not have permission for read file /sys/devices/virtual/dmi/id/product_serial. Need to change file permission at boot by adding this command to /etc/rc.local: chmod 444 /sys/devices/virtual/dmi/id/product_serial Restart the SNMP daemon! sudo service snmpd restart Testing You can test the script by walking the OID on the system: snmpwalk -v2c -c <community> <hostname> .1.3.6.1.4.1.2021.7890.1 You should see output similar to the below : UCD-SNMP-MIB::ucdavis.7890.1.1.0 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.7890.1.2.1.2.6.100.105.115.116.114.111 = STRING: "/usr/bin/distro" UCD-SNMP-MIB::ucdavis.7890.1.2.1.3.6.100.105.115.116.114.111 = "" UCD-SNMP-MIB::ucdavis.7890.1.2.1.4.6.100.105.115.116.114.111 = "" UCD-SNMP-MIB::ucdavis.7890.1.2.1.5.6.100.105.115.116.114.111 = INTEGER: 5 UCD-SNMP-MIB::ucdavis.7890.1.2.1.6.6.100.105.115.116.114.111 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.7890.1.2.1.7.6.100.105.115.116.114.111 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.7890.1.2.1.20.6.100.105.115.116.114.111 = INTEGER: 4 UCD-SNMP-MIB::ucdavis.7890.1.2.1.21.6.100.105.115.116.114.111 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.7890.1.3.1.1.6.100.105.115.116.114.111 = STRING: "Linux|4.10.0-20-generic|amd64|Ubuntu|17.04|none" UCD-SNMP-MIB::ucdavis.7890.1.3.1.2.6.100.105.115.116.114.111 = STRING: "Linux|4.10.0-20-generic|amd64|Ubuntu|17.04|none" UCD-SNMP-MIB::ucdavis.7890.1.3.1.3.6.100.105.115.116.114.111 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.7890.1.3.1.4.6.100.105.115.116.114.111 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.7890.1.4.1.2.6.100.105.115.116.114.111.1 = STRING: "Linux|4.10.0-20-generic|amd64|Ubuntu|17.04|none" Using ifAlias Support¶ If you would like to put descriptions on your interfaces on Debian GNU/Linux or one of its derivatives, you can use the script provided in scripts/snmp-extend/ifAlias_persist Install additional package (for Debian/Ubuntu): sudo apt-get install libsnmp-extension-passpersist-perl Save it somewhere on the systems you want to return ifAliases (i.e. /usr/local/bin/ifAlias_persist), then add this into your snmpd.conf: pass_persist .1.3.6.1.2.1.31.1.1.1.18 /usr/local/bin/ifAlias_persist Restart the SNMP daemon! sudo service snmpd restart Now you can put the descriptions into /etc/network/interfaces: # eth0: Transit: YourISP Inc. Leased Line iface eth0 inet static # .... On the next poll, Observium should then pick up your descriptions. (Don’t forget to restart snmpd after changing the configuration!) Src: https://docs.observium.org/device_linux/ Related Administrations Configurations (Linux) NMSObserviumSNMPSNMP v2c
Manage Multiple MySQL Servers using PHPmyAdmin April 19, 2013April 19, 2013 In my environment, I have 5 different MySQL database servers running separately under different geographical location. Since it run standalone and not in cluster mode, I need to have one platform to manage these database servers altogether. PHPmyAdmin is able to do this, with some changes on the configuration files…. Read More
Installing Proftp on OpenSuse 11 April 30, 2009 I want to use Proftpd instead of vsftpd which is SUSE’s default FTP server because the control panel software I am going to install on this server (ISPConfig) requires Proftpd on OpenSUSE 11 (on other distributions this is different). Since there are no OpenSUSE packages for Proftpd I have to… Read More
Deploying a J2EE application behind an Apache server in a production environment April 20, 2012 You have created a Web application using a JBoss application server and you are going to put it in production. Great! But deploying your application with JBoss serving the Web requests directly may not be the optimal solution. First because the Tomcat web server embedded within JBoss is not the… Read More