Skip to main content
Version: 0.35.0

Monitoring Enterprise

Weave GitOps Enterprise provides the following telemetry and tooling for monitoring:

Setup

The following configuration options are available for you to configure montoring:

---
apiVersion: helm.toolkit.fluxcd.io/v2beta1
kind: HelmRelease
metadata:
name: weave-gitops-enterprise
namespace: flux-system
spec:
values:
monitoring:
enabled: true # enable it if you want to expose a monitoring server
service:
name: monitoring
port: 8080 # port to expose the monitoring server
metrics:
enabled: true # enable it to expose a prometheus metrics endpoint in `/metrics`
profiling:
enabled: false # enable it to expose a pprof debug endpoint `/debug/pprof`
caution

The monitoring server holds private services, so you likely do not require to expose beyond your cluster. In case you need, ensure that it is properly secured.

Metrics

It generates Prometheus metrics for monitoring both performance and business operations.

Get Started

info

This setup follows Flux Monitoring approach based on Prometheus Operator. Adapt it to your context as needed.

  1. You have enabled the monitoring server with the metrics endpoint.
  2. Install Kube Prometheus Stack.
Expand to see manifest contents
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: weave-gitops-quickstart
namespace: flux-system
spec:
interval: 10m0s
ref:
branch: main
url: https://github.com/weaveworks/weave-gitops-quickstart
---
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: kube-prometheus-stack
namespace: flux-system
spec:
interval: 10m0s
sourceRef:
kind: GitRepository
name: weave-gitops-quickstart
path: ./monitoring/kube-prometheus-stack
prune: true
targetNamespace: monitoring
wait: true
  1. Deploy Weave GitOps Monitoring Config
Expand to see manifest contents
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: monitoring-config
namespace: flux-system
spec:
interval: 10m0s
sourceRef:
kind: GitRepository
name: weave-gitops-quickstart
path: ./monitoring/weave-gitops
dependsOn:
- name: kube-prometheus-stack
prune: true
targetNamespace: monitoring
  1. See the dashboards in Grafana

You could filter by tags flux or weave-gitops

weave gitops dashboard list

Dashboards

Weave Gitops Overview

Monitor Weave Gitops golden signals for API server and Controllers:

weave gitops dashboard list

Weave Gitops Runtime

Monitor Weave Gitops GO runtime metrics like Memory Usage, Memory Heap, Goroutines, etc ...

weave gitops dashboard list

Explorer

Monitor Explorer golden signals. More info here

Profiling

Profiling can be useful during operations to help you to gain a deeper understanding, of how weave gitops runtime behaves. Given Weave GitOps is written in Go, profiling happens through pprof, and it is exposed as web endpoint by pprof http.

Get Started

  1. You have enabled the monitoring server with the profiling endpoint.
  2. Navigate to your monitoring server URL to the /debug/pprof path where the pprof web interface is exposed.

profiling web ui

For further info on using pprof see here