add monitoring
This commit is contained in:
		
							
								
								
									
										23
									
								
								clusters/cl01tl/monitoring/kube-prometheus-stack/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								clusters/cl01tl/monitoring/kube-prometheus-stack/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: kube-prometheus-stack
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Kube Prometheus Stack
 | 
			
		||||
keywords:
 | 
			
		||||
  - kube-prometheus-stack
 | 
			
		||||
  - prometheus
 | 
			
		||||
  - alertmanager
 | 
			
		||||
  - metrics
 | 
			
		||||
  - alerts
 | 
			
		||||
  - kubernetes
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/kube-prometheus-stack-pPGJlzAqur
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/prometheus/prometheus
 | 
			
		||||
  - https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: kube-prometheus-stack
 | 
			
		||||
    version: 69.6.0
 | 
			
		||||
    repository: https://prometheus-community.github.io/helm-charts
 | 
			
		||||
icon: https://raw.githubusercontent.com/walkxcode/dashboard-icons/main/png/prometheus.png
 | 
			
		||||
appVersion: v0.79.2
 | 
			
		||||
@@ -0,0 +1,37 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: alertmanager-config-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: discord_webhook
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /discord/webhook/alertmanager
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: webhook
 | 
			
		||||
    - secretKey: pushover_token
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /pushover/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: alertmanager_key
 | 
			
		||||
    - secretKey: user_key
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /pushover/key
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user_key
 | 
			
		||||
@@ -0,0 +1,8 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Namespace
 | 
			
		||||
metadata:
 | 
			
		||||
  name: kube-prometheus-stack
 | 
			
		||||
  labels:
 | 
			
		||||
    pod-security.kubernetes.io/audit: privileged
 | 
			
		||||
    pod-security.kubernetes.io/enforce: privileged
 | 
			
		||||
    pod-security.kubernetes.io/warn: privileged
 | 
			
		||||
@@ -0,0 +1,41 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1alpha1
 | 
			
		||||
kind: ScrapeConfig
 | 
			
		||||
metadata:
 | 
			
		||||
  name: external-nodes-http
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: external-nodes
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  staticConfigs:
 | 
			
		||||
    - labels:
 | 
			
		||||
        job: external-nodes
 | 
			
		||||
      targets:
 | 
			
		||||
        - ps08rp.alexlebens.net:9100
 | 
			
		||||
        - ps09rp.alexlebens.net:9100
 | 
			
		||||
  metricsPath: /metrics
 | 
			
		||||
  scheme: HTTP
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1alpha1
 | 
			
		||||
kind: ScrapeConfig
 | 
			
		||||
metadata:
 | 
			
		||||
  name: external-nodes-https
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: external-nodes
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  staticConfigs:
 | 
			
		||||
    - labels:
 | 
			
		||||
        job: external-nodes
 | 
			
		||||
      targets:
 | 
			
		||||
        - node-exporter-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
  metricsPath: /metrics
 | 
			
		||||
  scheme: HTTPS
 | 
			
		||||
@@ -0,0 +1,16 @@
 | 
			
		||||
apiVersion: v1
 | 
			
		||||
kind: Service
 | 
			
		||||
metadata:
 | 
			
		||||
  name: node-ps10rp
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: node-ps10rp
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: tailscale
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
  annotations:
 | 
			
		||||
    tailscale.com/tailnet-fqdn: node-exporter-ps10rp.boreal-beaufort.ts.net
 | 
			
		||||
spec:
 | 
			
		||||
  externalName: placeholder
 | 
			
		||||
  type: ExternalName
 | 
			
		||||
							
								
								
									
										149
									
								
								clusters/cl01tl/monitoring/kube-prometheus-stack/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										149
									
								
								clusters/cl01tl/monitoring/kube-prometheus-stack/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,149 @@
 | 
			
		||||
kube-prometheus-stack:
 | 
			
		||||
  crds:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  defaultRules:
 | 
			
		||||
    create: true
 | 
			
		||||
    rules:
 | 
			
		||||
      kubeControllerManager: false
 | 
			
		||||
      kubeSchedulerAlerting: false
 | 
			
		||||
      kubeSchedulerRecording: false
 | 
			
		||||
  global:
 | 
			
		||||
    rbac:
 | 
			
		||||
      create: true
 | 
			
		||||
      createAggregateClusterRoles: true
 | 
			
		||||
  alertmanager:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    config:
 | 
			
		||||
      route:
 | 
			
		||||
        group_by: ["namespace", "alertname"]
 | 
			
		||||
        group_wait: 30s
 | 
			
		||||
        group_interval: 5m
 | 
			
		||||
        repeat_interval: 24h
 | 
			
		||||
        receiver: discord
 | 
			
		||||
        routes:
 | 
			
		||||
          - receiver: "null"
 | 
			
		||||
            matchers:
 | 
			
		||||
              - alertname = "Watchdog"
 | 
			
		||||
          - receiver: "pushover"
 | 
			
		||||
            group_wait: 10s
 | 
			
		||||
            group_interval: 5m
 | 
			
		||||
            repeat_interval: 24h
 | 
			
		||||
            matchers:
 | 
			
		||||
              - severity = "critical"
 | 
			
		||||
      receivers:
 | 
			
		||||
        - name: "null"
 | 
			
		||||
        - name: discord
 | 
			
		||||
          discord_configs:
 | 
			
		||||
            - send_resolved: true
 | 
			
		||||
              webhook_url_file: /etc/alertmanager/secrets/alertmanager-config-secret/discord_webhook
 | 
			
		||||
        - name: pushover
 | 
			
		||||
          pushover_configs:
 | 
			
		||||
            - send_resolved: true
 | 
			
		||||
              user_key_file: /etc/alertmanager/secrets/alertmanager-config-secret/user_key
 | 
			
		||||
              token_file: /etc/alertmanager/secrets/alertmanager-config-secret/pushover_token
 | 
			
		||||
    alertmanagerSpec:
 | 
			
		||||
      secrets:
 | 
			
		||||
        - alertmanager-config-secret
 | 
			
		||||
      replicas: 1
 | 
			
		||||
  grafana:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  kubeApiServer:
 | 
			
		||||
    tlsConfig:
 | 
			
		||||
      insecureSkipVerify: true
 | 
			
		||||
  kubeControllerManager:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  kubeEtcd:
 | 
			
		||||
    enabled: true
 | 
			
		||||
  kubeScheduler:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  kubeProxy:
 | 
			
		||||
    enabled: false
 | 
			
		||||
  kubeStateMetrics:
 | 
			
		||||
    enabled: true
 | 
			
		||||
  nodeExporter:
 | 
			
		||||
    operatingSystems:
 | 
			
		||||
      darwin:
 | 
			
		||||
        enabled: false
 | 
			
		||||
  prometheusOperator:
 | 
			
		||||
    admissionWebhooks:
 | 
			
		||||
      enabled: true
 | 
			
		||||
    namespaces:
 | 
			
		||||
      releaseNamespace: true
 | 
			
		||||
      additional:
 | 
			
		||||
        - kube-system
 | 
			
		||||
        - kube-prometheus-stack
 | 
			
		||||
        - argocd
 | 
			
		||||
        - argo-workflows
 | 
			
		||||
        - authentik
 | 
			
		||||
        - blocky
 | 
			
		||||
        - cert-manager
 | 
			
		||||
        - cloudnative-pg
 | 
			
		||||
        - descheduler
 | 
			
		||||
        - directus
 | 
			
		||||
        - external-dns
 | 
			
		||||
        - freshrss
 | 
			
		||||
        - generic-device-plugin
 | 
			
		||||
        - gitea
 | 
			
		||||
        - grafana
 | 
			
		||||
        - harbor
 | 
			
		||||
        - hoarder
 | 
			
		||||
        - home-assistant
 | 
			
		||||
        - immich
 | 
			
		||||
        - jellystat
 | 
			
		||||
        - komodo
 | 
			
		||||
        - lidarr2
 | 
			
		||||
        - linkwarden
 | 
			
		||||
        - loki
 | 
			
		||||
        - matrix-synapse
 | 
			
		||||
        - ollama
 | 
			
		||||
        - outline
 | 
			
		||||
        - photoview
 | 
			
		||||
        - qbittorrent
 | 
			
		||||
        - radarr5
 | 
			
		||||
        - radarr5-4k
 | 
			
		||||
        - radarr5-anime
 | 
			
		||||
        - radarr5-standup
 | 
			
		||||
        - reloader
 | 
			
		||||
        - rook-ceph
 | 
			
		||||
        - roundcube
 | 
			
		||||
        - slskd
 | 
			
		||||
        - sonarr4
 | 
			
		||||
        - sonarr4-4k
 | 
			
		||||
        - sonarr4-anime
 | 
			
		||||
        - speedtest-exporter
 | 
			
		||||
        - spegel
 | 
			
		||||
        - stalwart
 | 
			
		||||
        - tdarr
 | 
			
		||||
        - traefik
 | 
			
		||||
        - trivy
 | 
			
		||||
        - unpoller
 | 
			
		||||
        - vault
 | 
			
		||||
        - vaultwarden
 | 
			
		||||
        - volsync
 | 
			
		||||
  prometheus:
 | 
			
		||||
    ingress:
 | 
			
		||||
      enabled: true
 | 
			
		||||
      ingressClassName: tailscale
 | 
			
		||||
      labels:
 | 
			
		||||
        tailscale.com/proxy-class: no-metrics
 | 
			
		||||
      hosts:
 | 
			
		||||
        - prometheus-cl01tl
 | 
			
		||||
      tls:
 | 
			
		||||
        - secretName: prometheus-cl01tl
 | 
			
		||||
          hosts:
 | 
			
		||||
            - prometheus-cl01tl
 | 
			
		||||
    prometheusSpec:
 | 
			
		||||
      scrapeInterval: 30s
 | 
			
		||||
      retention: 30d
 | 
			
		||||
      externalUrl: https://prometheus-cl01tl.boreal-beaufort.ts.net
 | 
			
		||||
      serviceMonitorSelectorNilUsesHelmValues: false
 | 
			
		||||
      podMonitorSelectorNilUsesHelmValues: false
 | 
			
		||||
      scrapeConfigSelectorNilUsesHelmValues: false
 | 
			
		||||
      storageSpec:
 | 
			
		||||
        volumeClaimTemplate:
 | 
			
		||||
          spec:
 | 
			
		||||
            storageClassName: synology-iscsi-delete
 | 
			
		||||
            accessModes: ["ReadWriteOnce"]
 | 
			
		||||
            resources:
 | 
			
		||||
              requests:
 | 
			
		||||
                storage: 200Gi
 | 
			
		||||
							
								
								
									
										23
									
								
								clusters/cl01tl/monitoring/unpoller/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								clusters/cl01tl/monitoring/unpoller/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
apiVersion: v2
 | 
			
		||||
name: unpoller
 | 
			
		||||
version: 1.0.0
 | 
			
		||||
description: Unpoller
 | 
			
		||||
keywords:
 | 
			
		||||
  - unpoller
 | 
			
		||||
  - ubiquiti
 | 
			
		||||
  - unifi
 | 
			
		||||
  - metrics
 | 
			
		||||
home: https://wiki.alexlebens.dev/doc/unpoller-ZG6iBCZATk
 | 
			
		||||
sources:
 | 
			
		||||
  - https://github.com/unpoller/unpoller
 | 
			
		||||
  - https://github.com/unpoller/unpoller/pkgs/container/unpoller
 | 
			
		||||
  - https://github.com/bjw-s/helm-charts/blob/main/charts/other/app-template/values.yaml
 | 
			
		||||
maintainers:
 | 
			
		||||
  - name: alexlebens
 | 
			
		||||
dependencies:
 | 
			
		||||
  - name: app-template
 | 
			
		||||
    alias: unpoller
 | 
			
		||||
    repository: https://bjw-s.github.io/helm-charts/
 | 
			
		||||
    version: 3.7.1
 | 
			
		||||
icon: https://camo.githubusercontent.com/c5d07a5b3acfeac8e1c25bf56f440ffe032b86e4e7f15de82357f022a43fc927/68747470733a2f2f756e706f6c6c65722e636f6d2f696d672f6c6f676f2e706e67
 | 
			
		||||
appVersion: v2.11.2
 | 
			
		||||
@@ -0,0 +1,30 @@
 | 
			
		||||
apiVersion: external-secrets.io/v1beta1
 | 
			
		||||
kind: ExternalSecret
 | 
			
		||||
metadata:
 | 
			
		||||
  name: unpoller-unifi-secret
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: unpoller-unifi-secret
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: web
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  secretStoreRef:
 | 
			
		||||
    kind: ClusterSecretStore
 | 
			
		||||
    name: vault
 | 
			
		||||
  data:
 | 
			
		||||
    - secretKey: UP_UNIFI_CONTROLLER_0_USER
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /unifi/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: user
 | 
			
		||||
    - secretKey: UP_UNIFI_CONTROLLER_0_PASS
 | 
			
		||||
      remoteRef:
 | 
			
		||||
        conversionStrategy: Default
 | 
			
		||||
        decodingStrategy: None
 | 
			
		||||
        key: /unifi/auth/cl01tl
 | 
			
		||||
        metadataPolicy: None
 | 
			
		||||
        property: password
 | 
			
		||||
@@ -0,0 +1,21 @@
 | 
			
		||||
apiVersion: monitoring.coreos.com/v1
 | 
			
		||||
kind: ServiceMonitor
 | 
			
		||||
metadata:
 | 
			
		||||
  name: unpoller
 | 
			
		||||
  namespace: {{ .Release.Namespace }}
 | 
			
		||||
  labels:
 | 
			
		||||
    app.kubernetes.io/name: unpoller
 | 
			
		||||
    app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
    app.kubernetes.io/version: {{ .Chart.AppVersion }}
 | 
			
		||||
    app.kubernetes.io/component: metrics
 | 
			
		||||
    app.kubernetes.io/part-of: {{ .Release.Name }}
 | 
			
		||||
spec:
 | 
			
		||||
  selector:
 | 
			
		||||
    matchLabels:
 | 
			
		||||
      app.kubernetes.io/name: unpoller
 | 
			
		||||
      app.kubernetes.io/instance: {{ .Release.Name }}
 | 
			
		||||
  endpoints:
 | 
			
		||||
    - port: metrics
 | 
			
		||||
      interval: 30s
 | 
			
		||||
      scrapeTimeout: 10s
 | 
			
		||||
      path: /metrics
 | 
			
		||||
							
								
								
									
										57
									
								
								clusters/cl01tl/monitoring/unpoller/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								clusters/cl01tl/monitoring/unpoller/values.yaml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,57 @@
 | 
			
		||||
unpoller:
 | 
			
		||||
  controllers:
 | 
			
		||||
    main:
 | 
			
		||||
      type: deployment
 | 
			
		||||
      replicas: 1
 | 
			
		||||
      strategy: Recreate
 | 
			
		||||
      revisionHistoryLimit: 3
 | 
			
		||||
      containers:
 | 
			
		||||
        main:
 | 
			
		||||
          image:
 | 
			
		||||
            repository: ghcr.io/unpoller/unpoller
 | 
			
		||||
            tag: v2.14.1
 | 
			
		||||
            pullPolicy: IfNotPresent
 | 
			
		||||
          env:
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_ALARMS
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_ANOMALIES
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_DPI
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_EVENTS
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_IDS
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_SAVE_SITES
 | 
			
		||||
              value: 'true'
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_URL
 | 
			
		||||
              value: https://unifi.alexlebens.net/
 | 
			
		||||
            - name: UP_UNIFI_CONTROLLER_0_VERIFY_SSL
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_INFLUXDB_DISABLE
 | 
			
		||||
              value: 'true'
 | 
			
		||||
            - name: UP_PROMETHEUS_HTTP_LISTEN
 | 
			
		||||
              value: 0.0.0.0:9130
 | 
			
		||||
            - name: UP_PROMETHEUS_NAMESPACE
 | 
			
		||||
              value: unpoller
 | 
			
		||||
            - name: UP_POLLER_DEBUG
 | 
			
		||||
              value: 'false'
 | 
			
		||||
            - name: UP_POLLER_QUIET
 | 
			
		||||
              value: 'false'
 | 
			
		||||
          envFrom:
 | 
			
		||||
            - secretRef:
 | 
			
		||||
                name: unpoller-unifi-secret
 | 
			
		||||
          resources:
 | 
			
		||||
            requests:
 | 
			
		||||
              cpu: 10m
 | 
			
		||||
              memory: 64Mi
 | 
			
		||||
  serviceAccount:
 | 
			
		||||
    create: true
 | 
			
		||||
  service:
 | 
			
		||||
    main:
 | 
			
		||||
      controller: main
 | 
			
		||||
      ports:
 | 
			
		||||
        metrics:
 | 
			
		||||
          port: 9130
 | 
			
		||||
          targetPort: 9130
 | 
			
		||||
          protocol: TCP
 | 
			
		||||
		Reference in New Issue
	
	Block a user