Add way to specify namespaces

Signed-off-by: Michel Hollands <michel.hollands@grafana.com>
This commit is contained in:
Michel Hollands 2023-06-19 14:59:50 +01:00
parent e9eba237a1
commit 0f66cad545
4 changed files with 60 additions and 25 deletions

View File

@ -0,0 +1,12 @@
dependencies:
- name: loki
repository: https://grafana.github.io/helm-charts
version: 5.8.0
- name: grafana-agent
repository: https://grafana.github.io/helm-charts
version: 0.15.0
- name: mimir-distributed
repository: https://grafana.github.io/helm-charts
version: 4.4.1
digest: sha256:9238265d064bb85c3607f8be22c32c84837f2115c25978aebf6782b0a125c22c
generated: "2023-06-19T11:29:07.999693+01:00"

View File

@ -0,0 +1,7 @@
{{- define "agent.namespaces" -}}
{{- $list := list }}
{{- range .Values.namespacesToMonitor }}
{{- $list = append $list (printf "\"%s\"" .) }}
{{- end }}
{{- join ", " $list }}
{{- end }}

View File

@ -0,0 +1,34 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: agent-configmap
namespace: {{ .Release.Namespace }}
data:
config.river: |
discovery.kubernetes "pods" {
role = "pod"
namespaces {
names = [ {{ include "agent.namespaces" . }} ]
}
}
loki.source.kubernetes "pods" {
targets = discovery.kubernetes.pods.targets
forward_to = [loki.write.local.receiver]
}
loki.write "local" {
endpoint {
url = "http://{{- .Release.Name -}}-loki.{{- .Release.Namespace -}}.svc.cluster.local:3100/loki/api/v1/push"
}
}
prometheus.scrape "pods" {
targets = discovery.kubernetes.pods.targets
forward_to = [prometheus.remote_write.default.receiver]
}
prometheus.remote_write "default" {
endpoint {
url = "http://{{- .Release.Name -}}-mimir-nginx.{{- .Release.Namespace -}}.svc:80/api/v1/push"
}
}

View File

@ -1,3 +1,8 @@
namespacesToMonitor:
- loki
- mimir
- tempo
loki: loki:
loki: loki:
auth_enabled: false auth_enabled: false
@ -27,31 +32,8 @@ loki:
grafana-agent: grafana-agent:
agent: agent:
configMap: configMap:
create: false
name: "agent-configmap"
key: 'config.river' key: 'config.river'
content: |
discovery.kubernetes "pods" {
role = "pod"
namespaces {
names = ["loki"] // make configurable
}
}
loki.source.kubernetes "pods" {
targets = discovery.kubernetes.pods.targets
forward_to = [loki.write.local.receiver]
}
loki.write "local" {
endpoint {
url = "http://meta-loki.meta.svc.cluster.local:3100/loki/api/v1/push" // set namespace via config
}
}
prometheus.scrape "pods" {
targets = discovery.kubernetes.pods.targets
forward_to = [prometheus.remote_write.default.receiver]
}
prometheus.remote_write "default" {
endpoint {
url = "http://meta-mimir-nginx.meta.svc:80/api/v1/push" // set namespace via config
}
}
# mimir-distributed: # mimir-distributed: