SlideShare a Scribd company logo
1 of 51
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                     Search
  (5 mins to months)

                       Refresh interval



 List of devices
Set time period                           Search
  (5 mins to months)

                       Refresh interval

                           Graph type filter
                              (bits, errors, packets)

 List of devices
Set time period                           Search
  (5 mins to months)

                       Refresh interval

                           Graph type filter
                              (bits, errors, packets)

 List of devices
                                                  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?




        showoninterface
               Display in GUI

prettyname
Display Name
Adding a switch
        enabled                 ip
      Polling enabled?     IP or hostname




        showoninterface
               Display in GUI

prettyname
Display Name
Adding a switch
        enabled                   ip
      Polling enabled?     IP or hostname




        showoninterface
               Display in GUI

prettyname                      snmpcommunity
Display Name                       SNMP details
Adding a switch
        enabled                   ip          graphtypes
      Polling enabled?     IP or hostname     Graphs required




        showoninterface
               Display in GUI

prettyname                      snmpcommunity
Display Name                       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

More Related Content

What's hot

Pete Heroku Waza 2013 Ruby 2.0
Pete Heroku Waza 2013 Ruby 2.0Pete Heroku Waza 2013 Ruby 2.0
Pete Heroku Waza 2013 Ruby 2.0Peter Hudgins
 
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...Automation makes IT better! The latest and greatest features in Geppetto 3.0,...
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...Puppet
 
XmppTalk
XmppTalkXmppTalk
XmppTalkPharo
 
Firebird Python Drivers: Current state and future
 Firebird Python Drivers: Current state and future Firebird Python Drivers: Current state and future
Firebird Python Drivers: Current state and futureMind The Firebird
 
Esri South Africa Python for Everyone
Esri South Africa Python for EveryoneEsri South Africa Python for Everyone
Esri South Africa Python for EveryoneEsri South Africa
 
Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016Chris Fregly
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bitsPharo
 
What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?FAST
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onAPNIC
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017Alex Chistyakov
 
Introduction to Python Programing
Introduction to Python ProgramingIntroduction to Python Programing
Introduction to Python Programingsameer patil
 
Pharo, Spec and GTK
Pharo, Spec and GTKPharo, Spec and GTK
Pharo, Spec and GTKESUG
 

What's hot (17)

Pete Heroku Waza 2013 Ruby 2.0
Pete Heroku Waza 2013 Ruby 2.0Pete Heroku Waza 2013 Ruby 2.0
Pete Heroku Waza 2013 Ruby 2.0
 
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...Automation makes IT better! The latest and greatest features in Geppetto 3.0,...
Automation makes IT better! The latest and greatest features in Geppetto 3.0,...
 
Spacebrew @ SFPC
Spacebrew @ SFPCSpacebrew @ SFPC
Spacebrew @ SFPC
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
 
Firebird Python Drivers: Current state and future
 Firebird Python Drivers: Current state and future Firebird Python Drivers: Current state and future
Firebird Python Drivers: Current state and future
 
Esri South Africa Python for Everyone
Esri South Africa Python for EveryoneEsri South Africa Python for Everyone
Esri South Africa Python for Everyone
 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
 
Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016Atlanta Hadoop Users Meetup 09 21 2016
Atlanta Hadoop Users Meetup 09 21 2016
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
 
What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?
 
Python Flavors
Python FlavorsPython Flavors
Python Flavors
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
 
Swift for tensorflow
Swift for tensorflowSwift for tensorflow
Swift for tensorflow
 
Python performance engineering in 2017
Python performance engineering in 2017Python performance engineering in 2017
Python performance engineering in 2017
 
Introduction to Python Programing
Introduction to Python ProgramingIntroduction to Python Programing
Introduction to Python Programing
 
Pharo, Spec and GTK
Pharo, Spec and GTKPharo, Spec and GTK
Pharo, Spec and GTK
 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
 

Similar to FITB: Network graphing done right

Drilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache DrillDrilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache DrillCharles Givre
 
Experimental evaluation of dynamic switching between one on-one and group vid...
Experimental evaluation of dynamic switching between one on-one and group vid...Experimental evaluation of dynamic switching between one on-one and group vid...
Experimental evaluation of dynamic switching between one on-one and group vid...George Politis
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hdslantsixgames
 
Streaming 101: Hello World
Streaming 101:  Hello WorldStreaming 101:  Hello World
Streaming 101: Hello WorldJosh Fischer
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopJesse Vincent
 
State of Puppet - Puppet Camp Silicon Valley 2014
State of Puppet - Puppet Camp Silicon Valley 2014State of Puppet - Puppet Camp Silicon Valley 2014
State of Puppet - Puppet Camp Silicon Valley 2014Puppet
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018Chun-Yu Tseng
 
The devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleThe devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleJulien Pivotto
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devicesimmanuelnoel
 
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraformSFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraformSouth Tyrol Free Software Conference
 
Insider Threat Visualization - HITB 2007, Kuala Lumpur
Insider Threat Visualization - HITB 2007, Kuala LumpurInsider Threat Visualization - HITB 2007, Kuala Lumpur
Insider Threat Visualization - HITB 2007, Kuala LumpurRaffael Marty
 
Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007Raffael Marty
 
Jingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIPJingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIPmattjive
 
Griffon - Making Swing Fun Again
Griffon - Making Swing Fun AgainGriffon - Making Swing Fun Again
Griffon - Making Swing Fun AgainDanno Ferrin
 
SnorGen User Guide 2.0
SnorGen User Guide 2.0SnorGen User Guide 2.0
SnorGen User Guide 2.0Sungho Yoon
 
Season 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data ScientistsSeason 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data Scientistsaspyker
 
The 1990s Called. They Want Their Code Back.
The 1990s Called. They Want Their Code Back.The 1990s Called. They Want Their Code Back.
The 1990s Called. They Want Their Code Back.Jonathan Oliver
 

Similar to FITB: Network graphing done right (20)

Drilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache DrillDrilling Cyber Security Data With Apache Drill
Drilling Cyber Security Data With Apache Drill
 
Experimental evaluation of dynamic switching between one on-one and group vid...
Experimental evaluation of dynamic switching between one on-one and group vid...Experimental evaluation of dynamic switching between one on-one and group vid...
Experimental evaluation of dynamic switching between one on-one and group vid...
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
 
Supersize your production pipe enjmin 2013 v1.1 hd
Supersize your production pipe    enjmin 2013 v1.1 hdSupersize your production pipe    enjmin 2013 v1.1 hd
Supersize your production pipe enjmin 2013 v1.1 hd
 
Streaming 101: Hello World
Streaming 101:  Hello WorldStreaming 101:  Hello World
Streaming 101: Hello World
 
SRE NL MeetUp - eBPF.pdf
SRE NL MeetUp - eBPF.pdfSRE NL MeetUp - eBPF.pdf
SRE NL MeetUp - eBPF.pdf
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
 
State of Puppet - Puppet Camp Silicon Valley 2014
State of Puppet - Puppet Camp Silicon Valley 2014State of Puppet - Puppet Camp Silicon Valley 2014
State of Puppet - Puppet Camp Silicon Valley 2014
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
 
The devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code StyleThe devops approach to monitoring, Open Source and Infrastructure as Code Style
The devops approach to monitoring, Open Source and Infrastructure as Code Style
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devices
 
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraformSFScon18 - Gerhard Sulzberger - Jason Tevnan  - gitops with gitlab + terraform
SFScon18 - Gerhard Sulzberger - Jason Tevnan - gitops with gitlab + terraform
 
Insider Threat Visualization - HITB 2007, Kuala Lumpur
Insider Threat Visualization - HITB 2007, Kuala LumpurInsider Threat Visualization - HITB 2007, Kuala Lumpur
Insider Threat Visualization - HITB 2007, Kuala Lumpur
 
Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007
 
Jingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIPJingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIP
 
Os Tucker
Os TuckerOs Tucker
Os Tucker
 
Griffon - Making Swing Fun Again
Griffon - Making Swing Fun AgainGriffon - Making Swing Fun Again
Griffon - Making Swing Fun Again
 
SnorGen User Guide 2.0
SnorGen User Guide 2.0SnorGen User Guide 2.0
SnorGen User Guide 2.0
 
Season 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data ScientistsSeason 7 Episode 1 - Tools for Data Scientists
Season 7 Episode 1 - Tools for Data Scientists
 
The 1990s Called. They Want Their Code Back.
The 1990s Called. They Want Their Code Back.The 1990s Called. They Want Their Code Back.
The 1990s Called. They Want Their Code Back.
 

Recently uploaded

ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...FIDO Alliance
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...ScyllaDB
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxFIDO Alliance
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfFIDO Alliance
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch TuesdayIvanti
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Hiroshi SHIBATA
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptxFIDO Alliance
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...FIDO Alliance
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 

Recently uploaded (20)

ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024Long journey of Ruby Standard library at RubyKaigi 2024
Long journey of Ruby Standard library at RubyKaigi 2024
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 

FITB: Network graphing done right

  • 1. FITB Network Graphing Done Right Laurie Denness http://laur.ie @lozzd
  • 2. Monitoring • Everyone knows it’s important • “If it moves, graph it” - Me, 2009 • BTW: ##monitoringsucks on Freenode
  • 3. What is your network doing? Saturating your network in unexpected places can cause unexpected problems
  • 4. What is your network doing?
  • 5. 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
  • 6. 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
  • 7. Introducing FITB • Fit-bee or “Fill in the Blank” • Based on RRDTool, same data structure as many other RRDTool based systems • Written in PHP
  • 8. 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
  • 9. 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
  • 10. Getting Started • Some sort of webserver with PHP • and the PHP CLI • RRDTool • MySQL • Cron • Some devices to monitor
  • 11. 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
  • 12.
  • 14. Set time period (5 mins to months) List of devices
  • 15. Set time period (5 mins to months) Refresh interval List of devices
  • 16. Set time period Search (5 mins to months) Refresh interval List of devices
  • 17. Set time period Search (5 mins to months) Refresh interval Graph type filter (bits, errors, packets) List of devices
  • 18. Set time period Search (5 mins to months) Refresh interval Graph type filter (bits, errors, packets) List of devices Host filter
  • 21. Adding a switch enabled Polling enabled? prettyname Display Name
  • 22. Adding a switch enabled Polling enabled? showoninterface Display in GUI prettyname Display Name
  • 23. Adding a switch enabled ip Polling enabled? IP or hostname showoninterface Display in GUI prettyname Display Name
  • 24. Adding a switch enabled ip Polling enabled? IP or hostname showoninterface Display in GUI prettyname snmpcommunity Display Name SNMP details
  • 25. Adding a switch enabled ip graphtypes Polling enabled? IP or hostname Graphs required showoninterface Display in GUI prettyname snmpcommunity Display Name SNMP details
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. What happens when a new port comes up? • Next polling run it will be added automatically • No config, no fuss
  • 41. 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
  • 42. What if a port goes down?
  • 43. What if a port goes down? • The “stale” time is configurable • Config option to permanently delete old graphs
  • 44.
  • 45.
  • 46. What else? • Dashboard support has been written • https://github.com/etsy/dashboard • Network Weathermap patch available
  • 47.
  • 48.
  • 49. What next? • This is version 1 • Bugs? • Features? • Stacked graphs • Config editor • Less than 1 minute polling? • Open source!
  • 51. FITB http://github.com/lozzd/FITB Laurie Denness http://laur.ie @lozzd

Editor's Notes

  1. \n
  2. We all know monitoring is important; lets not discuss how much here, Theo did a great job\nIf it moves graph it.. I’m the guy who graphs how many spaces are available in his local car parks so he knows when to go shopping\nMention if you want to discuss how much you hate your current monitoring solution, join #monitoringsucks on Freenode\n
  3. Quickly explain the story of when Git maxed out the network and caused actual site issues\nGit is faster.. Network was only 1gbps links... So many deploys means more unit tests which means more git traffic which caused problems with apache\n
  4. \n
  5. Discuss briefly the requirements\n
  6. Evaluating lots of different solutions, none of them tick every box.\n
  7. Everyone pronounces everything wrong, who cares\n\n
  8. \n
  9. \n
  10. \n
  11. Go back to reading reddit\n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. Next slide is live demo if poss. Use sw306c, host web0086\n
  19. Next slide is live demo if poss. Use sw306c, host web0086\n
  20. Next slide is live demo if poss. Use sw306c, host web0086\n
  21. Next slide is live demo if poss. Use sw306c, host web0086\n
  22. Next slide is live demo if poss. Use sw306c, host web0086\n
  23. Next slide is live demo if poss. Use sw306c, host web0086\n
  24. Here’s what it looks like. Notice when you click on a host, you get everything on that host (all types all ports)\nNotice the filter in the top right has changed to show the host you selected. Now I’ll search for a host on this switch. \n
  25. Here’s what it looks like. Notice when you click on a host, you get everything on that host (all types all ports)\nNotice the filter in the top right has changed to show the host you selected. Now I’ll search for a host on this switch. \n
  26. Here’s what it looks like. Notice when you click on a host, you get everything on that host (all types all ports)\nNotice the filter in the top right has changed to show the host you selected. Now I’ll search for a host on this switch. \n
  27. Notice now I’ve found all the results for the port matching web0086, which is in the search box. \nNow I can decide I only care about bits/sec and not about anything else, I change the dropdown filter at the top\n
  28. Notice now I’ve found all the results for the port matching web0086, which is in the search box. \nNow I can decide I only care about bits/sec and not about anything else, I change the dropdown filter at the top\n
  29. \n
  30. An example of searching for an interface name across all hosts\n
  31. An example of searching for an interface name across all hosts\n
  32. An example of searching for an interface name across all hosts\n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n