Minggu, Agustus 26, 2012

SNMP MRTG


1. Introduction
In this text is described how to configure Mikrotik RouterOS and mrtg (FreeBSD). You must be root on nix machine and ports collection is installed. Web server must be configured and running on BSD machine. In this example Web server is Apache server. All information about mrtg and apache can be found at homepages: http://www.mrtg.org http://www.apache.org


2. RouterOS SNMP Configuration
/snmp 
 set enabled=yes contact="your@mail.com" location="SomeCountry" 
/snmp community 
 set public name="public" address=192.168.0.5/32 read-access=yes

Ip address 192.168.0.5 is address of BSD machine where mrtg will be installed.
 
3. MRTG Installation and Configuration
Now we install and configure mrtg on BSD machine.
cd /usr/ports/net-mgmt/
make 
make install

Now we need to create configuration file for mrtg. It can be done automatically by cfgmaker program.192.168.0.1 is ip of RouterOS.
 
cfgmaker public@192.168.0.1 --output=/usr/local/etc/mrtg.cfg

Change WorkDir value in created mrtg file with text editor. WorkDir value specifies where html files will be created. It must be same as DocumentRoot value in apache configuration.
For example:
### Global Config Options

#  for UNIX
WorkDir: /usr/local/www/data/ 
 
### Global Defaults

#  to get bits instead of bytes and graphs growing to the right
Options[_]: growright, bits

EnableIPv6: no

######################################################################
# System: Mikrotik
# Description: router
# Contact: your@mail.com
# Location: SomeCountry
######################################################################

Execute mrtg with your config to create html files.
 
mrtg /usr/local/etc/mrtg.cfg 

Now in directory /usr/local/www/data are html files for every interface in MT. Add this string to crontab to update graphs automatically every 5 minutes
 
*/5     *       *       *       *       root    mrtg /usr/local/etc/mrtg.cfg

Now we can create 1 html file with graphs for all interfaces
 
indexmaker /usr/local/etc/mrtg.cfg --output=/usr/local/www/data/index.html

Here is a sample configuration to monitor the power on a RB333 router using MRTG and SNMP plotting the results with the correct scale and values:
This should be entered into an existing mrtg.conf file replacing IP_Address with your IP address and MT with your community string
 
### Input Voltage

Target[IP_Address-voltage]:.1.3.6.1.4.1.14988.1.1.3.8.0&.1.3.6.1.4.1.14988.1.1.3.8.0:MT@IP_Address
AbsMax[IP_Address-voltage]: 200
MaxBytes[IP_Address-voltage]: 200
Title[IP_Address-voltage]: Input Voltage for a monitored -333
PageTop[IP_Address-voltage]: 


Input Voltage RB333 being monitored 

System: RB333 being monitored
Maintainer: managee
Description:Voltage for Monitored 333
Options[IP_Address-voltage]: gauge,growright,nopercent, noo, expscale YLegend[IP_Address-voltage]: Volts YTicsFactor[IP_Address-voltage]: 0.1 Factor[IP_Address-voltage]: 0.1 ShortLegend[IP_Address-voltage]: V LegendI[IP_Address-voltage]: Input Voltage &nbsp