From d08909f78c4c0ce1372013055b72d6547655c450 Mon Sep 17 00:00:00 2001 From: Frank Zhu Date: Mon, 5 Feb 2024 15:59:37 -0600 Subject: [PATCH] add grafana, otel-collector and tempo to helm chart --- charts/chainlink-cluster/Chart.lock | 9 +- charts/chainlink-cluster/Chart.yaml | 8 +- charts/chainlink-cluster/values.yaml | 118 ++++++++++++++++++--------- 3 files changed, 90 insertions(+), 45 deletions(-) diff --git a/charts/chainlink-cluster/Chart.lock b/charts/chainlink-cluster/Chart.lock index eca63fa9f61..9f0b41ee1f3 100644 --- a/charts/chainlink-cluster/Chart.lock +++ b/charts/chainlink-cluster/Chart.lock @@ -4,9 +4,12 @@ dependencies: version: 5.14.0 - name: opentelemetry-collector repository: https://open-telemetry.github.io/opentelemetry-helm-charts - version: 0.78.3 + version: 0.61.0 - name: tempo repository: https://grafana.github.io/helm-charts version: 1.7.1 -digest: sha256:d269e6fcd3f41b53e19845c872a37493ff41da4e146e78bef0d6a75f388b69fa -generated: "2024-01-25T16:39:03.044229-06:00" +- name: grafana + repository: https://grafana.github.io/helm-charts + version: 7.0.0 +digest: sha256:38d02d516e4d03b48134516df9d97ded9e7ca3c489f2fd42d424866da83989c2 +generated: "2024-02-05T15:56:07.875357-06:00" diff --git a/charts/chainlink-cluster/Chart.yaml b/charts/chainlink-cluster/Chart.yaml index a00f489a6aa..5aa53c19de7 100644 --- a/charts/chainlink-cluster/Chart.yaml +++ b/charts/chainlink-cluster/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v2 name: chainlink-cluster description: Chainlink nodes cluster -version: 0.2.0 +version: 0.3.0 appVersion: "2.6.0" dependencies: - name: mockserver @@ -9,10 +9,14 @@ dependencies: repository: "https://www.mock-server.com" condition: mockserver.enabled - name: opentelemetry-collector - version: "0.78.3" + version: "0.61.0" repository: "https://open-telemetry.github.io/opentelemetry-helm-charts" condition: opentelemetry-collector.enabled - name: tempo version: "1.7.1" repository: "https://grafana.github.io/helm-charts" condition: tempo.enabled + - name: grafana + version: "7.0.0" + repository: "https://grafana.github.io/helm-charts" + condition: grafana.enabled diff --git a/charts/chainlink-cluster/values.yaml b/charts/chainlink-cluster/values.yaml index 0693f14df73..de478e35add 100644 --- a/charts/chainlink-cluster/values.yaml +++ b/charts/chainlink-cluster/values.yaml @@ -183,50 +183,88 @@ runner: opentelemetry-collector: enabled: true mode: deployment - receivers: - otlp: - protocols: - grpc: - endpoint: "0.0.0.0:4317" - http: - endpoint: "0.0.0.0:3100" - exporters: - file: - path: /tracing/trace-data.json - otlp: - endpoint: tempo:4317 - tls: - insecure: true - service: - telemetry: - logs: - level: "debug" - pipelines: - traces: - receivers: [otlp] - exporters: [file,otlp] -tempo: - enabled: true - server: - http_listen_port: 3200 - distributor: + image: + repository: otel/opentelemetry-collector + tag: 0.61.0 + command: + name: otelcol + extraVolumes: + - name: trace-data + emptyDir: {} + extraVolumeMounts: + - name: trace-data + mountPath: /tracing + config: receivers: otlp: protocols: - http: grpc: - ingester: - max_block_duration: 5m # cut the headblock when this much time passes. this is being set for demo purposes and should probably be left alone normally - compactor: - compaction: - block_retention: 1h # overall Tempo trace retention. set for demo purposes - storage: - trace: - backend: local # backend configuration to use - wal: - path: /tmp/tempo/wal # where to store the the wal locally - local: - path: /tmp/tempo/blocks + endpoint: "0.0.0.0:4317" + http: + endpoint: "0.0.0.0:3100" + exporters: + file: + path: /tracing/trace-data.json + otlp: + endpoint: tempo:4317 + tls: + insecure: true + service: + telemetry: + logs: + level: "debug" + pipelines: + traces: + receivers: [otlp] + exporters: [file,otlp] + +tempo: + enabled: true + image: + tag: "1.7.1" + server: + http_listen_port: 3200 + # default storage path: /var/tempo/ + readinessProbe: + httpGet: + path: /ready + port: 3200 + initialDelaySeconds: 10 + periodSeconds: 5 + livenessProbe: + httpGet: + path: /ready + port: 3200 + initialDelaySeconds: 20 + periodSeconds: 10 + +grafana: + enabled: true + image: + tag: 7.3.0 + datasources: + datasources.yaml: + apiVersion: 1 + datasources: + - name: Tempo + type: tempo + access: proxy + orgId: 1 + url: http://tempo:3200 + basicAuth: false + isDefault: true + version: 1 + editable: false + uid: tempo + jsonData: + httpMethod: GET + serviceMap: + datasourceUid: prometheus + env: + GF_AUTH_ANONYMOUS_ENABLED: "true" + GF_AUTH_ANONYMOUS_ORG_ROLE: "Admin" + GF_AUTH_DISABLE_LOGIN_FORM: "true" + GF_FEATURE_TOGGLES_ENABLE: "traceqlEditor" ingress: enabled: false