diff --git a/platform/observability/README.md b/platform/observability/README.md index c517fec..a6bb467 100644 --- a/platform/observability/README.md +++ b/platform/observability/README.md @@ -56,8 +56,10 @@ hosts and `logs/vlogs-ingress.yaml` to push their logs. | Manage | **victoria-metrics-operator** | VMSingle/VMAgent/VMAlert/VMAlertmanager/VMRule **and** VLSingle as CRDs | | Expose | **Tailscale ingress** (private) + **Authelia OIDC** | admin tool: private + SSO | -Grafana's Prometheus-operator converter is on, so any chart shipping a -`ServiceMonitor`/`PodMonitor`/`PrometheusRule` is scraped automatically. +VictoriaMetrics Operator 的 Prometheus converter 已启用;官方 +`prometheus-operator-crds` chart 由 `operator/` 一并管理。因此应用 chart 可以原生 +声明 `ServiceMonitor`、`PodMonitor` 或 `PrometheusRule`,再由 converter 转换为对应 +VM 资源,不需要每个应用额外维护一份 `VM*Scrape`。 ## Architecture diff --git a/platform/observability/kustomization.yaml b/platform/observability/kustomization.yaml index 58ed959..c4b26a9 100644 --- a/platform/observability/kustomization.yaml +++ b/platform/observability/kustomization.yaml @@ -3,6 +3,7 @@ kind: Kustomization resources: - namespace.yaml - helmrepository.yaml + - prometheus-helmrepository.yaml - grafana-helmrepository.yaml - operator - metrics diff --git a/platform/observability/operator/kustomization.yaml b/platform/observability/operator/kustomization.yaml index ad58212..bc576f1 100644 --- a/platform/observability/operator/kustomization.yaml +++ b/platform/observability/operator/kustomization.yaml @@ -10,4 +10,5 @@ configMapGenerator: files: - values.yaml=values.yaml resources: + - prometheus-crds-helmrelease.yaml - helmrelease.yaml diff --git a/platform/observability/operator/prometheus-crds-helmrelease.yaml b/platform/observability/operator/prometheus-crds-helmrelease.yaml new file mode 100644 index 0000000..e569585 --- /dev/null +++ b/platform/observability/operator/prometheus-crds-helmrelease.yaml @@ -0,0 +1,29 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: prometheus-operator-crds + namespace: monitoring +spec: + chart: + spec: + chart: prometheus-operator-crds + interval: 1h + sourceRef: + kind: HelmRepository + name: prometheus-community + namespace: monitoring + version: 32.0.0 + install: + crds: CreateReplace + strategy: + name: RetryOnFailure + retryInterval: 5m + interval: 30m + releaseName: prometheus-operator-crds + targetNamespace: monitoring + timeout: 10m + upgrade: + crds: CreateReplace + strategy: + name: RetryOnFailure + retryInterval: 5m diff --git a/platform/observability/prometheus-helmrepository.yaml b/platform/observability/prometheus-helmrepository.yaml new file mode 100644 index 0000000..29f72e4 --- /dev/null +++ b/platform/observability/prometheus-helmrepository.yaml @@ -0,0 +1,8 @@ +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: prometheus-community + namespace: monitoring +spec: + interval: 1h + url: https://prometheus-community.github.io/helm-charts