SlideShare a Scribd company logo
1 of 16
Download to read offline
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Active/Active HA for
Central Agent
Fabio Giannetti
July 2014
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2
The Source (No Discovery)
- name: cpu_source
interval: 400
meters:
- "cpu"
sinks:
- cpu_sink
Compute (Nova)
Name Type Unit Resource
instance g Instanc
e
inst ID
instance:<type> g Instanc
e
inst ID
memory g MB inst ID
memory.usage g MB inst ID
cpu c Ns inst ID
cpu_util g % inst ID
…
ceilometer.poll.compute =
….
cpu = ceilometer.compute.pollsters.cpu:CPUPollster
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3
The Source (Discovery)
- name: lb_pool_source
interval: 600
meters:
- "network.services.lb.pool"
discovery:
- "lb_pools"
sinks:
- meter_sink
Name Type Unit Resource
network.services.lb.pool g pool pool ID
network.services.lb.vip g vip vip ID
network.services.lb.member g member member ID
…
Load Balancer as a Service (LBaaS)
lb_pools =
ceilometer.network.services.discovery:LBPoolsDiscovery
network.services.lb.pool =
ceilometer.network.services.lbaas:LBPoolPollster
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4
Step 1: Normalization of Sources
- name: lb_pool_source
interval: 600
meters:
- "network.services.lb.pool"
discovery:
- "lb_pools"
sinks:
- meter_sink
source interval pollster discovery
lb_pool_source 600 ceilometer.network.services.lbaas:LBPoolPollster ceilometer.network.services.discovery:LBPoo
lsDiscovery
cpu_source 400 ceilometer.compute.pollsters.cpu:CPUPollster ceilometer.compute.discovery:InstanceDi
scovery
- name: cpu_source
interval: 400
meters:
- "cpu"
sinks:
- cpu_sink
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5
Step 2a: Sources Discovery
source interval pollster discovery agentID agentPID agentIP timestamp Status
lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 0002 25425 aa.aa.aa.aa T0 Ready
cpu_source 400 CPUPollster InstanceDiscovery 000N 76746 bb.bb.bb.bb T0 Ready
Discovery
Agent 1
Discovery
Agent 2
Discovery
Agent 3
Discovery
Agent N
…
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6
Step 2b: Sources Discovery
source interval pollster discovery agentID agentPID agentIP timestamp status
lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 0002 25425 aa.aa.aa.aa T1 Working
Discovery
Agent 2
LBPoolsDiscovery
Thread
ID source resource interval pollster agentID agentPID agentIP timestamp status
001 lb_pool_source location_1 600 LBPoolPollster T2 Ready
002 lb_pool_source location_2 600 LBPoolPollster T2 Ready
003 lb_pool_source location_3 600 LBPoolPollster T2 Ready
Create or Update (if changes)
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7
Step 2b: Sources Discovery
Discovery
Agent N
InstanceDiscovery
Thread
ID source resource interval pollster agentID agentPID agentIP timestamp status
004 cpu_source location_4 400 CPUPollster T2 Ready
005 cpu_source location_5 400 CPUPollster T2 Ready
Create or Update (if changes)
source interval pollster discovery agentID agentPID agentIP timestamp status
cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb T1 Working
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8
Step 3: Polling Task Assignments (Scenario 1)
ID source resource interval pollster agentID agentPID agentIP timestamp status
001 lb_pool_source location_1 600 LBPoolPollster 0003 T2 Ready
002 lb_pool_source location_2 600 LBPoolPollster 0004 T2 Ready
003 lb_pool_source location_3 600 LBPoolPollster 0005 T2 Ready
004 cpu_source location_4 400 CPUPollster 0006 T2 Ready
005 cpu_source location_5 400 CPUPollster 000M T2 Ready
Polling Agent 1
…
Polling Agent 2
Polling Agent 3
Polling Agent 4
Polling Agent 5
Polling Agent 6
Polling Agent
M
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9
Step 4: Polling Execution (Scenario 1)
CPUPollster
Thread
Polling Agent 6
RabbitMQ
Resource
PollPublish
ID source resource interval pollster agentID agentPID agentIP timestamp status
004 cpu_source location_4 400 CPUPollster 0006 3242 xx.xx.xx.xx T2 Ready
ID source resource interval pollster agentID agentPID agentIP timestamp status
004 cpu_source location_4 400 CPUPollster T3 Working
RabbitMQ
Subscriber
Agent 1
Sends ping with status=Working
Receives ping and update status
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10
Step 4: Polling Completion → Discovery Ready
CPUPollster
Thread
Polling Agent 6
ID source resource interval pollster agentID agentPID agentIP timestamp status
004 cpu_source location_4 400 CPUPollster 0006 3242 xx.xx.xx.xx T3 Working
ID source resource interval pollster agentID agentPID agentIP timestamp status
004 cpu_source location_4 400 CPUPollster T4 Completed
RabbitMQ
Subscriber
Agent 5
Sends ping with status=Completed
Receives ping and update status
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11
Step 3: Polling Task Assignments (Scenario 2)
ID source resource interval pollster agentID agentPID agentIP timestamp status
001 lb_pool_source location_1 600 LBPoolPollster 0001 … … … Ready
002 lb_pool_source location_2 600 LBPoolPollster 0002 … … … Ready
003 lb_pool_source location_3 600 LBPoolPollster 0003 … … … Ready
004 cpu_source location_4 400 CPUPollster 0001 … … … Ready
005 cpu_source location_5 400 CPUPollster 0002 … … … Ready
Polling Agent 1
Polling Agent 2
Polling Agent 3
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12
Step 4: Polling Execution (Scenario 2)
CPUPollster
Thread
Polling Agent 1
RabbitMQ
Resource
Poll
Publish
LBPoolPollster
Thread
Resource
Poll
Publish
ID source resource interval pollster agentID agentPID agentIP timestamp Status
001 lb_pool_source location_1 600 LBPoolPollster 00001 … … … Ready
004 cpu_source location_4 400 CPUPollster 00001 … … … Ready
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13
Discovery/Polling Agents HA: Homebrew Solution
Discovery
Agent 1
Discovery
Agent 2
Discovery
Agent 3
Discovery
Agent N
…
RabbitMQ
Subscriber
Agent 1
Subscriber
Agent 2
Ping with Status
source inte
rval
pollster discovery agentID agentPID agentIP timestamp status
lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy Working
cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb hh:mm:ssTdd:mm:yyyy No
Response
Updates
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14
Discovery/Polling Agents HA: Homebrew Solution
Discovery
Agent N
RabbitMQ
Subscriber
Agent 1
source inte
rval
pollster discovery agentID agentPID agentIP timestamp status
lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy Working
cpu_source 400 CPUPollster InstanceDiscovery Ready
Restart
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15
Discovery/Polling Agents HA: Taskflow?
Discovery
Agent 1
Discovery
Agent 2
Discovery
Agent 3
Discovery
Agent N
…
Taskflow
source inte
rval
pollster discovery agentID agentPID agentIP timestamp status
lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy OK
cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb hh:mm:ssTdd:mm:yyyy No
Response
Job Table
Zookeeper
© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
Thank you

More Related Content

Similar to Ceilometer Central Agent Active/Active HA Proposal

OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack ArchitectureMirantis
 
Swift profiling middleware and tools
Swift profiling middleware and toolsSwift profiling middleware and tools
Swift profiling middleware and toolszhang hua
 
Scalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with RedisScalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with RedisAvram Lyon
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsMatt Ray
 
Improvements to Flink & it's Applications in Alibaba Search
Improvements to Flink & it's Applications in Alibaba SearchImprovements to Flink & it's Applications in Alibaba Search
Improvements to Flink & it's Applications in Alibaba SearchDataWorks Summit/Hadoop Summit
 
No Apology Required: Deconstructing BB10
No Apology Required: Deconstructing BB10No Apology Required: Deconstructing BB10
No Apology Required: Deconstructing BB10Duo Security
 
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppet
 
High Availability by Design
High Availability by DesignHigh Availability by Design
High Availability by DesignDavid Prinzing
 
Service Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud InternalsService Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud InternalsAleksandr Tarasov
 
Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...HostedbyConfluent
 
Digging deeper into the IE vulnerability CVE-2014-1776 with Cyphort
Digging deeper into the IE vulnerability CVE-2014-1776 with CyphortDigging deeper into the IE vulnerability CVE-2014-1776 with Cyphort
Digging deeper into the IE vulnerability CVE-2014-1776 with CyphortCyphort
 
Projeto-web-services-Spring-Boot-JPA.pdf
Projeto-web-services-Spring-Boot-JPA.pdfProjeto-web-services-Spring-Boot-JPA.pdf
Projeto-web-services-Spring-Boot-JPA.pdfAdrianoSantos888423
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introductionAdam Lowry
 
Cilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCynthia Thomas
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Lucas Jellema
 
Profiling on steroids: Making Apache Spark Fast & Furious
Profiling on steroids: Making Apache Spark Fast & FuriousProfiling on steroids: Making Apache Spark Fast & Furious
Profiling on steroids: Making Apache Spark Fast & FuriousIvan Kosianenko
 
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPFCilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPFDocker, Inc.
 
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPFCilium – Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPFCynthia Thomas
 
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...FFRI, Inc.
 
Leveraging APIs without Programming in FME Server Provisioning
Leveraging APIs without Programming in FME Server ProvisioningLeveraging APIs without Programming in FME Server Provisioning
Leveraging APIs without Programming in FME Server ProvisioningSafe Software
 

Similar to Ceilometer Central Agent Active/Active HA Proposal (20)

OpenStack Architecture
OpenStack ArchitectureOpenStack Architecture
OpenStack Architecture
 
Swift profiling middleware and tools
Swift profiling middleware and toolsSwift profiling middleware and tools
Swift profiling middleware and tools
 
Scalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with RedisScalable Streaming Data Pipelines with Redis
Scalable Streaming Data Pipelines with Redis
 
What Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOpsWhat Big Data Folks Need to Know About DevOps
What Big Data Folks Need to Know About DevOps
 
Improvements to Flink & it's Applications in Alibaba Search
Improvements to Flink & it's Applications in Alibaba SearchImprovements to Flink & it's Applications in Alibaba Search
Improvements to Flink & it's Applications in Alibaba Search
 
No Apology Required: Deconstructing BB10
No Apology Required: Deconstructing BB10No Apology Required: Deconstructing BB10
No Apology Required: Deconstructing BB10
 
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NYPuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
PuppetDB: A Single Source for Storing Your Puppet Data - PUG NY
 
High Availability by Design
High Availability by DesignHigh Availability by Design
High Availability by Design
 
Service Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud InternalsService Discovery. Spring Cloud Internals
Service Discovery. Spring Cloud Internals
 
Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...Getting up to speed with Kafka Connect: from the basics to the latest feature...
Getting up to speed with Kafka Connect: from the basics to the latest feature...
 
Digging deeper into the IE vulnerability CVE-2014-1776 with Cyphort
Digging deeper into the IE vulnerability CVE-2014-1776 with CyphortDigging deeper into the IE vulnerability CVE-2014-1776 with Cyphort
Digging deeper into the IE vulnerability CVE-2014-1776 with Cyphort
 
Projeto-web-services-Spring-Boot-JPA.pdf
Projeto-web-services-Spring-Boot-JPA.pdfProjeto-web-services-Spring-Boot-JPA.pdf
Projeto-web-services-Spring-Boot-JPA.pdf
 
gunicorn introduction
gunicorn introductiongunicorn introduction
gunicorn introduction
 
Cilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPFCilium:: Application-Aware Microservices via BPF
Cilium:: Application-Aware Microservices via BPF
 
Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...Introducing Dapr.io - the open source personal assistant to microservices and...
Introducing Dapr.io - the open source personal assistant to microservices and...
 
Profiling on steroids: Making Apache Spark Fast & Furious
Profiling on steroids: Making Apache Spark Fast & FuriousProfiling on steroids: Making Apache Spark Fast & Furious
Profiling on steroids: Making Apache Spark Fast & Furious
 
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPFCilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium: Kernel Native Security & DDOS Mitigation for Microservices with BPF
 
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPFCilium – Kernel Native Security & DDOS Mitigation for Microservices with BPF
Cilium – Kernel Native Security & DDOS Mitigation for Microservices with BPF
 
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
Android Things Security Research in Developer Preview 2 (FFRI Monthly Researc...
 
Leveraging APIs without Programming in FME Server Provisioning
Leveraging APIs without Programming in FME Server ProvisioningLeveraging APIs without Programming in FME Server Provisioning
Leveraging APIs without Programming in FME Server Provisioning
 

Recently uploaded

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14VMware Tanzu
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationElement34
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit MilanNeo4j
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insightsrapidoform
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfWSO2
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMarkus Moeller
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)Roberto Bettazzoni
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaNeo4j
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConNatan Silnitsky
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfICS
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024MulesoftMunichMeetup
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Varun Mithran
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxNeo4j
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...Neo4j
 

Recently uploaded (20)

Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14Spring into AI presented by Dan Vega 5/14
Spring into AI presented by Dan Vega 5/14
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
Rapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and InsightsRapidoform for Modern Form Building and Insights
Rapidoform for Modern Form Building and Insights
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Turfloop ](+27832195400*)[ 🏥 Women's Abortion Clinic in ...
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...Incident handling is a clearly defined set of procedures to manage and respon...
Incident handling is a clearly defined set of procedures to manage and respon...
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 

Ceilometer Central Agent Active/Active HA Proposal

  • 1. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Active/Active HA for Central Agent Fabio Giannetti July 2014
  • 2. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.2 The Source (No Discovery) - name: cpu_source interval: 400 meters: - "cpu" sinks: - cpu_sink Compute (Nova) Name Type Unit Resource instance g Instanc e inst ID instance:<type> g Instanc e inst ID memory g MB inst ID memory.usage g MB inst ID cpu c Ns inst ID cpu_util g % inst ID … ceilometer.poll.compute = …. cpu = ceilometer.compute.pollsters.cpu:CPUPollster
  • 3. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.3 The Source (Discovery) - name: lb_pool_source interval: 600 meters: - "network.services.lb.pool" discovery: - "lb_pools" sinks: - meter_sink Name Type Unit Resource network.services.lb.pool g pool pool ID network.services.lb.vip g vip vip ID network.services.lb.member g member member ID … Load Balancer as a Service (LBaaS) lb_pools = ceilometer.network.services.discovery:LBPoolsDiscovery network.services.lb.pool = ceilometer.network.services.lbaas:LBPoolPollster
  • 4. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.4 Step 1: Normalization of Sources - name: lb_pool_source interval: 600 meters: - "network.services.lb.pool" discovery: - "lb_pools" sinks: - meter_sink source interval pollster discovery lb_pool_source 600 ceilometer.network.services.lbaas:LBPoolPollster ceilometer.network.services.discovery:LBPoo lsDiscovery cpu_source 400 ceilometer.compute.pollsters.cpu:CPUPollster ceilometer.compute.discovery:InstanceDi scovery - name: cpu_source interval: 400 meters: - "cpu" sinks: - cpu_sink
  • 5. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.5 Step 2a: Sources Discovery source interval pollster discovery agentID agentPID agentIP timestamp Status lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 0002 25425 aa.aa.aa.aa T0 Ready cpu_source 400 CPUPollster InstanceDiscovery 000N 76746 bb.bb.bb.bb T0 Ready Discovery Agent 1 Discovery Agent 2 Discovery Agent 3 Discovery Agent N …
  • 6. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.6 Step 2b: Sources Discovery source interval pollster discovery agentID agentPID agentIP timestamp status lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 0002 25425 aa.aa.aa.aa T1 Working Discovery Agent 2 LBPoolsDiscovery Thread ID source resource interval pollster agentID agentPID agentIP timestamp status 001 lb_pool_source location_1 600 LBPoolPollster T2 Ready 002 lb_pool_source location_2 600 LBPoolPollster T2 Ready 003 lb_pool_source location_3 600 LBPoolPollster T2 Ready Create or Update (if changes)
  • 7. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.7 Step 2b: Sources Discovery Discovery Agent N InstanceDiscovery Thread ID source resource interval pollster agentID agentPID agentIP timestamp status 004 cpu_source location_4 400 CPUPollster T2 Ready 005 cpu_source location_5 400 CPUPollster T2 Ready Create or Update (if changes) source interval pollster discovery agentID agentPID agentIP timestamp status cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb T1 Working
  • 8. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.8 Step 3: Polling Task Assignments (Scenario 1) ID source resource interval pollster agentID agentPID agentIP timestamp status 001 lb_pool_source location_1 600 LBPoolPollster 0003 T2 Ready 002 lb_pool_source location_2 600 LBPoolPollster 0004 T2 Ready 003 lb_pool_source location_3 600 LBPoolPollster 0005 T2 Ready 004 cpu_source location_4 400 CPUPollster 0006 T2 Ready 005 cpu_source location_5 400 CPUPollster 000M T2 Ready Polling Agent 1 … Polling Agent 2 Polling Agent 3 Polling Agent 4 Polling Agent 5 Polling Agent 6 Polling Agent M
  • 9. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.9 Step 4: Polling Execution (Scenario 1) CPUPollster Thread Polling Agent 6 RabbitMQ Resource PollPublish ID source resource interval pollster agentID agentPID agentIP timestamp status 004 cpu_source location_4 400 CPUPollster 0006 3242 xx.xx.xx.xx T2 Ready ID source resource interval pollster agentID agentPID agentIP timestamp status 004 cpu_source location_4 400 CPUPollster T3 Working RabbitMQ Subscriber Agent 1 Sends ping with status=Working Receives ping and update status
  • 10. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.10 Step 4: Polling Completion → Discovery Ready CPUPollster Thread Polling Agent 6 ID source resource interval pollster agentID agentPID agentIP timestamp status 004 cpu_source location_4 400 CPUPollster 0006 3242 xx.xx.xx.xx T3 Working ID source resource interval pollster agentID agentPID agentIP timestamp status 004 cpu_source location_4 400 CPUPollster T4 Completed RabbitMQ Subscriber Agent 5 Sends ping with status=Completed Receives ping and update status
  • 11. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.11 Step 3: Polling Task Assignments (Scenario 2) ID source resource interval pollster agentID agentPID agentIP timestamp status 001 lb_pool_source location_1 600 LBPoolPollster 0001 … … … Ready 002 lb_pool_source location_2 600 LBPoolPollster 0002 … … … Ready 003 lb_pool_source location_3 600 LBPoolPollster 0003 … … … Ready 004 cpu_source location_4 400 CPUPollster 0001 … … … Ready 005 cpu_source location_5 400 CPUPollster 0002 … … … Ready Polling Agent 1 Polling Agent 2 Polling Agent 3
  • 12. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.12 Step 4: Polling Execution (Scenario 2) CPUPollster Thread Polling Agent 1 RabbitMQ Resource Poll Publish LBPoolPollster Thread Resource Poll Publish ID source resource interval pollster agentID agentPID agentIP timestamp Status 001 lb_pool_source location_1 600 LBPoolPollster 00001 … … … Ready 004 cpu_source location_4 400 CPUPollster 00001 … … … Ready
  • 13. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.13 Discovery/Polling Agents HA: Homebrew Solution Discovery Agent 1 Discovery Agent 2 Discovery Agent 3 Discovery Agent N … RabbitMQ Subscriber Agent 1 Subscriber Agent 2 Ping with Status source inte rval pollster discovery agentID agentPID agentIP timestamp status lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy Working cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb hh:mm:ssTdd:mm:yyyy No Response Updates
  • 14. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.14 Discovery/Polling Agents HA: Homebrew Solution Discovery Agent N RabbitMQ Subscriber Agent 1 source inte rval pollster discovery agentID agentPID agentIP timestamp status lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy Working cpu_source 400 CPUPollster InstanceDiscovery Ready Restart
  • 15. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.15 Discovery/Polling Agents HA: Taskflow? Discovery Agent 1 Discovery Agent 2 Discovery Agent 3 Discovery Agent N … Taskflow source inte rval pollster discovery agentID agentPID agentIP timestamp status lb_pool_source 600 LBPoolPollster LBPoolsDiscovery 00002 25425 aa.aa.aa.aa hh:mm:ssTdd:mm:yyyy OK cpu_source 400 CPUPollster InstanceDiscovery 0000N 76746 bb.bb.bb.bb hh:mm:ssTdd:mm:yyyy No Response Job Table Zookeeper
  • 16. © Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Thank you