feat(observability): added dashboards for ingress, victoria-logs, argocd. Added grafana-operator

This commit is contained in:
evdo 2025-06-20 14:19:33 +02:00
parent 13e4dec40c
commit 9625a8cf84
6 changed files with 91 additions and 8 deletions

View file

@ -0,0 +1,26 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: grafana-operator
namespace: argocd
labels:
env: dev
spec:
project: default
syncPolicy:
automated:
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true
destination:
name: in-cluster
namespace: observability
sources:
- chart: grafana-operator
repoURL: ghcr.io/grafana/helm-charts
targetRevision: v5.18.0
releaseName: grafana-operator
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
targetRevision: HEAD
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability/grafana-operator/manifests"

View file

@ -0,0 +1,9 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: argocd
spec:
instanceSelector:
matchLabels:
dashboards: "grafana"
url: "https://raw.githubusercontent.com/argoproj/argo-cd/refs/heads/master/examples/dashboard.json"

View file

@ -0,0 +1,14 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: Grafana
metadata:
name: grafana
labels:
dashboards: "grafana"
spec:
persistentVolumeClaim:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi

View file

@ -0,0 +1,9 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: ingress-nginx
spec:
instanceSelector:
matchLabels:
dashboards: "grafana"
url: "https://raw.githubusercontent.com/adinhodovic/ingress-nginx-mixin/refs/heads/main/dashboards_out/ingress-nginx-overview.json"

View file

@ -0,0 +1,9 @@
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: victoria-logs
spec:
instanceSelector:
matchLabels:
dashboards: "grafana"
url: "https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/refs/heads/master/dashboards/vm/victorialogs.json"

View file

@ -50,7 +50,7 @@ defaultDashboards:
annotations: {}
grafanaOperator:
# -- Create dashboards as CRDs (requires grafana-operator to be installed)
enabled: false
enabled: true
spec:
instanceSelector:
matchLabels:
@ -763,9 +763,9 @@ vmauth:
annotations:
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
cert-manager.io/cluster-issuer: main
host: o12y.{{{ .Env.DOMAIN }}}
host: o12y.observability.think-ahead.cloud
tlsHosts:
- o12y.{{{ .Env.DOMAIN }}}
- o12y.observability.think-ahead.cloud
tlsSecretName: vmauth-tls-secret
unauthorizedUserAccessSpec: {}
selectAllByDefault: true
@ -826,9 +826,14 @@ vmagent:
defaultDatasources:
grafanaOperator:
# -- Create datasources as CRDs (requires grafana-operator to be installed)
enabled: false
enabled: true
annotations: {}
spec:
plugins:
- name: victoriametrics-metrics-datasource
version: 0.16.0
- name: victoriametrics-logs-datasource
version: 0.17.0
instanceSelector:
matchLabels:
dashboards: grafana
@ -869,7 +874,7 @@ defaultDatasources:
# -- Grafana dependency chart configuration. For possible values refer [here](https://github.com/grafana/helm-charts/tree/main/charts/grafana#configuration)
grafana:
enabled: true
enabled: false
# all values for grafana helm chart can be specified here
persistence:
enabled: true
@ -895,15 +900,26 @@ grafana:
enabled: true
multicluster: false
# dashboards:
# default:
# victoria-logs:
# url: "https://raw.githubusercontent.com/VictoriaMetrics/VictoriaMetrics/refs/heads/master/dashboards/vm/victorialogs.json"
# victoria-logs-explorer:
# url: "https://grafana.com/api/dashboards/22759/revisions/6/download"
# ingress-nginx:
# url: "https://raw.githubusercontent.com/adinhodovic/ingress-nginx-mixin/refs/heads/main/dashboards_out/ingress-nginx-overview.json"
# argocd:
# url: "https://raw.githubusercontent.com/argoproj/argo-cd/refs/heads/master/examples/dashboard.json"
# -- Create datasource configmap even if grafana deployment has been disabled
forceDeployDatasource: false
forceDeployDatasource: true
# Uncomment the block below, if you want to enable VictoriaMetrics Datasource in Grafana:
# Note that Grafana will need internet access to install the datasource plugin.
plugins:
- victoriametrics-metrics-datasource
- victoriametrics-logs-datasource
- victoriametrics-metrics-datasource
- victoriametrics-logs-datasource
ingress:
enabled: false