FITB Network Graphing Done Right Laurie Denness http://laur.ie @lozzd
Monitoring Everyone knows it s important If it moves, graph it - Me, 2009 BTW: ##monitoringsucks on Freenode
What is your network doing? Saturating your network in unexpected places can cause unexpected problems
What is your network doing?
What we wanted Every port, on every switch to be monitored Previously this meant a lot of clicking and overhead to maintain 1 minute polling interval, for extra detail New switches to be monitored within minutes of them coming up
How hard can that be? There are *a lot* of graphing solutions out there, old and new Kept thinking to myself can it really be this difficult Everyone has their own set of requirements
Introducing FITB Fit-bee or Fill in the Blank Based on RRDTool, same data structure as many other RRDTool based systems Written in PHP
Feature Overview Automatic Discovery Every up port on every switch Handles the ports going up/down and being renamed Simple Config One line to add a new switch Precise, 1 minute polling
Feature Overview Simple, but powerful interface Search interface name, alias Filters on every page to drill down Monitors any combination of bits/sec, packets/sec, errors/discards/sec
Getting Started Some sort of webserver with PHP and the PHP CLI RRDTool MySQL Cron Some devices to monitor
Installation Get the code Import the database schema Set up cron Make a safe place for your RRD files Put a switch in the config Resume looking at pictures of cats online
List of devices
Set time period (5 mins to months) List of devices
Set time period (5 mins to months) Refresh interval List of devices
Set time period (5 mins to months) Search Refresh interval List of devices
Set time period (5 mins to months) Search Refresh interval List of devices Graph type filter (bits, errors, packets)
Set time period (5 mins to months) Search Refresh interval List of devices Graph type filter (bits, errors, packets) Host filter
Adding a switch
Adding a switch prettyname Display Name
Adding a switch enabled Polling enabled? prettyname Display Name
Adding a switch enabled Polling enabled? prettyname Display Name showoninterface Display in GUI
Adding a switch enabled Polling enabled? ip IP or hostname prettyname Display Name showoninterface Display in GUI
Adding a switch enabled Polling enabled? ip IP or hostname showoninterface Display in GUI prettyname Display Name snmpcommunity SNMP details
Adding a switch enabled Polling enabled? ip IP or hostname graphtypes Graphs required showoninterface Display in GUI prettyname Display Name snmpcommunity SNMP details
What happens when a new port comes up? Next polling run it will be added automatically No config, no fuss
What if a port goes down? All the pages have graphs ordered by last update Keep stale things at the bottom out of the way The graphs are marked as stale
What if a port goes down?
What if a port goes down? The stale time is configurable Config option to permanently delete old graphs
What else? Dashboard support has been written https://github.com/etsy/dashboard Network Weathermap patch available
What next? This is version 1 Bugs? Features? Stacked graphs Config editor Less than 1 minute polling? Open source!
FITB http://github.com/lozzd/fitb
FITB http://github.com/lozzd/fitb Laurie Denness http://laur.ie @lozzd