apiVersion: helm.toolkit.fluxcd.io/v2beta1 kind: HelmRelease metadata: name: kube-prometheus-stack namespace: monitoring spec: interval: 5m chart: spec: # renovate: registryUrl=https://prometheus-community.github.io/helm-charts chart: kube-prometheus-stack version: 12.7.0 sourceRef: kind: HelmRepository name: prometheus-community-charts namespace: flux-system interval: 5m timeout: 20m values: server: resources: requests: memory: 1500Mi cpu: 200m limits: memory: 2000Mi prometheusOperator: createCustomResource: true alertmanager: alertmanagerSpec: storage: volumeClaimTemplate: spec: storageClassName: longhorn resources: requests: storage: 10Gi nodeExporter: serviceMonitor: relabelings: - action: replace regex: (.*) replacement: $1 sourceLabels: - __meta_kubernetes_pod_node_name targetLabel: kubernetes_node kubelet: serviceMonitor: metricRelabelings: - action: replace sourceLabels: - node targetLabel: instance grafana: dashboards: default: kubernetes-custom: url: https://raw.githubusercontent.com/auricom/home-cluster/raw/branch/master/cluster/monitoring/grafana-dashboards/kubernetes-custom.json datasource: Prometheus pfsense-dashboard: url: https://raw.githubusercontent.com/auricom/home-cluster/raw/branch/master/cluster/monitoring/grafana-dashboards/pfsense.json datasource: influxdb-pfsense truenas-dashboard: url: https://raw.githubusercontent.com/auricom/home-cluster/raw/branch/master/cluster/monitoring/grafana-dashboards/truenas.json datasource: influxdb-graphite deploymentStrategy: type: Recreate persistence: enabled: true storageClassName: "longhorn" size: 10Gi accessModes: - ReadWriteOnce env: GF_EXPLORE_ENABLED: true GF_DISABLE_SANITIZE_HTML: true GF_PANELS_DISABLE_SANITIZE_HTML: true plugins: - natel-discrete-panel - pr0ps-trackmap-panel - grafana-piechart-panel - vonage-status-panel - https://github.com/panodata/grafana-map-panel/releases/download/0.9.0/grafana-map-panel-0.9.0.zip;grafana-worldmap-panel-ng dashboardProviders: dashboardproviders.yaml: apiVersion: 1 providers: - name: 'default' orgId: 1 folder: '' type: file disableDeletion: false editable: true options: path: /var/lib/grafana/dashboards/default sidecar: datasources: enabled: true defaultDatasourceEnabled: false dashboards: enabled: true searchNamespace: ALL additionalDataSources: - name: Prometheus type: prometheus access: proxy url: http://thanos-query-http:10902/ isDefault: true - name: loki type: loki access: proxy url: http://loki.logging.svc.cluster.local:3100/ - name: influxdb-pfsense type: influxdb acces: server url: http://influxdb:8086/ database: pfsense user: pfsense - name: influxdb-rpi-os type: influxdb acces: server url: http://influxdb:8086/ database: rpi-os user: rpi-os - name: influxdb-graphite type: influxdb database: graphite acces: server url: http://influxdb:8086/ - name: influxdb-home_assistant type: influxdb acces: server url: http://influxdb:8086/ database: home_assistant grafana.ini: paths: data: /var/lib/grafana/data logs: /var/log/grafana plugins: /var/lib/grafana/plugins provisioning: /etc/grafana/provisioning analytics: check_for_updates: true log: mode: console grafana_net: url: https://grafana.net smtp: enabled: false kubeEtcd: enabled: false kubeControllerManager: enabled: false kubeScheduler: enabled: false kubeProxy: enabled: false prometheus: prometheusSpec: replicas: 2 replicaExternalLabelName: "replica" ruleSelector: {} ruleNamespaceSelector: {} ruleSelectorNilUsesHelmValues: false serviceMonitorSelector: {} serviceMonitorNamespaceSelector: {} serviceMonitorSelectorNilUsesHelmValues: false podMonitorSelector: {} podMonitorNamespaceSelector: {} podMonitorSelectorNilUsesHelmValues: false retention: 6h enableAdminAPI: true walCompression: true storageSpec: volumeClaimTemplate: spec: storageClassName: longhorn resources: requests: storage: 10Gi thanos: image: quay.io/thanos/thanos:v0.15.0 version: v0.15.0 objectStorageConfig: name: thanos key: object-store.yaml additionalScrapeConfigs: # Example scrape config for probing ingresses via the Blackbox Exporter. # # The relabeling allows the actual ingress scrape endpoint to be configured # via the following annotations: # # * `prometheus.io/probe`: Only probe ingresses that have a value of `true` - job_name: 'kubernetes-ingresses' metrics_path: /probe params: module: [http_2xx] kubernetes_sd_configs: - role: ingress relabel_configs: - source_labels: [__meta_kubernetes_ingress_annotation_prometheus_io_probe] action: keep regex: true - source_labels: [__meta_kubernetes_ingress_scheme,__address__,__meta_kubernetes_ingress_path] regex: (.+);(.+);(.+) replacement: ${1}://${2}${3} target_label: __param_target - target_label: __address__ replacement: blackbox-exporter-prometheus-blackbox-exporter:9115 - source_labels: [__param_target] target_label: instance - action: labelmap regex: __meta_kubernetes_ingress_label_(.+) - source_labels: [__meta_kubernetes_namespace] target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_ingress_name] target_label: kubernetes_name - job_name: 'kubernetes-services-http' metrics_path: /probe params: module: [http_2xx] kubernetes_sd_configs: - role: service relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] action: keep regex: true - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_protocol] action: keep regex: http - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: blackbox-exporter-prometheus-blackbox-exporter:9115 - source_labels: [__param_target] target_label: instance - action: labelmap regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_service_name] target_label: kubernetes_name - job_name: 'kubernetes-services-tcp' metrics_path: /probe params: module: [tcp_connect] kubernetes_sd_configs: - role: service relabel_configs: - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_probe] action: keep regex: true - source_labels: [__meta_kubernetes_service_annotation_prometheus_io_protocol] action: keep regex: tcp - source_labels: [__address__] target_label: __param_target - target_label: __address__ replacement: blackbox-exporter-prometheus-blackbox-exporter:9115 - source_labels: [__param_target] target_label: instance - action: labelmap regex: __meta_kubernetes_service_label_(.+) - source_labels: [__meta_kubernetes_namespace] target_label: kubernetes_namespace - source_labels: [__meta_kubernetes_service_name] target_label: kubernetes_name valuesFrom: - kind: ConfigMap name: helmrelease-monitoring-prometheus-stack