MATIH Platform is in active MVP development. Documentation reflects current implementation status.
18. CI/CD & Build System
Stage 07: CP Monitoring

Stage 07: Control Plane Monitoring

Stage 07 deploys the monitoring stack for control plane services, including Prometheus, Grafana, OpenTelemetry Collector, and Fluent Bit for log aggregation.

Source file: scripts/stages/07-control-plane-monitoring.sh


Components Deployed

ComponentChartNamespacePurpose
Prometheusprometheus-community/kube-prometheus-stackmatih-monitoring-control-planeMetrics collection and alerting
GrafanaBundled with kube-prometheus-stackmatih-monitoring-control-planeDashboard visualization
OpenTelemetry Collectoropen-telemetry/opentelemetry-collectormatih-monitoring-control-planeTrace and metric ingestion
Fluent Bitfluent/fluent-bitmatih-monitoring-control-planeLog collection and forwarding

Helm Repositories

The stage ensures the following Helm repositories are configured:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo add grafana https://grafana.github.io/helm-charts
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
helm repo add fluent https://fluent.github.io/helm-charts

Libraries Used

LibraryPurpose
core/logging.shUnified logging
core/config.shConfiguration and Terraform output access
k8s/namespace.shNamespace creation
k8s/health.shPod health checks
helm/repo.shHelm repository management
helm/deploy.shHelm deployment functions
k8s/dev-secrets.shDev environment secrets

Chart Configuration

The monitoring chart is located at infrastructure/helm/matih-monitoring-control-plane/.

helm upgrade --install matih-monitoring-cp \
    infrastructure/helm/matih-monitoring-control-plane \
    --namespace matih-monitoring-control-plane \
    --create-namespace \
    --wait --timeout 10m

Dependencies

  • Requires: 05a-control-plane-infrastructure, 06-ingress-controller
  • Required by: 08-control-plane-services

Dependency Verification

kubectl get pods -n matih-monitoring-control-plane -l app=prometheus
kubectl get pods -n matih-monitoring-control-plane -l app.kubernetes.io/name=grafana