about summary refs log tree commit diff
path: root/tools/monitoring
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--tools/monitoring/Chart.yaml20
-rw-r--r--tools/monitoring/values.yaml81
2 files changed, 101 insertions, 0 deletions
diff --git a/tools/monitoring/Chart.yaml b/tools/monitoring/Chart.yaml
new file mode 100644
index 0000000..fa9f207
--- /dev/null
+++ b/tools/monitoring/Chart.yaml
@@ -0,0 +1,20 @@
+apiVersion: v2
+name: monitoring
+description: A Helm chart for setting up Grafana, Prometheus, Elasticsearch, and OpenTelemetry Collector
+version: 0.1.0
+appVersion: "1.0"
+
+dependencies:
+  - name: grafana
+    version: 11.0.0
+    repository: "https://grafana.github.io/helm-charts"
+  - name: prometheus
+    version: 2.53.0
+    repository: "https://prometheus-community.github.io/helm-charts"
+  - name: elasticsearch
+    version: 8.5.1
+    repository: "https://helm.elastic.co"
+  - name: opentelemetry-collector
+    version: 0.103.0
+    repository: "https://open-telemetry.github.io/opentelemetry-helm-charts"
+
diff --git a/tools/monitoring/values.yaml b/tools/monitoring/values.yaml
new file mode 100644
index 0000000..195209f
--- /dev/null
+++ b/tools/monitoring/values.yaml
@@ -0,0 +1,81 @@
+global:
+  namespace: monitoring
+
+grafana:
+  ingress:
+    enabled: true
+    annotations:
+      traefik.ingress.kubernetes.io/router.entrypoints: websecure
+      traefik.ingress.kubernetes.io/router.tls: "true"
+      traefik.ingress.kubernetes.io/router.tls.certresolver: "default"
+      traefik.ingress.kubernetes.io/redirect-entry-point: https
+    hosts:
+      - grafana.topkek.cloud
+    path: /
+    tls:
+      - hosts:
+          - grafana.topkek.cloud
+        secretName: grafana-tls
+
+  datasources:
+    datasources.yaml:
+      apiVersion: 1
+      datasources:
+        - name: Prometheus
+          type: prometheus
+          access: proxy
+          url: http://prometheus-server.monitoring.svc.cluster.local
+          isDefault: true
+        - name: Elasticsearch
+          type: elasticsearch
+          access: proxy
+          url: http://elasticsearch-master.monitoring.svc.cluster.local:9200
+          jsonData:
+            esVersion: 7
+            timeField: "@timestamp"
+
+prometheus:
+  alertmanager:
+    enabled: true
+  pushgateway:
+    enabled: true
+  server:
+    enabled: true
+
+elasticsearch:
+  volumeClaimTemplate:
+    accessModes: [ "ReadWriteOnce" ]
+    resources:
+      requests:
+        storage: 30Gi
+
+opentelemetry-collector:
+  config:
+    receivers:
+      otlp:
+        protocols:
+          grpc:
+          http:
+    processors:
+      batch:
+    exporters:
+      prometheusremotewrite:
+        endpoint: "http://prometheus-server.monitoring.svc.cluster.local/api/v1/write"
+      logging:
+        loglevel: debug
+      elasticsearch:
+        endpoints: ["http://elasticsearch-master.monitoring.svc.cluster.local:9200"]
+        index: "otel-logs-%{+yyyy.MM.dd}"
+    service:
+      pipelines:
+        metrics:
+          receivers: [otlp]
+          processors: [batch]
+          exporters: [prometheusremotewrite]
+        logs:
+          receivers: [otlp]
+          processors: [batch]
+          exporters: [logging, elasticsearch]
+  otelcol:
+    enabled: true
+