Network measurements with InfluxDB

Slides:



Advertisements
Similar presentations
BigData Tools Seyyed mohammad Razavi. Outline  Introduction  Hbase  Cassandra  Spark  Acumulo  Blur  MongoDB  Hive  Giraph  Pig.
Advertisements

Time Series Data Repository (TSDR)
Evaluation of NoSQL databases for DIRAC monitoring and beyond
Monitoring a Large-Scale Network: Selecting the Right Tool Sayadur Rahman United International University & Network Manager, Financial Service.
Monitoring backbone networks Manuel ubredu, Valeriu Vraciu – RoEduNet Chiinău, September 9, 2014.
AGENDA Tools used in SQL Server 2000 Graphical BOL Enterprise Manager Service Manager CLI Query Analyzer OSQL BCP.
Enterprise Reporting with Reporting Services SQL Server 2005 Donald Farmer Group Program Manager Microsoft Corporation.
Distribution Statement A. Approved for public release; distribution is unlimited. Test and Evaluation/Science and Technology Program Rapid Data Analyzer.
Elasticsearch in Dashboard Data Management Applications David Tuckett IT/SDC 30 August 2013 (Appendix 11 November 2013)
Cricket and SNMP Using Cricket to manage SNMP objects.
Streamlining Monitoring Infrastructure in IT-DB-IMS Charles Newey ›
Management of the LHCb DAQ Network Guoming Liu * †, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
SQL Server 2008 R2 Manageability. Challenges facing database administrators today: Scaling management to multiple data centers Proactively monitoring.
Distributed Time Series Database
Typing Pattern Authentication Techniques 3 rd Quarter Luke Knepper.
Dave Oravetz VP of Engineering. European Sales Meeting – December 6, 2007 – Company Confidential 2 Hyper-Historian Key Benefits Efficient High Performance.
+ Logentries Is a Real-Time Log Analytics Service for Aggregating, Analyzing, and Alerting on Log Data from Microsoft Azure Apps and Systems MICROSOFT.
Management of the LHCb DAQ Network Guoming Liu *†, Niko Neufeld * * CERN, Switzerland † University of Ferrara, Italy.
Monitoring with InfluxDB & Grafana
Time Series Data Repository #ODSummit - The Generic, Extensible, and Elastic Data Repository in OpenDaylight for Advanced Analytics.
SQL Advanced Monitoring Using DMV, Extended Events and Service Broker Javier Villegas – DBA | MCP | MCTS.
Gorilla: A Fast, Scalable, In-Memory Time Series Database
Metrics at Mantas Klasavičius.
Take an Analytics-Driven Approach to Container Performance Marc Chéné, Principal Product Manager Den Gladkikh (aka outcoldman), Principal Dev Engineer.
Torrus software: Overview of challenges and new features Stanislav Sinyagin SwiNOG-16, May 14th 2008, Bern.
IT Monitoring Service Status and Progress 1 Alberto AIMAR, IT-CM-MM.
MANAGEMENT DATA WAREHOUSE AND DATA COLLECTOR Ian Lanham.
Metrics data published Via different methods Monitoring Server
EPICS Channel History Storage
OpenNTI Collect and visualize KPI from Networks devices
Monitoring Evolution and IPv6
Agenda:- DevOps Tools Chef Jenkins Puppet Apache Ant Apache Maven Logstash Docker New Relic Gradle Git.
Collectd 101.
Collectd 101.
COMPANY PROFILE: CORENT TECHNOLOGY INC.
Connected Living Connected Living What to look for Architecture
Big Data A Quick Review on Analytical Tools
WinCC-OA Log Analysis SCADA Application Service - Reporting
Monitoring with Clustered Graphite & Grafana
Network Operations and Network Management
Partner Logo Veropath Offers a Next-Gen Expense Management SaaS Technology Solution, Built Specifically to Harness Big Data Analytics Capabilities in Azure.
SQL Server Data Collector From Every Angle
Log Management Systems
Chapter 14 Big Data Analytics and NoSQL
WinCC OA NextGen Archiver: OSS Database selection process Dipl. -Ing
Spark Presentation.
Time Series Data Repository
Using Grafana to show Postgres Statistics
Connected Living Connected Living What to look for Architecture
2002 Called; They want their rrdtool shell scripts back
Enabling Scalable and HA Ingestion and Real-Time Big Data Insights for the Enterprise OCJUG, 2014.
Time Series Data Recording And Visualization
Haritha Dasari Josue Balandrano Coronel -
Remote Monitoring solution
Network Monitoring System
Streaming Network Analytics System
The R language and its Dynamic Runtime
Logsign All-In-One Security Information and Event Management (SIEM) Solution Built on Azure Improves Security & Business Continuity MICROSOFT AZURE APP.
Denys FOSDEM 2018 What's new in Graphite 1.1 Denys FOSDEM 2018.
Monitoring for large infrastructure
Carl Data Solutions Collects Utility Sensor and Meter Data to Provide Advanced Reporting, Alarming, and Analytics with Microsoft Azure MICROSOFT AZURE.
Overview of big data tools
Get your ETL flow under statistical process control
Collecting Performance Metrics
The ELK stack - get to know logs
Agenda Need of Cloud Computing What is Cloud Computing
Patrick Partin What just happened?
Patrick Partin What just happened? Creating your own real-time dashboard with Grafana, Influx, and Telegraf Congratulations on successfully downloading.
Map Reduce, Types, Formats and Features
Pig Hive HBase Zookeeper
Presentation transcript:

Network measurements with InfluxDB Big data for measurements ;-) Max Mudde (max.mudde@surfnet.nl) Network Engineer

Agenda What is a time series Why do we need time series data What we had What we wanted Database selection Collection agent Visualising data Future of monitoring Demo

What is time series data Is a series of data points indexed in time order. The series is most commonly graphed or listed in order of time We use it everywhere: Meterological data Tide graphs Financial trends

What is time series data In a time series database a datapoint is ALWAYS accompanied with a timestamp Datapoints are often accompanied with metadata (tags) Numeric (integer) value Binary (true/false) String (events) Equal time periods State changes Events

What is time series data

Why do we need time series data Monitoring! We basically want to know whats going on Sudden changes in traffic Error detection Capacitymanagement; Do we need to upgrade/downgrade Trendanalysis; We want to track changes in behaviour Billing Reporting

What we had RRDtool based Perl/Python snmp scripts Cons: File based time series Horrible retention (default) Static images (almost) no correlation posibities Static intervals Plans to change this setup for almost a decade

Wat we wanted Correlation Database Query language Better retention (and flexible) Dynamic intervals High resolution (per/(mili)second) Basic statistical analysis Big data for analytics!

Selection of TSDB’s

Selection of TSDB’s OpenTSDB Build on top of hadoop & hbase or Cassandra Extremely scalable High resolution (ms) Tags Very active community Graphite Build on Whisper Not possible to store indefinitly 1 second resolution No tags Does not scale well Cyanite Build on top of Cassandra Active community InfluxDB Own databaseformat Scalable (commercial) High resolution (ms) Tags Commercial support KairosDB Build on Cassandra Promethius Build on whisper Lowest resolution (1min)

Selection of TSDB’s What we found important Time vs Money Active community Easy to understand query language Enrich data with tags (Metadata) Ease of management (we are not Dbadmin’s) Documentation

Selection of TSDB’s InfluxDB Tags HA Cluster (Commercial) Support (commercial) Easy install Binary packages (windows, RH, Deb, tar) Docker containers Less moving parts and dependensies

Monitoring Agent Monitoring Through SNMP Selective in what we monitor Agents Collectd (no tag support) Telegraf (tags bases on snmp tables) (plugins) Adapt current scripts

Monitoring Agent Alternatively more and more tools supprt InfluxDB Librenms Icinga2

Monitoring Agent Telegraf Pluggable Highly configurable Seems to be gaining momentum Strong development Ease of maintance Supports multiple backends Parallel polling Caching

InfluxDB setup

Querying influxDB Looks somewhat like SQL SELECT * from "NetworkMeasurements" where time > now() - 1h and agent_host = 'bor.master.surf.net' AND ifName = 'xe-6/1/0';

Querying InfluxDB GROUP BY (tag) SELECT ifHCInOctets from "NetworkMeasurements" where "agent_host" = 'bor.master.surf.net'and time > now() - 5m GROUP By ifName; Get all input counters from router ‘bor’ of the last 5 mins and group them by interface name

Querying InfluxDB Mathematical & statistical functions SELECT non_negative_derivative(ifHCInOctets,1s)*8 from "NetworkMeasurements" where "agent_host" = 'bor.master.surf.net'and time > now() - 1h GROUP By ifName; Derivative = Convert counters to bytes/sec Math = Convert bytes to bits Other functions: Mean Median Sum Distinct Percentile Top Etc…

Querying InfluxDB Subqueryies select percentile("derivative",95) from (SELECT derivative(ifHCInOctets,1s)*8 from "NetworkMeasurements" where time > now() - 30d and agent_host = 'bor.master.surf.net' AND ifName = 'xe-6/1/0') First get derivative and convert to bits/sec of last 30 days Then Get 95th percentile

Visualizing data

Grafana Supports every major backend Easy to use query builder Plug-ins Easily create (dynamic) dashboards Correlate graphs from different backends i.e. Create graphs and anotate them with log events from elasticsearch

Grafana

But…….SNMP???

But…….SNMP??? Inefficiënt design Polling based Creates high load in NE’s Slow Scaling issues CLI Unstructured Subject to chanes Syslog

Behold….Streaming Telemetry Focus on statistics Monitoring system just listens (push model) Structured Efficient Resolution Periodic delivery Not just traffics statistics (unlike sFlow) Interface up/down BGP LSP Topology QoS ACL stats System health (CPU/memory)

Streaming telemetry setup Router config Define what needs to be sent (ie traffic and routing stats) Define to witch collector Fluentd Accepts data Translates it Sends it to InfluxDB InfluxDB Stores meterics

Demo time

Max Mudde max.mudde@surfnet.nl