New to KubeDB? Please start here.

HanaDB Monitoring

KubeDB has native support for monitoring HanaDB via Prometheus. You can use built-in Prometheus discovery or Prometheus Operator to monitor KubeDB-managed HanaDB instances.

Before You Begin

  • Deploy HanaDB first using the quickstart guide.
  • Install Prometheus Operator or another monitoring stack that can scrape Kubernetes services.

Overview

When you create a HanaDB object with spec.monitor configured, KubeDB injects the HanaDB exporter sidecar into the database pod. KubeDB also creates a stats service named {hanadb-name}-stats for scraping the exporter endpoint.

Configure Monitoring

HanaDB monitoring is configured via spec.monitor.

FieldTypeUses
spec.monitor.agentRequiredMonitoring agent type. Use prometheus.io/builtin or prometheus.io/operator.
spec.monitor.prometheus.exporter.portOptionalPort where the exporter sidecar serves metrics. Defaults to 9668.
spec.monitor.prometheus.exporter.argsOptionalArguments passed to the exporter sidecar.
spec.monitor.prometheus.exporter.envOptionalEnvironment variables set in the exporter sidecar.
spec.monitor.prometheus.exporter.resourcesOptionalResource requirements for the exporter sidecar.
spec.monitor.prometheus.serviceMonitor.labelsOptionalLabels added to the ServiceMonitor for Prometheus selection.
spec.monitor.prometheus.serviceMonitor.intervalOptionalScrape interval for Prometheus Operator.

Sample Configuration

apiVersion: kubedb.com/v1alpha2
kind: HanaDB
metadata:
  name: hanadb-prometheus-operator
  namespace: demo
spec:
  version: "2.0.82"
  replicas: 1
  storageType: Durable
  storage:
    storageClassName: local-path
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 64Gi
  monitor:
    agent: prometheus.io/operator
    prometheus:
      exporter:
        port: 9668
      serviceMonitor:
        labels:
          release: prometheus
        interval: 10s
  deletionPolicy: WipeOut

Next Steps