Prometheus Monitoring Overview
Genestack utilizes Prometheus for monitoring, alerting and metrics collection. To read more about Prometheus please take a look at the upstream docs.
Components used to monitor and provide alerting and visualization mechanisms for genestack include:
- Prometheus
- AlertManager
- Grafana
Prometheus makes use of various metric exporters used to collect monitoring data related to specific services:
- Node Exporter(Hardware metrics)
- Kube State Exporter(Kubernetes cluster metrics)
- Mysql Exporter(MariaDB/Galera metrics)
- RabbitMQ Exporter(RabbitMQ queue metrics)
- Postgres Exporter(Postgresql metrics)
- Memcached Exporter(Memcached metrics)
- Openstack Exporter(Metrics from various Openstack products)
- Pushgateway (metrics from short-lived jobs)
- SNMP exporter (for monitoring with SNMP)
---
config:
theme: base
themeVariables:
fontSize: 15px
fontFamily: Inter, Helvetica, Arial
primaryColor: '#1e90ff'
primaryBorderColor: '#1e90ff'
primaryTextColor: '#ffffff'
lineColor: '#cccccc'
secondaryColor: '#fafafa'
tertiaryColor: '#f5f5f5'
edgeLabelBackground: '#f5f5f5'
nodeBorder: rgba(0,0,0,0.4)
clusterBkg: transparent
clusterBorder: rgba(0,0,0,0.4)
flowchart:
curve: basis
nodeSpacing: 25
rankSpacing: 40
layout: dagre
---
flowchart TB
subgraph PROMOPS["Prometheus Operations"]
direction TB
MC@{ label: "📦 <b>Metric Collectors</b><br><span style=\"font-size:11px\">Node Exporter · Kube State · cAdvisor · RabbitMQ · MySQL · OpenStack · Postgres · Memcached</span>" }
PROM(("🔥 Prometheus"))
AM(("🔔 AlertManager"))
end
subgraph FLEX["Cluster"]
direction TB
PROMOPS
GRAF@{ label: "🌀 <b>Grafana</b><br><span style=\"font-size:11px\">Visualization dashboard</span>" }
n1@{ label: "🌀<b>FluentD</b><br><span style=\"font-size:11px\">Log Shipping</span>" }
n2@{ label: "<span style=\"padding-left:\">🌀<b>Liki</b><br><span style=\"font-size:11px\">Log Aggregation</span></span>" }
end
subgraph RACKSPACE["Datacenter"]
direction TB
FLEX
ENC@{ label: "🗄️ <b>Webhook Receiver</b><br><span style=\"font-size:11px\">(creates tickets)</span>" }
n3@{ label: "🗄️<b>Swift</b><br><span style=\"font-size:11px\">(object storage)</span>" }
end
subgraph INTERNET[" "]
direction LR
PD["🌩️ PagerDuty / Email / Slack"]
RACKSPACE
end
MC -. Scrapes .-> PROM
PROM -. Targets .-> MC
PROM --> AM
GRAF -- Queries --> PROM
AM -- Alerts --> PD & ENC
n1 --> n2
n2 --> n3
MC@{ shape: rect}
GRAF@{ shape: rect}
n1@{ shape: rect}
n2@{ shape: rect}
ENC@{ shape: rect}
n3@{ shape: rect}
MC:::collectorNode
PROM:::promNode
AM:::alertNode
GRAF:::grafNode
n1:::grafNode
n2:::grafNode
ENC:::miscNode
n3:::miscNode
PD:::miscNode
classDef promNode fill:#fff3e6,color:#000,stroke:#ff6600,stroke-width:1px
classDef alertNode fill:#ffe6e6,color:#800000,stroke:#ff4d4d,stroke-width:1px
classDef collectorNode fill:#f2f8f2,color:#003300,stroke:#00b300,stroke-width:1px
classDef miscNode fill:#f2f2f2,color:#333,stroke:#999,stroke-width:1px
classDef grafNode fill:#e6f0ff, color:#003366, stroke:#1e90ff, stroke-width:1px
style PROMOPS stroke-width:3px,stroke:#ff6600,rx:6px,ry:6px
style n2 fill:#BBDEFB,color:#000000
style FLEX stroke-width:3px,stroke:#00b300,rx:6px,ry:6px
style RACKSPACE stroke-width:3px,stroke:#ff4d4d,rx:6px,ry:6px
style INTERNET stroke-width:4px,stroke:#1e90ff,rx:6px,ry:6px
linkStyle 0 color:#800080,font-weight:bold,fill:none
linkStyle 1 color:#800080,font-weight:bold,fill:none
linkStyle 2 color:#800080,font-weight:bold,fill:none
linkStyle 3 color:#800080,font-weight:bold,fill:none
linkStyle 4 color:#800080,font-weight:bold,fill:none
linkStyle 5 color:#800080,font-weight:bold,fill:none
Getting started with Genestack monitoring
To get started using monitoring within the Genestack ecosystem begin with the getting started page.