SlideShare a Scribd company logo
1 of 27
Monitoring With Riemann
About
(def about-me
{:name “Abhishek Anand Amralkar”
:shortname “@aaa”
:from “Talentica Software Pvt. Ltd”
:social { :blog “https://medium.com/@aamralkar”
:twitter “https://twitter.com/aamralkar”
:github “https://github.com/abhishekamralkar”} })
Agenda
● What is Riemann?
● Why Riemann?
● Concepts of Riemann
○ Indexes
○ Streams
○ Events
● Configuration walk through
Why Monitoring?
● Business Risks
● Capacity Planning.
● To comply to SLA’s promised to
customers.
Why Monitoring?
● Stability
● Systems are getting complex.
Humans needs Sleep.
What needs to be Monitored?
● Cloud
● Infrastructure
● Operating Systems
● Business Applications
Types of Monitoring
● Push
● Pull
Types of Monitoring
● Customers -- The Good ones who send
email/chat to support and tell them
“Dear XYZ your application foobar module is
not working. Please check”
Challenges in Distributed Systems Monitoring?
● Hundreds of machines.
● Hundreds of thousands of metrics
every second.
● Metrics to Monitor?
● Metrics to set Alert?
● Alert Frequency?
Challenges in Distributed Systems Monitoring?
● Storage of useful metrics
● Real Time metrics
● Monitoring Cost
● Informative Dashboards
What is Riemann?
In one word “ Riemann is an Event Aggregator”
● A monitoring tool that aggregates events from servers and applications.
● Riemann uses powerful stream processing language written in Clojure to
aggregate the events.
Why Riemann?
● Written in Clojure.
● Low latency events processing monitoring engine.
● Streams are Clojure functions which makes it highly adaptable.
● Riemann configuration file is a Clojure Program.
Why Riemann?
● Monitoring as a Code.
● Can monitor anything.
● Comes with its own Instrumentation - measures own performance.
● Can send alerts via Email, Chat, SMS and many more..
● Can get connected to back end time series databases InfluxDB and Graphite
to store metrics for historical data.
Riemann in our case
How an Event Looks Like? A Clojure map
(immutable for sure)
Riemann Events
● Events in Riemann are the base construct.
● Riemann receives events and processes them.
● Events fields are referred by Keywords in config like :host, :service, :tags.
● Apart from the standard fields, custom fields can also be sent in the event.
Riemann Streams
● Streams are Clojure functions that we can define.
● Streams are defined in stream section of the Riemann config file.
● Streams can have a child stream.
● Events get passed to the streams for aggregation, modification and alerting.
● Riemann config can have as many streams.
Riemann Indexes
● Table of current state of all services tracked by Riemann.
● Each event is uniquely indexed by its host and service. The index just keeps
track of the most recent event for a given (host, service) pair.
● Index can have TTL (time to leave).
In built Filtering Streams
● where
● match
● tagged
● expired
Rate Events Streams
● rollup
● throttle
Coalesce
● Emits last event from host and service.
● Common aggregation of events from
multiple host.
● Useful for Distributed Systems
Events Grouping
● moving-time-window
● moving-event-window
● fixed-time-window
● fixed-event-window
Time for Action
● We will demonstrate how to send Zookeeper metrics to Riemann and
InfluxDB.
Thank You All

More Related Content

What's hot

High Volume Streaming Data: How Amazon Web Services is Changing Our Approach
High Volume Streaming Data: How Amazon Web Services is Changing Our ApproachHigh Volume Streaming Data: How Amazon Web Services is Changing Our Approach
High Volume Streaming Data: How Amazon Web Services is Changing Our ApproachMichael Krouze
 
Structured Streaming in Spark
Structured Streaming in SparkStructured Streaming in Spark
Structured Streaming in SparkDigital Vidya
 
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardOSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardNETWAYS
 
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Bowen Li
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLMarcia Villalba
 
MineExcellence Digital mine mine safety and e-compliance v1.0
MineExcellence Digital mine  mine safety and e-compliance v1.0MineExcellence Digital mine  mine safety and e-compliance v1.0
MineExcellence Digital mine mine safety and e-compliance v1.0Mason Taylor
 
Complex batch process migration
Complex batch process migrationComplex batch process migration
Complex batch process migrationFlowable
 
Pask v 2.0 infrastructure development
Pask v 2.0 infrastructure developmentPask v 2.0 infrastructure development
Pask v 2.0 infrastructure developmentSooraj S Nambiar
 
Managing Large Scale Financial Time-Series Data with Graphs
Managing Large Scale Financial Time-Series Data with Graphs Managing Large Scale Financial Time-Series Data with Graphs
Managing Large Scale Financial Time-Series Data with Graphs Objectivity
 
Scalable Dynamic Data Consumption on the Web
Scalable Dynamic Data Consumption on the WebScalable Dynamic Data Consumption on the Web
Scalable Dynamic Data Consumption on the WebRuben Taelman
 
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward
 
Moving RDF Stream Processing to the Client
Moving RDF Stream Processing to the ClientMoving RDF Stream Processing to the Client
Moving RDF Stream Processing to the ClientRuben Taelman
 
Presentation_IWD_ GDGNantes_2022
Presentation_IWD_ GDGNantes_2022Presentation_IWD_ GDGNantes_2022
Presentation_IWD_ GDGNantes_2022Abir Alaoui
 

What's hot (14)

High Volume Streaming Data: How Amazon Web Services is Changing Our Approach
High Volume Streaming Data: How Amazon Web Services is Changing Our ApproachHigh Volume Streaming Data: How Amazon Web Services is Changing Our Approach
High Volume Streaming Data: How Amazon Web Services is Changing Our Approach
 
Structured Streaming in Spark
Structured Streaming in SparkStructured Streaming in Spark
Structured Streaming in Spark
 
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel ÖdegaardOSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
OSMC 2015: Grafana and Future of Metrics Visualization by Torkel Ödegaard
 
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
 
Serverless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQLServerless Days Milano - Developing Serverless applications with GraphQL
Serverless Days Milano - Developing Serverless applications with GraphQL
 
MineExcellence Digital mine mine safety and e-compliance v1.0
MineExcellence Digital mine  mine safety and e-compliance v1.0MineExcellence Digital mine  mine safety and e-compliance v1.0
MineExcellence Digital mine mine safety and e-compliance v1.0
 
Complex batch process migration
Complex batch process migrationComplex batch process migration
Complex batch process migration
 
Pask v 2.0 infrastructure development
Pask v 2.0 infrastructure developmentPask v 2.0 infrastructure development
Pask v 2.0 infrastructure development
 
Managing Large Scale Financial Time-Series Data with Graphs
Managing Large Scale Financial Time-Series Data with Graphs Managing Large Scale Financial Time-Series Data with Graphs
Managing Large Scale Financial Time-Series Data with Graphs
 
Scalable Dynamic Data Consumption on the Web
Scalable Dynamic Data Consumption on the WebScalable Dynamic Data Consumption on the Web
Scalable Dynamic Data Consumption on the Web
 
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
Flink Forward Berlin 2018: Raj Subramani - "A streaming Quantitative Analytic...
 
Moving RDF Stream Processing to the Client
Moving RDF Stream Processing to the ClientMoving RDF Stream Processing to the Client
Moving RDF Stream Processing to the Client
 
Airflow 4 manager
Airflow 4 managerAirflow 4 manager
Airflow 4 manager
 
Presentation_IWD_ GDGNantes_2022
Presentation_IWD_ GDGNantes_2022Presentation_IWD_ GDGNantes_2022
Presentation_IWD_ GDGNantes_2022
 

Similar to My Talk Slides for Clojured Berlin 2019

Understanding Business APIs through statistics
Understanding Business APIs through statisticsUnderstanding Business APIs through statistics
Understanding Business APIs through statisticsWSO2
 
DEM09 [Repeat] Fearless: From Monolith to Serverless with Dynatrace
DEM09 [Repeat] Fearless: From Monolith to Serverless with DynatraceDEM09 [Repeat] Fearless: From Monolith to Serverless with Dynatrace
DEM09 [Repeat] Fearless: From Monolith to Serverless with DynatraceAmazon Web Services
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceAmazon Web Services
 
Extracting Insights from Data at Twitter
Extracting Insights from Data at TwitterExtracting Insights from Data at Twitter
Extracting Insights from Data at TwitterPrasad Wagle
 
Platform events
Platform eventsPlatform events
Platform eventsarun jain
 
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS SummitTransform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS SummitAmazon Web Services
 
Transform to Serverless with Dynatrace
Transform to Serverless with DynatraceTransform to Serverless with Dynatrace
Transform to Serverless with DynatraceAmazon Web Services
 
CloudWatch hidden features for debugging serverless application
CloudWatch hidden features for debugging serverless applicationCloudWatch hidden features for debugging serverless application
CloudWatch hidden features for debugging serverless applicationMarko (ServerlessLife)
 
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS SummitTransform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS SummitAmazon Web Services
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...Data Con LA
 
Scaling up uber's real time data analytics
Scaling up uber's real time data analyticsScaling up uber's real time data analytics
Scaling up uber's real time data analyticsXiang Fu
 
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...Khai Tran
 
Understanding time in structured streaming
Understanding time in structured streamingUnderstanding time in structured streaming
Understanding time in structured streamingdatamantra
 
Reducing Latency and Increasing Performance while Cutting Infrastructure Costs
Reducing Latency and Increasing Performance while Cutting Infrastructure CostsReducing Latency and Increasing Performance while Cutting Infrastructure Costs
Reducing Latency and Increasing Performance while Cutting Infrastructure CostsAmazon Web Services
 
Serverless Event Streaming with Pulsar Functions
Serverless Event Streaming with Pulsar FunctionsServerless Event Streaming with Pulsar Functions
Serverless Event Streaming with Pulsar FunctionsStreamNative
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesEd Hunter
 
#TwitterRealTime - Real time processing @twitter
#TwitterRealTime - Real time processing @twitter#TwitterRealTime - Real time processing @twitter
#TwitterRealTime - Real time processing @twitterTwitter Developers
 
Datadogoverview.pptx
Datadogoverview.pptxDatadogoverview.pptx
Datadogoverview.pptxssuser8bc443
 
AWS Techniques and lessons writing low cost autoscaling GitLab runners
AWS Techniques and lessons writing low cost autoscaling GitLab runnersAWS Techniques and lessons writing low cost autoscaling GitLab runners
AWS Techniques and lessons writing low cost autoscaling GitLab runnersAnthony Scata
 
Performance Monitoring at Spreadshirt
Performance Monitoring at SpreadshirtPerformance Monitoring at Spreadshirt
Performance Monitoring at SpreadshirtMartin Breest
 

Similar to My Talk Slides for Clojured Berlin 2019 (20)

Understanding Business APIs through statistics
Understanding Business APIs through statisticsUnderstanding Business APIs through statistics
Understanding Business APIs through statistics
 
DEM09 [Repeat] Fearless: From Monolith to Serverless with Dynatrace
DEM09 [Repeat] Fearless: From Monolith to Serverless with DynatraceDEM09 [Repeat] Fearless: From Monolith to Serverless with Dynatrace
DEM09 [Repeat] Fearless: From Monolith to Serverless with Dynatrace
 
DEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with DynatraceDEM04 Fearless: From Monolith to Serverless with Dynatrace
DEM04 Fearless: From Monolith to Serverless with Dynatrace
 
Extracting Insights from Data at Twitter
Extracting Insights from Data at TwitterExtracting Insights from Data at Twitter
Extracting Insights from Data at Twitter
 
Platform events
Platform eventsPlatform events
Platform events
 
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS SummitTransform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace - DEM04 - Toronto AWS Summit
 
Transform to Serverless with Dynatrace
Transform to Serverless with DynatraceTransform to Serverless with Dynatrace
Transform to Serverless with Dynatrace
 
CloudWatch hidden features for debugging serverless application
CloudWatch hidden features for debugging serverless applicationCloudWatch hidden features for debugging serverless application
CloudWatch hidden features for debugging serverless application
 
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS SummitTransform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS Summit
Transform Fearlessly to Serverless with Dynatrace 2 - DEM07 - Toronto AWS Summit
 
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
Big Data Day LA 2016/ Hadoop/ Spark/ Kafka track - Building an Event-oriented...
 
Scaling up uber's real time data analytics
Scaling up uber's real time data analyticsScaling up uber's real time data analytics
Scaling up uber's real time data analytics
 
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...
Conquering the Lambda architecture in LinkedIn metrics platform with Apache C...
 
Understanding time in structured streaming
Understanding time in structured streamingUnderstanding time in structured streaming
Understanding time in structured streaming
 
Reducing Latency and Increasing Performance while Cutting Infrastructure Costs
Reducing Latency and Increasing Performance while Cutting Infrastructure CostsReducing Latency and Increasing Performance while Cutting Infrastructure Costs
Reducing Latency and Increasing Performance while Cutting Infrastructure Costs
 
Serverless Event Streaming with Pulsar Functions
Serverless Event Streaming with Pulsar FunctionsServerless Event Streaming with Pulsar Functions
Serverless Event Streaming with Pulsar Functions
 
Netflix SRE perf meetup_slides
Netflix SRE perf meetup_slidesNetflix SRE perf meetup_slides
Netflix SRE perf meetup_slides
 
#TwitterRealTime - Real time processing @twitter
#TwitterRealTime - Real time processing @twitter#TwitterRealTime - Real time processing @twitter
#TwitterRealTime - Real time processing @twitter
 
Datadogoverview.pptx
Datadogoverview.pptxDatadogoverview.pptx
Datadogoverview.pptx
 
AWS Techniques and lessons writing low cost autoscaling GitLab runners
AWS Techniques and lessons writing low cost autoscaling GitLab runnersAWS Techniques and lessons writing low cost autoscaling GitLab runners
AWS Techniques and lessons writing low cost autoscaling GitLab runners
 
Performance Monitoring at Spreadshirt
Performance Monitoring at SpreadshirtPerformance Monitoring at Spreadshirt
Performance Monitoring at Spreadshirt
 

Recently uploaded

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)Suman Mia
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 

Recently uploaded (20)

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)Software Development Life Cycle By  Team Orange (Dept. of Pharmacy)
Software Development Life Cycle By Team Orange (Dept. of Pharmacy)
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 

My Talk Slides for Clojured Berlin 2019

  • 2. About (def about-me {:name “Abhishek Anand Amralkar” :shortname “@aaa” :from “Talentica Software Pvt. Ltd” :social { :blog “https://medium.com/@aamralkar” :twitter “https://twitter.com/aamralkar” :github “https://github.com/abhishekamralkar”} })
  • 3. Agenda ● What is Riemann? ● Why Riemann? ● Concepts of Riemann ○ Indexes ○ Streams ○ Events ● Configuration walk through
  • 4. Why Monitoring? ● Business Risks ● Capacity Planning. ● To comply to SLA’s promised to customers.
  • 5. Why Monitoring? ● Stability ● Systems are getting complex. Humans needs Sleep.
  • 6. What needs to be Monitored? ● Cloud ● Infrastructure ● Operating Systems ● Business Applications
  • 7. Types of Monitoring ● Push ● Pull
  • 8. Types of Monitoring ● Customers -- The Good ones who send email/chat to support and tell them “Dear XYZ your application foobar module is not working. Please check”
  • 9. Challenges in Distributed Systems Monitoring? ● Hundreds of machines. ● Hundreds of thousands of metrics every second. ● Metrics to Monitor? ● Metrics to set Alert? ● Alert Frequency?
  • 10. Challenges in Distributed Systems Monitoring? ● Storage of useful metrics ● Real Time metrics ● Monitoring Cost ● Informative Dashboards
  • 11. What is Riemann? In one word “ Riemann is an Event Aggregator” ● A monitoring tool that aggregates events from servers and applications. ● Riemann uses powerful stream processing language written in Clojure to aggregate the events.
  • 12. Why Riemann? ● Written in Clojure. ● Low latency events processing monitoring engine. ● Streams are Clojure functions which makes it highly adaptable. ● Riemann configuration file is a Clojure Program.
  • 13. Why Riemann? ● Monitoring as a Code. ● Can monitor anything. ● Comes with its own Instrumentation - measures own performance. ● Can send alerts via Email, Chat, SMS and many more.. ● Can get connected to back end time series databases InfluxDB and Graphite to store metrics for historical data.
  • 15. How an Event Looks Like? A Clojure map (immutable for sure)
  • 16. Riemann Events ● Events in Riemann are the base construct. ● Riemann receives events and processes them. ● Events fields are referred by Keywords in config like :host, :service, :tags. ● Apart from the standard fields, custom fields can also be sent in the event.
  • 17.
  • 18. Riemann Streams ● Streams are Clojure functions that we can define. ● Streams are defined in stream section of the Riemann config file. ● Streams can have a child stream. ● Events get passed to the streams for aggregation, modification and alerting. ● Riemann config can have as many streams.
  • 19. Riemann Indexes ● Table of current state of all services tracked by Riemann. ● Each event is uniquely indexed by its host and service. The index just keeps track of the most recent event for a given (host, service) pair. ● Index can have TTL (time to leave).
  • 20.
  • 21. In built Filtering Streams ● where ● match ● tagged ● expired
  • 22. Rate Events Streams ● rollup ● throttle
  • 23. Coalesce ● Emits last event from host and service. ● Common aggregation of events from multiple host. ● Useful for Distributed Systems
  • 24.
  • 25. Events Grouping ● moving-time-window ● moving-event-window ● fixed-time-window ● fixed-event-window
  • 26. Time for Action ● We will demonstrate how to send Zookeeper metrics to Riemann and InfluxDB.

Editor's Notes

  1. The event is the base construct of Riemann. Events flow into Riemann and can be processed, counted, collected, manipulated, or exported to other systems. A Riemann event is a struct that Riemann treats as an immutable map.Inside our Riemann configuration, we’ll generally refer to an event field using keywords. Remember that keywords are often used to identify the key in a key/value pair in a map and that our event is an immutable map. We identify keywords by their :prefix. So, the host field would be referenced as :host. A Riemann event can also be supplemented with optional custom fields. You can configure additional fields when you create the event, or you can add additional fields to the event as it is being processed — for example, you could add a field containing a summary or derived metrics to an event.
  2. Each arriving event is added to one or more streams. You define streams in the (streams section of your Riemann configuration. Streams are functions you can pass events to for aggregation, modification, or escalation. Streams can also have child streams that they can pass events to. This allows for filtering or partitioning of the event stream, such as by only selecting events from specific hosts or services. You can think of streams like plumbing in the real world. Events enter the plumbing system, flow through pipes and tunnels, collect in tanks and dams, and are filtered by grates and drains. You can have as many streams as you like and Riemann provides a powerful stream processing language that allows you to select the events relevant to a specific stream. For example, you could select events from a specific host or service that meets some other criteria. Like your plumbing, though, streams are designed for events to flow through them and for limited or no state to be retained. For many purposes, however, we do need to retain some state. To manage this state Riemann has the index.
  3. Riemann indexes are sort for copy for the last events for each server and service. It is also a cache. Riemann sends a fack event expired.
  4. Where takes a predicate, which is a special expression for matching events. After the predicate, where takes any number of child streams, each of which will receive events which the predicate matched. For example, we could email only events which have state "error". The where stream provides some syntactic sugar to allow you to access your event fields. In a where stream you can refer to "standard" fields like host, service, description, metric, and ttl by name. If you need to refer to another field you need to reference the full field name, (:field_name event).
  5. Rollup will allow a few events to pass through readily. Then it starts to accumulate events, rolling them up into a list which is submitted at the end of a given time interval. Let's define a new stream for alerting the operations team, which sends only five emails per hour (3600 seconds). We'll receive the first four events immediately--and at the end of the hour, a single email with a summary of all the rest. Rollup is memory hogger as it keeps all events in memory till the defined time hence always try to use throttle which will send 5 events and ignores rest of the events.
  6. The coalesce stream remembers the latest events from each host and service, and sends them all as a vector to its children. We can map that vector of events to a single event--the one with the largest metric--using folds/maximum. Then we just set the service and host, since this event pertains to the system as a whole.
  7. moving-time-window forwards the last n seconds of events moving-event-window forwards the last n events fixed-time-window forwards events from disjoint n-second windows fixed-event-window forwards disjoint sequences of n events