39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
|
|
# observability patches
|
||
|
|
|
||
|
|
Strategic-merge patches applied on top of Helm-managed observability
|
||
|
|
resources. Each file is idempotent (re-applying is a no-op) and is
|
||
|
|
reasserted by hand rather than by a controller, so re-run after any
|
||
|
|
`helm upgrade` of the affected release.
|
||
|
|
|
||
|
|
## `node-exporter-textfile-collector.yaml` (DEV-494)
|
||
|
|
|
||
|
|
Enables the node-exporter textfile collector on the
|
||
|
|
`kube-prometheus-stack-prometheus-node-exporter` DaemonSet by:
|
||
|
|
|
||
|
|
1. adding `--collector.textfile.directory=/host/textfile_collector`
|
||
|
|
to the container args, and
|
||
|
|
2. mounting the host directory `/var/lib/node_exporter/textfile_collector`
|
||
|
|
read-only at `/host/textfile_collector` (`hostPath` type
|
||
|
|
`DirectoryOrCreate`, kubelet creates it on nodes where the
|
||
|
|
directory does not exist yet).
|
||
|
|
|
||
|
|
The four monitoring backup CronJobs in `apps/monitoring/` write their
|
||
|
|
textfile-collector `.prom` files into that same host directory, so the
|
||
|
|
metrics surface in Prometheus via node-exporter's normal scrape.
|
||
|
|
|
||
|
|
Apply / re-apply:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
kubectl -n observability patch daemonset \
|
||
|
|
kube-prometheus-stack-prometheus-node-exporter \
|
||
|
|
--type=strategic \
|
||
|
|
--patch-file=apps/observability/patches/node-exporter-textfile-collector.yaml
|
||
|
|
kubectl -n observability rollout status daemonset \
|
||
|
|
kube-prometheus-stack-prometheus-node-exporter
|
||
|
|
```
|
||
|
|
|
||
|
|
The kube-prometheus-stack chart is not currently tracked in ArgoCD;
|
||
|
|
if it moves under GitOps, fold these values into the chart values as
|
||
|
|
`prometheus-node-exporter.extraArgs` + `.extraHostVolumeMounts`
|
||
|
|
instead of maintaining this patch.
|