Skip to content

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: "📦&nbsp;<b>Metric&nbsp;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: "🌀&nbsp;<b>Grafana</b><br><span style=\"font-size:11px\">Visualization&nbsp;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: "🗄️&nbsp;<b>Webhook&nbsp;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["🌩️&nbsp;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.