Open Infrastructure Summit 2019
Demonstrating At Scale Monitoring Of OpenStack Cloud Using Prometheus
Anandeep Pannu apannu@redhat.com Pradeep Kilambi prad@redhat.com
1
Demonstrating At Scale Monitoring Of OpenStack Cloud Using - - PowerPoint PPT Presentation
Open Infrastructure Summit 2019 Demonstrating At Scale Monitoring Of OpenStack Cloud Using Prometheus Anandeep Pannu Pradeep Kilambi apannu@redhat.com prad@redhat.com 1 Definitions 3 4
Open Infrastructure Summit 2019
Anandeep Pannu apannu@redhat.com Pradeep Kilambi prad@redhat.com
1
○ E.g Fault management uses message bus directly
component, so metrics can be incorporated automatically
○ Either, some or all processed at the Edge
kernel net cpu mem hardware syslog /proc pid V M V M V M
Application Components (VM, Container); Controller, Compute, Ceph, RHEV, OpenShift Nodes (All Infrastructure Nodes) 3rd Party Integrations Prometheus Operator MGMT Cluster
APIs
Prometheus-based K8S Monitoring
Server A Server B Client Client Client Server C
AMQP OS Networks
ceph cntrl 1 cntrl 2 cntrl 3 Prometheus Operator++ Cluster Prometheus Grafana QDR QDR QDR S G S G S G
ceph ceph ceph compute compute compute compute
AMQP OS Networks
ceph cntrl 1 cntrl 2 cntrl 3 ceph ceph ceph compute compute compute compute
AMQP OS Networks
ceph cntrl 1 cntrl 2 cntrl 3 ceph ceph ceph compute compute compute compute
AMQP OS Networks
ceph cntrl 1 cntrl 2 cntrl 3 ceph ceph ceph compute compute compute compute
Layer 3 Network to Remote Sites
Site 1 Site 2 Site 10
L3 Routed
Controller Nodes
OPTIONAL
AZ0 Compute Nodes
(Local Ephemeral)
Undercloud +Container Registry Ceph Cluster 0
OPTIONAL
Primary Site DCN Site 1
AZ1 Compute Nodes
(Local Ephemeral)
DCN Site 2
AZ2 Compute Nodes
(Local Ephemeral)
DCN Site 3
AZ3 Compute Nodes
(Local Ephemeral)
DCN Site 4
AZ4 Compute Nodes
(Local Ephemeral)
DCN Site n
AZn Compute Nodes
(Local Ephemeral)
AZ0
Deployment Stack
## This environment template to enable Service Assurance Client side bits resource_registry: OS::TripleO::Services::MetricsQdr: ../docker/services/metrics/qdr.yaml OS::TripleO::Services::Collectd: ../docker/services/metrics/collectd.yaml parameter_defaults: CollectdConnectionType: amqp1 CollectdAmqpInstances: notify: notify: true format: JSON presettle: true telemetry: format: JSON presettle: false
environments/metrics-collectd-qdr.yaml
cat > params.yaml <<EOF
CollectdConnectionType: amqp1 CollectdAmqpInstances: telemetry: format: JSON presettle: true MetricsQdrConnectors:
port: 443 role: edge sslProfile: tlsProfile verifyHostname: false EOF
cd ~/tripleo-heat-templates git checkout master cd ~ cp overcloud-deploy.sh overcloud-deploy-overcloud.sh sed -i 's/usr\/share\/openstack-/home\/stack\//g' overcloud-deploy-overcloud.sh ./overcloud-deploy-overcloud.sh -e /usr/share/openstack-tripleo-heat-templates/environments/metrics-collectd-qdr.yaml -e /home/stack/params.yaml
There are 3 core components to the telemetry framework:
Each of these components has a corresponding Operator that we'll use to spin up the various application components and objects.
To deploy telemetry framework from the script, simply run the following command after cloning the telemetry-framework repo[1] into the following directory.
cd ~/src/github.com/redhat-service-assurance/telemetry-framework/deploy/ ./deploy.sh CREATE
[1] https://github.com/redhat-service-assurance/telemetry-framework
/Metrics
/Metrics
Prometheus Server PromQL HTTP HTTP