Skip to content

Commit

Permalink
Setup prometheus for monitoring
Browse files Browse the repository at this point in the history
  • Loading branch information
garryod committed Mar 14, 2024
1 parent c82a642 commit cdc4b77
Show file tree
Hide file tree
Showing 4 changed files with 145 additions and 1 deletion.
4 changes: 4 additions & 0 deletions .github/workflows/charts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ jobs:
- name: Setup chart-testing
uses: helm/chart-testing-action@v2.6.1

- name: Install chart dependencies
run: |
helm repo add prometheus https://prometheus-community.github.io/helm-charts
- name: Lint
run: >
ct
Expand Down
6 changes: 6 additions & 0 deletions charts/data-gateway/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: prometheus
repository: https://prometheus-community.github.io/helm-charts
version: 25.17.0
digest: sha256:1567645f0c8c096eb44cd7eadb5e6a694dc19a01911ae41b75dec83ab0e96d4c
generated: "2024-03-14T09:36:26.799022195Z"
7 changes: 6 additions & 1 deletion charts/data-gateway/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,10 @@ name: data-gateway
description: A GraphQL router deployment forming the Diamond Data Gateway
type: application

version: 0.1.0
version: 0.2.0

dependencies:
- name: prometheus
repository: https://prometheus-community.github.io/helm-charts
version: 25.17.0
condition: prometheus.enabled
129 changes: 129 additions & 0 deletions charts/data-gateway/values.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
prometheus:
enabled: true
kube-state-metrics:
enabled: false
prometheus-node-exporter:
enabled: false
prometheus-pushgateway:
enabled: false
rbac:
create: false
configmapReload:
prometheus:
resources:
limits:
cpu: 50m
memory: 400Mi
serviceAccounts:
prometheus-node-exporter:
create: false
name: default-full-access-mounted
pushgateway:
create: false
name: default-full-access-mounted
server:
create: false
name: default-full-access-mounted
alertmanager:
persistence:
enabled: false
server:
persistentVolume:
enabled: false
serverFiles:
prometheus.yml:
scrape_configs:
- job_name: prometheus
static_configs:
- targets:
- localhost:9090
- job_name: "kubernetes-service-endpoints"
kubernetes_sd_configs:
- role: endpoints
namespaces:
own_namespace: true
relabel_configs:
- source_labels:
[__meta_kubernetes_service_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels:
[__meta_kubernetes_service_annotation_prometheus_io_scheme]
action: replace
target_label: __scheme__
regex: (https?)
- source_labels:
[__meta_kubernetes_service_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels:
[
__address__,
__meta_kubernetes_service_annotation_prometheus_io_port,
]
action: replace
target_label: __address__
regex: (.+?)(?::\d+)?;(\d+)
replacement: $1:$2
- action: labelmap
regex: __meta_kubernetes_service_annotation_prometheus_io_param_(.+)
replacement: __param_$1
- action: labelmap
regex: __meta_kubernetes_service_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: service
- source_labels: [__meta_kubernetes_pod_node_name]
action: replace
target_label: node
- job_name: "kubernetes-pods"
kubernetes_sd_configs:
- role: pod
namespaces:
own_namespace: true
relabel_configs:
- source_labels:
[__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels:
[__meta_kubernetes_pod_annotation_prometheus_io_scrape]
action: keep
regex: true
- source_labels:
[__meta_kubernetes_pod_annotation_prometheus_io_scheme]
action: replace
regex: (https?)
target_label: __scheme__
- source_labels:
[__meta_kubernetes_pod_annotation_prometheus_io_path]
action: replace
target_label: __metrics_path__
regex: (.+)
- source_labels:
[
__address__,
__meta_kubernetes_pod_annotation_prometheus_io_port,
]
action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_annotation_prometheus_io_param_(.+)
replacement: __param_$1
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: namespace
- source_labels: [__meta_kubernetes_pod_name]
action: replace
target_label: pod
- source_labels: [__meta_kubernetes_pod_phase]
regex: Pending|Succeeded|Failed|Completed
action: drop

0 comments on commit cdc4b77

Please sign in to comment.