How to make the hrSWInstalled OID working on Ubuntu
Credit to RMK for making this works!
Disclaimer:
This guide is intended to be used with hrswinstalled.pl to resolve
hrSWInstalled OID on Ubuntu not reveal anything to Zenoss.
Prequisite Packages (Ubuntu .debs) to prepare for *snmp-perl:
Install this packages first before testing running the script.
apt-get install all software listed below before attempting to run the perl
scripts:
- libnet-snmp-perl
- libyaml-perl
- libparse-debian-packages-perl
- libsnmp-info-perl
Place the hrswinstalled.pl within /etc/snmp/ folder.
Modify the snmpd.conf and add:
perl do "hrswinstalled.pl";
Note: if the "perl do" command not working when you try to snmpwalk the
hrSWInstalled oid, this is because the SNMP agents (snmpd) not perl-embedded
enabled.
Since default snmpd Ubuntu package does not have embedded-perl support enabled
(check using: net-snmp-config --configure-options), we need to rebuild back the
Ubuntu snmpd (come from net-snmp) package with the --enable-embedded-perl
option within the net-snmpfolder/debian/rules. Once we got the package, remove
the original snmpd package installed and use the custom one that we just build.
Use the howtoforge reference below to rebuild debian packages under Ubuntu.
Note: after the ./configure step, check the net-snmp configuration summary, for
example as shown below:
---------------------------------------------------------
Net-SNMP configuration summary:
---------------------------------------------------------
SNMP Versions Supported: 1 2c 3
Net-SNMP Version: 5.4.1
Building for: linux
Network transport support: Callback Unix TCP UDP
SNMPv3 Security Modules: usm
Agent MIB code: default_modules => snmpv3mibs mibII ucd_snmp
notification notification-log-mib target agent_mibs agentx disman/event
disman/schedule utilities host
Embedded Perl support: enabled
SNMP Perl modules: building -- embeddable
SNMP Python modules: disabled
Authentication support: MD5 SHA1
Encryption support: DES AES
---------------------------------------------------------
If we got "Embedded Perl support: enabled", then we know we on the right
path to Nirvana ;o)
Continue with debuild command to build .deb packages (see Howtoforge link).
Listed .deb packages:
libsnmp15_5.4.1~dfsg-4ubuntu4.2_amd64.deb
libsnmp-python_5.4.1~dfsg-4ubuntu4.2_amd64.deb
libsnmp-base_5.4.1~dfsg-4ubuntu4.2_all.deb
snmp_5.4.1~dfsg-4ubuntu4.2_amd64.deb
libsnmp-dev_5.4.1~dfsg-4ubuntu4.2_amd64.deb
snmpd_5.4.1~dfsg-4ubuntu4.2_amd64.deb
libsnmp-perl_5.4.1~dfsg-4ubuntu4.2_amd64.deb
tkmib_5.4.1~dfsg-4ubuntu4.2_all.deb
Backup the /etc/snmp/snmpd.conf to a safe place
Install using dpkg -i for everything EXCEPT libsnmp-python & tkmib (since we
not really need it)
Note: You might face dependencies problem especially with libsnmpd15 vs.
apt-get. This is where the apt-get and/or dpkg kung-fu will be needed.
Double check for existence of --enable-embedded-perl parameter using
"net-snmp-config --configure-options" command.
Configure the /etc/default/snmpd
Restore the snmpd.conf to /etc/snmp && restart snmpd.
Test by running:
snmpwalk -v 2c -c public hidro.logistics.com hrSWInstalled
You will start to see long lists of hrSWInstalled OID in actions, displaying
and listing all software installed within any Ubuntu systems.
Example:
Before:
#snmpwalk -v 2c -c public hidro.logistics.com hrSWInstalled
HOST-RESOURCES-MIB::hrSWInstalled = No Such Object available on this agent at
this OID
After:
#snmpwalk -v 2c -c hidro.logistics.com hrSWInstalled
HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: "adduser 3.105ubuntu1/all
(add and remove users and groups)"
HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: "apache2 2.2.8-1ubuntu0.3/all
(Next generation, scalable, extendable web serv
er)"
HOST-RESOURCES-MIB::hrSWInstalledName.3 = STRING: "apache2-mpm-worker
2.2.8-1ubuntu0.3/amd64 (High speed threaded model for Apa
che HTTPD)"
HOST-RESOURCES-MIB::hrSWInstalledName.4 = STRING: "apache2-utils
2.2.8-1ubuntu0.3/amd64 (utility programs for webservers)"
HOST-RESOURCES-MIB::hrSWInstalledName.5 = STRING: "apache2.2-common
2.2.8-1ubuntu0.3/amd64 (Next generation, scalable, extendab
le web server)"
HOST-RESOURCES-MIB::hrSWInstalledName.6 = STRING: "apparmor
2.1+1075-0ubuntu9.1/amd64 (User-space parser utility for AppArmor)"
HOST-RESOURCES-MIB::hrSWInstalledName.7 = STRING: "apparmor-utils
2.1+1075-0ubuntu9.1/amd64 (Utilities for controlling AppArmor
)"
HOST-RESOURCES-MIB::hrSWInstalledName.8 = STRING: "apt 0.7.9ubuntu17.1/amd64
(Advanced front-end for dpkg)"
.... and so on...
References:
http://forums.zenoss.com/viewtopic.php?t=8592
http://www.net-snmp.org/wiki/index.php/Tut:Extending_snmpd_using_perl
http://pwet.fr/man/linux/formats/snmp/snmpd_conf
http://www.howtoforge.com/how-to-rebuild-the-squid-2.6-debian-package-with-support-for-x-forwarded-for-headers
-------------------- m2f --------------------
Read this topic online here:
http://forums.zenoss.com/viewtopic.php?p=30321#30321
-------------------- m2f --------------------
_______________________________________________
zenoss-users mailing list
[email protected]
http://lists.zenoss.org/mailman/listinfo/zenoss-users