# $Id: Portfile 42269 2008-11-17 22:04:06Z markd@macports.org $ PortSystem 1.0 name netmrg version 0.20 categories net maintainers markd description An RRDtool frontend for network monitoring, reporting, and graphing \ that generates day/week/month MRTG style graphs. long_description ${description} homepage http://www.netmrg.net/ platforms darwin master_sites http://www.netmrg.net/download/release/ checksums md5 47bec3b8a4d3a5c06c70925ee8d280be depends_lib port:mysql5 \ port:rrdtool \ port:libxml2 configure.args --with-mysql_config=${prefix}/lib/mysql5/bin/mysql_config \ --with-snmp-lib-dir=/usr/lib \ --with-rrdtool=${prefix}/bin variant server { # This variant doesn't do anything in this port, it only exists to trigger the server # variant in the mysql5 port. } variant_set server post-extract { reinplace "s|mysql/mysql.h|${prefix}/include/mysql5/mysql/mysql.h|g" \ ${worksrcpath}/src/include/db.h reinplace "s||${prefix}/var/run/mysql5/mysqld.sock|g" \ ${worksrcpath}/etc/netmrg.xml.in reinplace "s|1.0|1.2|g" \ ${worksrcpath}/etc/netmrg.xml.in } post-destroot { xinstall -m 755 -d ${destroot}${prefix}/var/log/netmrg destroot.keepdirs ${destroot}${prefix}/var/log/netmrg system "chown -R www:www ${destroot}${prefix}/var/lib/netmrg/rrd/" system "chown -R www:www ${destroot}${prefix}/var/log/netmrg" } post-activate { ui_msg "\n ****************************************************************** **** Complete the NetMRG Installation **** ****************************************************************** Full information at http://wiki.netmrg.net/wiki/Users_Manual. 1) Setup MySQL Configure MySQL: sudo -u mysql ${prefix}/lib/mysql5/bin/mysql_install_db Start MySQL: sudo ${prefix}/share/mysql5/mysql/mysql.server start Set MySQL to run at system boot sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist Set the root MySQL password: Follow the instructions that were given after you executed 'mysql_install_db' above. 2) Install PHP 4 or 5 (not covered) Set mysql.default_socket path to ${prefix}/var/run/mysql5/mysqld.sock in the PHP file: ./phpx/lib/php.ini (in /usr/local, ${prefix}, or /Library depending on PHP package) 3) Setup the NetMRG database mysql5 -u root -p mysql> create database netmrg; mysql> exit Import the netmrg database cd ${prefix}/share/netmrg/db cat netmrg.mysql | mysql5 -u root -p netmrg Verify NetMRG DB: mysql5 -u root -p mysql> use netmrg; mysql> show tables; mysql> exit; Set permissions on the NetMRG database grant all on netmrg.* to netmrg@localhost identified by 'mynetmrg-password'; 4) Set a symlink from the NetMRG web frontend to your Apache root directory sudo ln -s ${prefix}/var/www/netmrg/webfiles //netmrg 5) Edit the NetMRG preferences file ${prefix}/etc/netmrg.xml MySQL preferences: netmrg (MySQL user) (MySQL password) netmrg (MySQL database name) Other preferences if desired: website, polling, and logging 6) Test polling and set polling in cron sudo -u www ${prefix}/bin/netmrg-gatherer -a (-a is for verbose output) NOTE: If you do not run netmrg as user www, then set permissions to that user: sudo chown -R netmrg-user:netmrg-user ${prefix}/var/log/netmrg/ sudo chown -R netmrg-user:netmrg-user ${prefix}/var/lib/netmrg/rrd Once you are satisfied polling is operating correctly, set the netmrg user's crontab to poll every 5 minutes. sudo -u crontab -e */5 * * * * ${prefix}/bin/netmrg-gatherer 7) Point your web browser to http:/loalhost/netmrg and login to NetMRG The default user/pass is admin/nimda ****************************************************************** **** Graphing an Ethernet Switch - Quickstart **** ****************************************************************** 1) Define a custom graph template for your Ethernet switches Click Template Graphs and click the 'Duplicate' icon beside item 'Linux Box - LAN Traffic'. Now edit the duplicate template and change the name and title: Name: Cisco - LAN Traffic Title: %dev_name% - %ifDescr%%n - %ifAlias% (ifAlias is optional) Comment: Interface: %ifDescr% - %ifAlias% (ifAlias is optional) Vert label: bytes / sec Click 'Save Changes'. 2) Monitor an Ethernet switch via SNMP Click Admin and add a Template Group called 'Cisco Switches' Add an Ethernet switch called 'Switch-A' under Monitored Devices for the Cisco Switches group, set the IP or hostname, SNMP version, and community string. Click Save. Click the Recache Interfaces' icon next to the new item Switch-A. NetMRG will draw a table of Switch-A's interfaces including: -Interface index number -Status (Up/Up, Up/Down, etc) -Name (Fa0/1, Gig3/12, etc) -Alias (Cisco IOS user customizable description) -IP address (if any) -Mac Address Select the 'Cisco - LAN Traffic' template in the lower right corner of the window, click the checkbox beside each interface you want to graph, and then click the 'Monitor/Graph All Checked' link. Click Admin -> Cisco Switches -> Switch A and notice that the interface(s) you selected are now listed as sub-devices of Switch-A. 3) View your graphs Click Reporting -> Tree -> Cisco Switches -> Switch-A. The orange graph icon links will display your graphs. 'Device' graph links display graphs for all interfaces on a page. 'Sub-Device' graph links display graphs for a single sub-device interface. \n" }