Skip to content

Commit c792495

Browse files
committed
Send Prometheus metrics to Grafana Cloud
1 parent 1895dc5 commit c792495

File tree

5 files changed

+55
-17
lines changed

5 files changed

+55
-17
lines changed

kubernetes/linera-validator/helmfile.yaml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
environments:
2+
default:
3+
values:
4+
- writeToGrafanaCloud: {{ env "LINERA_WRITE_TO_GRAFANA_CLOUD" | default "false" }}
5+
validatorLabel: {{ env "LINERA_VALIDATOR_LABEL" | default (printf "local-%s" (env "USER")) }}
6+
7+
---
8+
19
repositories:
210
- name: scylla
311
url: https://scylla-operator-charts.storage.googleapis.com/stable
@@ -16,22 +24,15 @@ releases:
1624
needs:
1725
- scylla/scylla
1826
values:
19-
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml" }}
27+
{{ if .Values.writeToGrafanaCloud -}}
28+
- grafanaCloudUsername: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_USERNAME_SECRET") | quote }}
29+
grafanaCloudAPIToken: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_API_TOKEN_SECRET") | quote }}
30+
{{- end }}
31+
- writeToGrafanaCloud: {{ .Values.writeToGrafanaCloud }}
32+
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml.gotmpl" }}
2033
set:
2134
- name: installCRDs
2235
value: "true"
23-
- name: validator.serverConfig
24-
value: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
25-
- name: validator.genesisConfig
26-
value: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}
27-
- name: numShards
28-
value: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}
29-
- name: lineraImage
30-
value: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
31-
- name: staticIpGcpName
32-
value: {{ env "LINERA_HELMFILE_STATIC_IP_GCP_NAME" | default "" }}
33-
- name: validatorDomainName
34-
value: {{ env "LINERA_HELMFILE_VALIDATOR_DOMAIN_NAME" | default "" }}
3536
- name: scylla
3637
version: v1.13.0
3738
namespace: scylla
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{{- if .Values.writeToGrafanaCloud }}
2+
apiVersion: v1
3+
kind: Secret
4+
metadata:
5+
name: grafana-cloud-auth-secret
6+
type: kubernetes.io/basic-auth
7+
stringData:
8+
username: {{ .Values.grafanaCloudUsername | quote }}
9+
password: {{ .Values.grafanaCloudAPIToken | quote }}
10+
{{- end }}

kubernetes/linera-validator/templates/scylla-manager-service-monitor.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if not .Values.writeToGrafanaCloud }}
12
apiVersion: monitoring.coreos.com/v1
23
kind: ServiceMonitor
34
metadata:
@@ -15,3 +16,4 @@ spec:
1516
targetLabel: instance
1617
regex: (.*)
1718
replacement: ${1}
19+
{{- end }}

kubernetes/linera-validator/templates/scylla-service-monitor.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{- if not .Values.writeToGrafanaCloud }}
12
apiVersion: monitoring.coreos.com/v1
23
kind: ServiceMonitor
34
metadata:
@@ -31,3 +32,4 @@ spec:
3132
regex: (.*)
3233
replacement: ${1}
3334
action: replace
35+
{{- end }}

kubernetes/linera-validator/values-local.yaml renamed to kubernetes/linera-validator/values-local.yaml.gotmpl

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Values for charts linera-validator for local validators.
22

33
# Linera
4-
lineraImage: "" # Is set by helmfile.
4+
lineraImage: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
55
lineraImagePullPolicy: Never
66
logLevel: "debug"
77
proxyPort: 19100
88
metricsPort: 21100
9-
numShards: 10
9+
numShards: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}
1010

1111
# Loki
1212
loki-stack:
@@ -38,8 +38,29 @@ kube-prometheus-stack:
3838
size: 1Gi
3939
plugins:
4040
- grafana-piechart-panel
41+
{{- if .Values.writeToGrafanaCloud }}
42+
kubeStateMetrics:
43+
enabled: false
44+
{{- end }}
4145
prometheus:
4246
prometheusSpec:
47+
{{- if .Values.writeToGrafanaCloud }}
48+
remoteWrite:
49+
- url: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom/push
50+
basicAuth:
51+
username:
52+
name: grafana-cloud-auth-secret
53+
key: username
54+
password:
55+
name: grafana-cloud-auth-secret
56+
key: password
57+
writeRelabelConfigs:
58+
- source_labels: [__name__]
59+
regex: 'linera_.*'
60+
action: keep
61+
externalLabels:
62+
validator: {{ .Values.validatorLabel }}
63+
{{- end }}
4364
retention: 2d
4465
retentionSize: 1GB
4566
storageSpec:
@@ -56,6 +77,7 @@ kube-prometheus-stack:
5677
# This prevents from adding any Helm label to serviceMonitorSelector if
5778
# above is empty.
5879
serviceMonitorSelectorNilUsesHelmValues: false
80+
{{- if not .Values.writeToGrafanaCloud }}
5981
# Relabelings needed for Scylla dashboards
6082
additionalScrapeConfigs:
6183
- job_name: scylla
@@ -95,11 +117,12 @@ kube-prometheus-stack:
95117
regex: '([0-9]+\.[0-9]+)(\.?[0-9]*).*'
96118
replacement: '$1$2'
97119
target_label: svr
120+
{{- end }}
98121

99122
# Environment
100123
environment: "kind"
101124

102125
# Validator
103126
validator:
104-
serverConfig: "" # Is set by helmfile.
105-
genesisConfig: "" # Is set by helmfile.
127+
serverConfig: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
128+
genesisConfig: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}

0 commit comments

Comments
 (0)