SlideShare a Scribd company logo
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.0
Peter 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
 
Spacebrew @ SFPC
Spacebrew @ SFPCSpacebrew @ SFPC
Spacebrew @ SFPC
Brett Renfer
 
XmppTalk
XmppTalkXmppTalk
XmppTalk
Pharo
 
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
Mind The Firebird
 
Esri South Africa Python for Everyone
Esri South Africa Python for EveryoneEsri South Africa Python for Everyone
Esri South Africa Python for Everyone
Esri South Africa
 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
Mohammad Javad Beheshtian
 
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
Chris Fregly
 
Pharo 64bits
Pharo 64bitsPharo 64bits
Pharo 64bits
Pharo
 
What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?
FAST
 
Python Flavors
Python FlavorsPython Flavors
Python Flavors
Geison Goes
 
IPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-onIPv4aaS tutorial and hands-on
IPv4aaS tutorial and hands-on
APNIC
 
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
Alex Chistyakov
 
Introduction to Python Programing
Introduction to Python ProgramingIntroduction to Python Programing
Introduction to Python Programing
sameer patil
 
Pharo, Spec and GTK
Pharo, Spec and GTKPharo, Spec and GTK
Pharo, Spec and GTK
ESUG
 
Python Introduction
Python IntroductionPython Introduction
Python Introduction
Sofian Hadiwijaya
 

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 Drill
Charles 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
 
Pinto+Stratopan+Love
Pinto+Stratopan+LovePinto+Stratopan+Love
Pinto+Stratopan+Love
Jeffrey Ryan Thalhammer
 
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
slantsixgames
 
Streaming 101: Hello World
Streaming 101:  Hello WorldStreaming 101:  Hello World
Streaming 101: Hello World
Josh Fischer
 
SRE NL MeetUp - eBPF.pdf
SRE NL MeetUp - eBPF.pdfSRE NL MeetUp - eBPF.pdf
SRE NL MeetUp - eBPF.pdf
SiteReliabilityEngin
 
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl WorkshopProphet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
Jesse 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 2014
Puppet
 
from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018from ai.backend import python @ pycontw2018
from ai.backend import python @ pycontw2018
Chun-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 Style
Julien Pivotto
 
P2P for mobile devices
P2P for mobile devicesP2P for mobile devices
P2P for mobile devices
immanuelnoel
 
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
South 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 Lumpur
Raffael Marty
 
Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007Insider Threat Visualization - HackInTheBox 2007
Insider Threat Visualization - HackInTheBox 2007
Raffael Marty
 
Jingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIPJingle: Cutting Edge VoIP
Jingle: Cutting Edge VoIP
mattjive
 
Os Tucker
Os TuckerOs Tucker
Os Tucker
oscon2007
 
Griffon - Making Swing Fun Again
Griffon - Making Swing Fun AgainGriffon - Making Swing Fun Again
Griffon - Making Swing Fun Again
Danno Ferrin
 
SnorGen User Guide 2.0
SnorGen User Guide 2.0SnorGen User Guide 2.0
SnorGen User Guide 2.0
Sungho 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 Scientists
aspyker
 
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

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 

Recently uploaded (20)

Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 

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