Wednesday, June 2, 2010

RRDTool & snmpd (net-snmp) on Linux, Windows and Mac

crucial dependencies for Cacti and Zenoss

* snmpd (net-snmp)
linux: snmpd, snmpwalk, snmp

on Ubuntu:
$ sudo apt-get install snmpd snmp
$ sudo vi /etc/snmp/snmpd.conf (configuration file for net-snmp snmp agent)
snmpd.conf#---------------------------------------------------------------
######################################
# Map the security name/networks into a community name.
# We will use the security names to create access groups
######################################

# sec.name               source                      community

com2sec my_sn1     localhost                   my_comnt
com2sec my_sn2     192.168.10.0/24     my_comnt

####################################
# Associate the security name (network/community) to the
# access groups, while indicating the snmp protocol version
####################################

# sec.model sec.name
group MyROGroup v1 my_sn1
group MyROGroup v2c my_sn1
group MyROGroup v1 my_sn2
group MyROGroup v2c my_sn2


group MyRWGroup v1
my_sn1
group MyRWGroup v2c my_sn1
group MyRWGroup v1 my_sn2
group MyRWGroup v2c my_sn2

#######################################
# Create the views on to which the access group will have access,
# we can define these views either by inclusion or exclusion.
# inclusion - you access only that branch of the mib tree
# exclusion - you access all the branches except that one
#######################################

# incl/excl subtree mask (opcional)
view my_vw1 included .1 80
view my_vw2 included .iso.org.dod.internet.mgmt.mib-2.system

#######################################
# Finaly associate the access groups to the views and give them
# read/write access to the views.
#######################################

# context sec.model sec.level match read write notif
access MyROGroup "" any noauth exact my_vw1 none none
access MyRWGroup "" any noauth exact my_vw2 my_vw2 none
# -----------------------------------------------------------------------------


$ sudo vi /etc/default/snmpd

find the line:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid 127.0.0.1'
and change it to:

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


win: net-snmp
1. Download the binary of your windows version then install. Usually it will install to c:\usr
2. To check the installation, run this command from command prompt
c:\usr\bin>snmpd -v

3. Run snmp-agent as service
c:\usr>registeragent.bat


4. Create snmpd.conf file on c:\usr\etc\snmp\ and fill with this configuration:

## Of the following Net-SNMP agent features
## NONE are supported on Net-SNMP-5.1.1 Win32 platforms
## Process checks “proc” config token
## Executable scripts “exec” config token
## Disk checks “disk” config token
## Load average checks “load” config token
## Extensible sections “exec” config token with shelltest
## Pass-through control “pass” config token

#############################################################
#
# EXAMPLE.conf:
# An example configuration file for configuring the ucd-snmp snmpd agent.
#
#############################################################
#
# This file is intended to only be an example. If, however, you want
# to use it, it should be placed in c:/usr-mingw/etc/share/snmp/snmpd.conf.
# When the snmpd agent starts up, this is where it will look for it.
#
# You might be interested in generating your own snmpd.conf file using
# the “snmpconf” program (perl script) instead. It’s a nice menu
# based interface to writing well commented configuration files. Try it!
#
# Note: This file is automatically generated from EXAMPLE.conf.def.
# Do NOT read the EXAMPLE.conf.def file! Instead, after you have run
# configure & make, and then make sure you read the EXAMPLE.conf file
# instead, as it will tailor itself to your configuration.

# All lines beginning with a ‘#’ are comments and are intended for you
# to read. All other lines are configuration commands for the agent.

#
# PLEASE: read the snmpd.conf(5) manual page as well!
#

####################################################################
# Access Control
####################################################################

# YOU SHOULD CHANGE THE “COMMUNITY” TOKEN BELOW TO A NEW KEYWORD ONLY
# KNOWN AT YOUR SITE. YOU *MUST* CHANGE THE NETWORK TOKEN BELOW TO
# SOMETHING REFLECTING YOUR LOCAL NETWORK ADDRESS SPACE.

# By far, the most common question I get about the agent is “why won’t
# it work?”, when really it should be “how do I configure the agent to
# allow me to access it?”
#
# By default, the agent responds to the “public” community for read
# only access, if run out of the box without any configuration file in
# place. The following examples show you other ways of configuring
# the agent so that you can change the community names, and give
# yourself write access as well.
#
# The following lines change the access permissions of the agent so
# that the COMMUNITY string provides read-only access to your entire
# NETWORK (EG: 10.10.10.0/24), and read/write access to only the
# localhost (127.0.0.1, not its real ipaddress).
#
# For more information, read the FAQ as well as the snmpd.conf(5)
# manual page.

####
# First, map the community name (COMMUNITY) into a security name
# (local and mynetwork, depending on where the request is coming
# from):

# sec.name source community —-> **edit this part to match your requirement** com2sec local localhost [comm name]
com2sec mynetwork 192.168.13.0/24 [comm name]

####
# Second, map the security names into group names:

# sec.model sec.name
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
group MyROGroup v1 mynetwork
group MyROGroup v2c mynetwork
group MyROGroup usm mynetwork

####
# Third, create a view for us to let the groups have rights to:

# incl/excl subtree mask
view all included .1 80

####
# Finally, grant the 2 groups access to the 1 view with different
# write permissions:

# context sec.model sec.level match read write notif
access MyROGroup “” any noauth exact all none none
access MyRWGroup “” any noauth exact all all none

# —————————————————————–
##################################################################
# System contact information
#

# It is also possible to set the sysContact and sysLocation system
# variables through the snmpd.conf file. **PLEASE NOTE** that setting
# the value of these objects here makes these objects READ-ONLY
# (regardless of any access control settings). Any attempt to set the
# value of an object whose value is given here will fail with an error
# status of notWritable.

syslocation Solo.
syscontact Tunggul

# Example output of snmpwalk:
# % snmpwalk -v 1 -c public localhost system
# system.sysDescr.0 = “Windows NT 2000 SP4″
# system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.win32
# system.sysUpTime.0 = Timeticks: (595637548) 68 days, 22:32:55
# system.sysContact.0 = “Me
# system.sysName.0 = “name”
# system.sysLocation.0 = “Right here, right now.”
# system.sysServices.0 = 72

# —————————————————————
#################################################################
# Subagent control
#

# The agent can support subagents using a number of extension mechanisms.
# From the 4.2.1 release, AgentX support is being compiled in by default.
# However, this is still experimental code, so should not be used on
# critical production systems.
# Please see the file README.agentx for more details.
#
# If having read, marked, learnt and inwardly digested this information,
# you decide that you do wish to make use of this mechanism, simply
# uncomment the following directive.
#
# master agentx
#
# I repeat - this is *NOT* regarded as suitable for front-line production
# systems, though it is probably stable enough for day-to-day use.
# Probably.
#
# No refunds will be given.

############################################################
# Further Information
#
# See the snmpd.conf manual page, and the output of “snmpd -H”.
# MUCH more can be done with the snmpd.conf than is shown as an
# example here.



mac: net-snmp - through macports

Details installation and configuration on Mac OS X are on separate post.


* RRDTool
linux: rrdtool

win
We all have an impressions that it is very difficult to install RRDTool on a Windows Server (including Windows XP, Windows Vista, Windows NT and Windows 2003/ 2008 Server) but that is not the case. There are few very Simple Steps to install RRDTool:
1. Create a Folder on any of your drives with name RRDTool.
2. Download the latest version of RRDTool from here
3. Extract the ZIP in RRDTool folder.
4. Open START >> Run >> type cmd to open Windows command prompt.
5. Type following command on prompt to use the RRDTool.
cd C:\RRDTool\

mac: rrdtool - through macports

1 comment:

  1. We can 3D print one or a couple of of} hundred gadgets for you quickly with our new additive manufacturing 3D print service center. The Trinckle automated repair service is constructed on algorithms which were fine-tuned to make 3D printing as accessible as potential to any online user, even whether it is doing so for the primary time. If your needs broaden beyond piano sheet music books rapid prototyping, rapid tooling, and low-volume manufacturing are all prospects, this company is an effective fit. JawsTec specializes in nylon 3D printing and CNC machining of metal and aluminum and provides a targeted and skilled 3D printing service.

    ReplyDelete

Hi, for all of those who already put comments on my blog post, thanks.. really appreciate it. And for those who have not, just put your comments here :)