两个 K3s 集群里大多是第三方镜像,镜像不动也会冒出新 CVE。Trivy Operator 每天重扫并接进 Prometheus 告警,日常要按 CVE ID 分诊,能升级就升级,升不了带证据豁免,并用报告数对工作负载数确认扫描没有静默失败。
Posts for: #prometheus
Spring Boot actuator 用业务端口还是单独的管理端口
actuator 可以与业务共用端口,也可以通过单独管理端口运行。单独端口能隔离外部流量并统一指标路径,但会引入独立的内嵌 Web 服务与线程池;探针若未配置回主端口可能出现健康误报,采集端口也需在 Service 与 ServiceMonitor 中对齐。
用 external-dns 自动创建 DNS 记录:source、target、所有权登记,以及两个偏危险的默认值
hostname 已经写在 Ingress 或 HTTPRoute 里,再去 DNS 那边手建一条记录,等于给集群状态留了一份要同步维护的副本。交给 external-dns 的代价是自己定三件事:读哪种资源、target 指向哪里、哪些记录归这个实例。
容器内存 99% 但没有 OOM:可能是页缓存
容器内存告警冲到 99.45% 却没触发 OOM,峰值里约 87% 是页缓存;同一个容器热缓存下重启只剩 23.70%,最后把告警的分子换成 RSS。
把重复 series 拦在入库前:Prometheus 内存瘦身
homelab Prometheus 的 active series 少了一半,起因是 k3s 单进程把同一批 apiserver 和 etcd 指标重复暴露;三层核查确认可以丢就在入库前拦掉,内存峰值跟着降了大半。
Homelab 消息通知:Alertmanager 通过 Gotify 推送告警
在 Homelab K3s 集群中,通过部署 alertmanager_gotify_bridge 将 Prometheus Alertmanager 的告警推送到 Gotify,实现自托管消息通知。记录从 Vault 存储 Token、ESO 同步 Secret、到 Alertmanager 路由配置的完整步骤。
Spring Boot 应用的 Metrics 埋点:自动埋点覆盖了什么,什么时候要自己埋(2026)
应用层 Metrics 埋点的边界:自动埋点覆盖到哪、@Observed 怎么用、高低基数字段怎么分、手动 Observation API 什么时候上,以及和 Prometheus、OTel 的关系。埋点 API 是 Micrometer 的抽象层。
SLO 与多窗口多 burn-rate 告警:14.4× 和 6× 怎么来的,Prometheus 规则怎么写
SLO、error budget 和 multi-burn-rate 告警的工程实现,按问答一节节推进:为什么传统阈值告警噪声大或滞后、burn rate 14.4× 和 6× 怎么来的,Prometheus 的 recording rules 与 alert 又怎么写。