SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
©2018 RingCentral, Inc. Proprietary & Confidential.1
Kapacitor Manager
Yuri Ardulov
Alexey Smirnov
Lyubov Fomicheva
Valery Tishkov
Vyacheslav Shvetsov
©2018 RingCentral, Inc. Proprietary & Confidential.2
Collaborative
Communications
Contact Center
Video & meetings
Cloud PBX
Team messaging
Open Platform
AnalyticsGlobal
User Experience2018 RingCentral,
RingCentral
Product
3 | © 2018 RingCentral, Inc. All rights reserved.
Our Journey
RingCentral
Office
2008
Office for
Enterprise &
Video Meetings
Contact Center,
Team Messaging
& Open Platform
Collaborative
Communications
& Global Office
2014
2015
2016 Analytics
& Quality of
Service
Collaborative
Meetings,
Collaborative
Contact Center
& Pulse
2017
2018
4 | © 2018 RingCentral, Inc. All rights reserved.
RingCentral IP Telecommunication Company
▪ 500000 business customers
▪ 10 data centers across the globe (US, Europe, APAC)
▪ 20K+ servers
▪ 30K simultaneous phone calls
▪ 100K Faxes per day
▪ 20M calls per day
5 | © 2018 RingCentral, Inc. All rights reserved.
Tools Landscape
CMDB
6 | © 2018 RingCentral, Inc. All rights reserved.
From Zabbix to Influx - Starting Points
▪ North America:
• 2 Data Centers
• # of hosts: 10K+
• # of metrics: 2.5M+
• # of triggers: 700K+
▪ Europe and Other:
• Multiple Data Centers
• # of hosts: 5K+
• # of metrics: 700K+
• # of triggers: 250K+
7 | © 2018 RingCentral, Inc. All rights reserved.
Do-It-Yourself (DIY) Framework
8 | © 2018 RingCentral, Inc. All rights reserved.
DIY Framework
▪ Alert As A Code
▪ Send Any Application Metrics
▪ Dash-Board As A Code
▪ Horizontally Scalable
▪ Sand-Box for graduation
▪ Structure independent
▪ Fully automated service
▪ Integration with Deployment systems
9 | © 2018 RingCentral, Inc. All rights reserved.
Goals of the project:
▪ Structure independent
▪ Collect metrics with high granularity
▪ Fully automated service
▪ Integration with Deployment systems
▪ Engineering as self-service:
• Alerting as a code
• Dashboards as a code
• CD support
▪ HA implementation
▪ Metrics collection through http get
10 | © 2018 RingCentral, Inc. All rights reserved.
Design of proposed solution
11 | © 2018 RingCentral, Inc. All rights reserved.
Problems with existing Kapacitor (v1.3)
▪ Low efficiency (Tasks per Instance)
▪ Not responsive under High Load (API stops functioning)
▪ Streaming tasks (1000+ ) cause high CPU load
▪ Batch tasks: if not grouped by InfluxDB utilizing whole CPU ???
▪ Low internal concurrency: Alert node stalls on writing into
Internal Topic (Alerts stops producing)
12 | © 2018 RingCentral, Inc. All rights reserved.
Test Cases
1. Alert node -> .tcp() -> Logstash tcp listener -> Kafka
2. Alert node -> .post() -> Logstash http listener -> Kafka
3. Alert node -> InfluxDBOut() -> Logstash http listener as InfluxDB
cluster -> Kafka
4. Eval node -> InfluxDBOut() -> InfluxDB cluster
▪ Kapacitor instance:
• CPU cores: 24
• RAM: 256 GB
1000 tasks generated in following flow:
1. Put value=1 to Kapacitor /write API.
2. Wait for 0.5 seconds
3. Put value=0 to Kapacitor /write API.
4. Wait for 0.5 seconds
5. Repeat 1-4 for 100 times
13 | © 2018 RingCentral, Inc. All rights reserved.
TestCases
▪ Example: Alert node -> .tcp() -> Logstash tcp listener -> Kafka
▪ Task:
▪ stream
▪ |from()
▪ |alert()
▪ .id('alert-id-{{number}}')
▪ .message('alert message {{number}}')
▪ .info(lambda: "value" == 1)
▪ .details('''{"details": "some details", "fqdn": "test.example.com"}''')
▪ .tcp('172.17.0.1:25000')
14 | © 2018 RingCentral, Inc. All rights reserved.
Results: Case 1
Result:
• Delay between event generation
time and time when event received
by Logstash up to 7 minutes.
• Looks like root cause is .tcp
method which opens TCP
connection for every event.
15 | © 2018 RingCentral, Inc. All rights reserved.
Results: Case 2
Result:
• Delay between event generation
time and time when event received
by Logstash up to 30 seconds.
• Looks much better but delay
increases on increased number of
tasks
16 | © 2018 RingCentral, Inc. All rights reserved.
Results: Case 3
Result:
• Delay between event generation
time and time when event received
by Logstash ~3 seconds.
17 | © 2018 RingCentral, Inc. All rights reserved.
Results: Case 4
5000 tasks generated. The same test case.
Result:
• Events received by InfluxDB cluster in near
real-time.
18 | © 2018 RingCentral, Inc. All rights reserved.
Project Goals
▪ Scalable Solution: 50K+ alerts per location
▪ Increase efficiency –> Maximize the Ratio of tasks per Instance
▪ Manageable Solution -> Dynamically change the tasks
allocation and balancing
▪ No single point of failure
▪ Housekeeping capabilities
▪ Tasks Sand-Boxing as a part of service
▪ RESTfull
19 | © 2018 RingCentral, Inc. All rights reserved.
Kapacitor Manager (KM): Functional Description
20 | © 2018 RingCentral, Inc. All rights reserved.
CEP problems
▪ Single core processing
▪ Low Performance
▪ very bad scalability
21 | © 2018 RingCentral, Inc. All rights reserved.
Open and Closed Events
22 | © 2018 RingCentral, Inc. All rights reserved.
Kapacitor And Event State Change Detection
23 | © 2018 RingCentral, Inc. All rights reserved.
K8S: Deployment Media for KM and Kapacitors Nodes
24 | © 2018 RingCentral, Inc. All rights reserved.
Future Plans
▪ Sand Boxing and Routing
▪ Smart Rebalancing
▪ Open Source
▪ Align with TICK stack upcoming releases
▪ UI
25 | © 2018 RingCentral, Inc. All rights reserved.
THANK YOU
26 | © 2018 RingCentral, Inc. All rights reserved.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

How to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin EcosystemHow to Use Telegraf and Its Plugin Ecosystem
How to Use Telegraf and Its Plugin Ecosystem
 
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
 
OPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACKOPTIMIZING THE TICK STACK
OPTIMIZING THE TICK STACK
 
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
Wayfair Storefront Performance Monitoring with InfluxEnterprise by Richard La...
 
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
Lessons Learned: Running InfluxDB Cloud and Other Cloud Services at Scale | T...
 
WRITING QUERIES (INFLUXQL AND TICK)
WRITING QUERIES (INFLUXQL AND TICK)WRITING QUERIES (INFLUXQL AND TICK)
WRITING QUERIES (INFLUXQL AND TICK)
 
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
How an Open Marine Standard, InfluxDB and Grafana Are Used to Improve Boating...
 
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
How Texas Instruments Uses InfluxDB to Uphold Product Standards and to Improv...
 
InfluxDB 101 - Concepts and Architecture | Michael DeSa | InfluxData
InfluxDB 101 - Concepts and Architecture | Michael DeSa | InfluxDataInfluxDB 101 - Concepts and Architecture | Michael DeSa | InfluxData
InfluxDB 101 - Concepts and Architecture | Michael DeSa | InfluxData
 
Monitoring, Alerting, and Tasks as Code by Russ Savage, Director of Product M...
Monitoring, Alerting, and Tasks as Code by Russ Savage, Director of Product M...Monitoring, Alerting, and Tasks as Code by Russ Savage, Director of Product M...
Monitoring, Alerting, and Tasks as Code by Russ Savage, Director of Product M...
 
Kapacitor Stream Processing
Kapacitor Stream ProcessingKapacitor Stream Processing
Kapacitor Stream Processing
 
Kapacitor - Real Time Data Processing Engine
Kapacitor - Real Time Data Processing EngineKapacitor - Real Time Data Processing Engine
Kapacitor - Real Time Data Processing Engine
 
The Telegraf Toolbelt | David McKay | InfluxData
The Telegraf Toolbelt | David McKay | InfluxDataThe Telegraf Toolbelt | David McKay | InfluxData
The Telegraf Toolbelt | David McKay | InfluxData
 
IT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntop
IT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntopIT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntop
IT Monitoring in the Era of Containers | Luca Deri Founder & Project Lead | ntop
 
Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...
Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...
Vasilis Papavasiliou [Mist.io] | Integrating Telegraf, InfluxDB and Mist to M...
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
 
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...
 
InfluxDB IOx Tech Talks: A Rusty Introduction to Apache Arrow and How it App...
InfluxDB IOx Tech Talks:  A Rusty Introduction to Apache Arrow and How it App...InfluxDB IOx Tech Talks:  A Rusty Introduction to Apache Arrow and How it App...
InfluxDB IOx Tech Talks: A Rusty Introduction to Apache Arrow and How it App...
 
tado° Makes Your Home Environment Smart with InfluxDB
tado° Makes Your Home Environment Smart with InfluxDBtado° Makes Your Home Environment Smart with InfluxDB
tado° Makes Your Home Environment Smart with InfluxDB
 

Ähnlich wie Kapacitor Manager

Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Databricks
 

Ähnlich wie Kapacitor Manager (20)

Iperconvergenza come migliora gli economics del tuo IT
Iperconvergenza come migliora gli economics del tuo ITIperconvergenza come migliora gli economics del tuo IT
Iperconvergenza come migliora gli economics del tuo IT
 
How to Integrate Hyperconverged Systems with Existing SANs
How to Integrate Hyperconverged Systems with Existing SANsHow to Integrate Hyperconverged Systems with Existing SANs
How to Integrate Hyperconverged Systems with Existing SANs
 
Key considerations in productionizing streaming applications
Key considerations in productionizing streaming applicationsKey considerations in productionizing streaming applications
Key considerations in productionizing streaming applications
 
The role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial InformaticsThe role of NoSQL in the Next Generation of Financial Informatics
The role of NoSQL in the Next Generation of Financial Informatics
 
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
Building Event-Driven Microservices using Kafka Streams (Stathis Souris, Thou...
 
Poc exadata 2018
Poc exadata 2018Poc exadata 2018
Poc exadata 2018
 
NetApp HCI
NetApp HCINetApp HCI
NetApp HCI
 
Poc Exadata X7-2 OVM
Poc Exadata X7-2 OVMPoc Exadata X7-2 OVM
Poc Exadata X7-2 OVM
 
Move Out of the Data Center to Reach More Customers
Move Out of the Data Center to Reach More CustomersMove Out of the Data Center to Reach More Customers
Move Out of the Data Center to Reach More Customers
 
The Past, Present, and Future of Apache Flink®
The Past, Present, and Future of Apache Flink®The Past, Present, and Future of Apache Flink®
The Past, Present, and Future of Apache Flink®
 
How to run a bank on Apache CloudStack
How to run a bank on Apache CloudStackHow to run a bank on Apache CloudStack
How to run a bank on Apache CloudStack
 
Yarn optimization (Real life use case)
Yarn optimization (Real life use case)Yarn optimization (Real life use case)
Yarn optimization (Real life use case)
 
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
Large Scale Feature Aggregation Using Apache Spark with Pulkit Bhanot and Ami...
 
TechEvent Exdata X7-2 POC with OVM
TechEvent Exdata X7-2 POC with OVMTechEvent Exdata X7-2 POC with OVM
TechEvent Exdata X7-2 POC with OVM
 
Avoiding Log Data Overload in a CI/CD System: Streaming 190 Billion Events an...
Avoiding Log Data Overload in a CI/CD System: Streaming 190 Billion Events an...Avoiding Log Data Overload in a CI/CD System: Streaming 190 Billion Events an...
Avoiding Log Data Overload in a CI/CD System: Streaming 190 Billion Events an...
 
Big data processing with PubSub, Dataflow, and BigQuery
Big data processing with PubSub, Dataflow, and BigQueryBig data processing with PubSub, Dataflow, and BigQuery
Big data processing with PubSub, Dataflow, and BigQuery
 
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with SchlumbergerGet Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
Get Your Head in the Cloud - Lessons in GPU Computing with Schlumberger
 
Brushing skills on SignalR for ASP.NET developers
Brushing skills on SignalR for ASP.NET developersBrushing skills on SignalR for ASP.NET developers
Brushing skills on SignalR for ASP.NET developers
 
How eStruxture Data Centers is Using ECE to Rapidly Scale Their Business
How eStruxture Data Centers is Using ECE to Rapidly Scale Their BusinessHow eStruxture Data Centers is Using ECE to Rapidly Scale Their Business
How eStruxture Data Centers is Using ECE to Rapidly Scale Their Business
 
Reducing Cost of Production ML: Feature Engineering Case Study
Reducing Cost of Production ML: Feature Engineering Case StudyReducing Cost of Production ML: Feature Engineering Case Study
Reducing Cost of Production ML: Feature Engineering Case Study
 

Mehr von InfluxData

How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
InfluxData
 

Mehr von InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 

Kürzlich hochgeladen

Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Kürzlich hochgeladen (20)

Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 

Kapacitor Manager

  • 1. ©2018 RingCentral, Inc. Proprietary & Confidential.1 Kapacitor Manager Yuri Ardulov Alexey Smirnov Lyubov Fomicheva Valery Tishkov Vyacheslav Shvetsov
  • 2. ©2018 RingCentral, Inc. Proprietary & Confidential.2 Collaborative Communications Contact Center Video & meetings Cloud PBX Team messaging Open Platform AnalyticsGlobal User Experience2018 RingCentral, RingCentral Product
  • 3. 3 | © 2018 RingCentral, Inc. All rights reserved. Our Journey RingCentral Office 2008 Office for Enterprise & Video Meetings Contact Center, Team Messaging & Open Platform Collaborative Communications & Global Office 2014 2015 2016 Analytics & Quality of Service Collaborative Meetings, Collaborative Contact Center & Pulse 2017 2018
  • 4. 4 | © 2018 RingCentral, Inc. All rights reserved. RingCentral IP Telecommunication Company ▪ 500000 business customers ▪ 10 data centers across the globe (US, Europe, APAC) ▪ 20K+ servers ▪ 30K simultaneous phone calls ▪ 100K Faxes per day ▪ 20M calls per day
  • 5. 5 | © 2018 RingCentral, Inc. All rights reserved. Tools Landscape CMDB
  • 6. 6 | © 2018 RingCentral, Inc. All rights reserved. From Zabbix to Influx - Starting Points ▪ North America: • 2 Data Centers • # of hosts: 10K+ • # of metrics: 2.5M+ • # of triggers: 700K+ ▪ Europe and Other: • Multiple Data Centers • # of hosts: 5K+ • # of metrics: 700K+ • # of triggers: 250K+
  • 7. 7 | © 2018 RingCentral, Inc. All rights reserved. Do-It-Yourself (DIY) Framework
  • 8. 8 | © 2018 RingCentral, Inc. All rights reserved. DIY Framework ▪ Alert As A Code ▪ Send Any Application Metrics ▪ Dash-Board As A Code ▪ Horizontally Scalable ▪ Sand-Box for graduation ▪ Structure independent ▪ Fully automated service ▪ Integration with Deployment systems
  • 9. 9 | © 2018 RingCentral, Inc. All rights reserved. Goals of the project: ▪ Structure independent ▪ Collect metrics with high granularity ▪ Fully automated service ▪ Integration with Deployment systems ▪ Engineering as self-service: • Alerting as a code • Dashboards as a code • CD support ▪ HA implementation ▪ Metrics collection through http get
  • 10. 10 | © 2018 RingCentral, Inc. All rights reserved. Design of proposed solution
  • 11. 11 | © 2018 RingCentral, Inc. All rights reserved. Problems with existing Kapacitor (v1.3) ▪ Low efficiency (Tasks per Instance) ▪ Not responsive under High Load (API stops functioning) ▪ Streaming tasks (1000+ ) cause high CPU load ▪ Batch tasks: if not grouped by InfluxDB utilizing whole CPU ??? ▪ Low internal concurrency: Alert node stalls on writing into Internal Topic (Alerts stops producing)
  • 12. 12 | © 2018 RingCentral, Inc. All rights reserved. Test Cases 1. Alert node -> .tcp() -> Logstash tcp listener -> Kafka 2. Alert node -> .post() -> Logstash http listener -> Kafka 3. Alert node -> InfluxDBOut() -> Logstash http listener as InfluxDB cluster -> Kafka 4. Eval node -> InfluxDBOut() -> InfluxDB cluster ▪ Kapacitor instance: • CPU cores: 24 • RAM: 256 GB 1000 tasks generated in following flow: 1. Put value=1 to Kapacitor /write API. 2. Wait for 0.5 seconds 3. Put value=0 to Kapacitor /write API. 4. Wait for 0.5 seconds 5. Repeat 1-4 for 100 times
  • 13. 13 | © 2018 RingCentral, Inc. All rights reserved. TestCases ▪ Example: Alert node -> .tcp() -> Logstash tcp listener -> Kafka ▪ Task: ▪ stream ▪ |from() ▪ |alert() ▪ .id('alert-id-{{number}}') ▪ .message('alert message {{number}}') ▪ .info(lambda: "value" == 1) ▪ .details('''{"details": "some details", "fqdn": "test.example.com"}''') ▪ .tcp('172.17.0.1:25000')
  • 14. 14 | © 2018 RingCentral, Inc. All rights reserved. Results: Case 1 Result: • Delay between event generation time and time when event received by Logstash up to 7 minutes. • Looks like root cause is .tcp method which opens TCP connection for every event.
  • 15. 15 | © 2018 RingCentral, Inc. All rights reserved. Results: Case 2 Result: • Delay between event generation time and time when event received by Logstash up to 30 seconds. • Looks much better but delay increases on increased number of tasks
  • 16. 16 | © 2018 RingCentral, Inc. All rights reserved. Results: Case 3 Result: • Delay between event generation time and time when event received by Logstash ~3 seconds.
  • 17. 17 | © 2018 RingCentral, Inc. All rights reserved. Results: Case 4 5000 tasks generated. The same test case. Result: • Events received by InfluxDB cluster in near real-time.
  • 18. 18 | © 2018 RingCentral, Inc. All rights reserved. Project Goals ▪ Scalable Solution: 50K+ alerts per location ▪ Increase efficiency –> Maximize the Ratio of tasks per Instance ▪ Manageable Solution -> Dynamically change the tasks allocation and balancing ▪ No single point of failure ▪ Housekeeping capabilities ▪ Tasks Sand-Boxing as a part of service ▪ RESTfull
  • 19. 19 | © 2018 RingCentral, Inc. All rights reserved. Kapacitor Manager (KM): Functional Description
  • 20. 20 | © 2018 RingCentral, Inc. All rights reserved. CEP problems ▪ Single core processing ▪ Low Performance ▪ very bad scalability
  • 21. 21 | © 2018 RingCentral, Inc. All rights reserved. Open and Closed Events
  • 22. 22 | © 2018 RingCentral, Inc. All rights reserved. Kapacitor And Event State Change Detection
  • 23. 23 | © 2018 RingCentral, Inc. All rights reserved. K8S: Deployment Media for KM and Kapacitors Nodes
  • 24. 24 | © 2018 RingCentral, Inc. All rights reserved. Future Plans ▪ Sand Boxing and Routing ▪ Smart Rebalancing ▪ Open Source ▪ Align with TICK stack upcoming releases ▪ UI
  • 25. 25 | © 2018 RingCentral, Inc. All rights reserved. THANK YOU
  • 26. 26 | © 2018 RingCentral, Inc. All rights reserved.