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

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 

Recently uploaded (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

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