尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

pgwatch Kubernetes 部署指南:Helm Chart 安装与云原生环境最佳实践

pgwatch Kubernetes 部署指南:Helm Chart 安装与云原生环境最佳实践 pgwatch Kubernetes 部署指南Helm Chart 安装与云原生环境最佳实践【免费下载链接】pgwatchpgwatch: PostgreSQL metrics monitor/dashboard项目地址: https://gitcode.com/gh_mirrors/pg/pgwatchpgwatch是一个专注 PostgreSQL 监控的开源解决方案PostgreSQL metrics monitor/dashboard通过采集数据库指标、写入时序存储并用 Grafana 可视化帮助运维人员快速掌握数据库健康与性能状态。本文面向新手介绍如何将 pgwatch 这套 PostgreSQL 监控工具部署到 Kubernetes 集群Helm Chart 一键安装、云原生化配置管理以及生产环境的最佳实践。先看懂 pgwatch 的四大组件K8s 部署才不迷路在动手之前先理解 pgwatch 的组件构成详见docs/concept/components.md指标采集守护进程collector用 Go 编写的核心组件负责从各数据库拉取指标是整个方案的唯一必需件配置存储定义监控哪些库、多久采一次、采哪些指标支持 PostgreSQL 配置库或 YAML 文件两种模式指标存储sink可选 PostgreSQL、TimescaleDB、Prometheus、gRPC 甚至 JSON 文件可视化Grafana 仪表盘pgwatch 仓库自带一套丰富的 PostgreSQL 监控面板位于grafana/目录。关键认知各组件松耦合。在 Kubernetes 场景中你往往只需要部署 collector 这一个 Pod配置用 ConfigMap、存储用集群里的 Prometheus其余组件全部复用集群现有设施——这正是云原生部署的核心思路。Helm Chart 一键安装 PostgreSQL 监控pgwatch 官方为 Kubernetes 提供了基础 Helm Chart 模板。需要说明该 Chart 作为独立仓库维护见docs/concept/kubernetes.md不随 pgwatch 主仓库发布也不由 pgwatch 开发者维护请在使用时留意版本兼容性。安装命令很简单cd openshift_k8s helm install -f chart-values.yml pgwatch ./helm-chart所有可配置项镜像版本、资源限额、端口、环境变量等都可以查看helm-chart/values.yaml中的说明按需覆盖chart-values.yml即可。云原生配置用 ConfigMap Secret 管理监控源pgwatch 原生支持基于文件的配置模式见docs/concept/installation_options.md把被监控数据库列表和指标预设写成 YAML通过--sources参数挂载进来完全无需中央配置库。这一点对 K8s 极其友好把sources.yaml放进ConfigMap挂载给 Pod连接串里的账号密码用环境变量占位符引用再由 Pod 的secretKeyRef注入避免明文出现在仓库里。样例配置可以参考仓库中的contrib/sample.sources.yaml其中已经演示了用$MY_SOURCE_ENV、$MY_GROUP_ENV等环境变量做占位的写法。支持的环境变量说明见docs/reference/env_variables.md。一个典型的 sources 片段- name: test1 conn_str: postgresql://pgwatch:$(PGWATCH_PWD)mydb.default.svc:5432/mydb kind: postgres preset_metrics: exhaustive is_enabled: true group: default custom_tags: env: productionkind还支持pgbouncer、pgpool、patroni、prometheus等类型集群里这些常见组件都能直接纳管。部署 pgwatch 采集守护进程到 K8s生产部署使用官方镜像cybertecpostgresql/pgwatch可参考docker/compose.pgwatch.yml中的启动参数写法。核心启动参数只有两个--sources/etc/pgwatch/sources.yaml --sinkprometheus://pgwatch:9187/pgwatch几个值得注意的点--sink支持多值可以同时写prometheus://和postgresql://两个 sink见docker/compose.pgwatch.yml第 14-15 行的双 sink 示例容器需暴露8080WebUI和9187Prometheus 拉取端点两个端口collector 本身无状态升级就是滚动换新镜像非常适合 K8s 的 Deployment 管理。云原生环境最佳实践清单✅优先使用 Prometheus 模式docs/concept/components.md明确指出Prometheus 模式最适合云类环境——被监控目标无需感知存储细节且告警体系成熟。配合 ServiceMonitor 或标准 Service annotation 即可接入集群 Prometheus。✅新增源等待约 2 分钟运行中的守护进程默认约 2 分钟发现新加的源可用--refresh调整配置变更后不必重启 Pod。✅控制指标库增长监控的表/索引多且开启pg_stat_statements时指标存储增长很快。可适当调大table_stats、index_stats、stat_statements的采集间隔或用--retention缩短保留期见docs/concept/long_term_installations.md。✅定期刷新内置指标定义与 Grafana 面板仓库internal/metrics/metrics.yaml中的指标 SQL 和grafana/目录的面板都会持续更新建议每年 1-2 次同步刷新。✅给 collector 设置合理的资源限额它负载很轻一般requests: 50m/128Mi、limits: 200m/256Mi级别即可起步按实际观察调整。验证部署结果部署完成后按以下顺序验证kubectl get pods确认 collector Pod 运行正常浏览器访问 8080 端口的 WebUINodePort/Ingress确认 sources 列表已加载打开 Grafana 的 Global Health 面板几分钟内应能看到各 PostgreSQL 实例的健康曲线检查 Prometheus 目标列表确认9187/metrics端点抓取成功。至此你就在 Kubernetes 上完成了一套轻量、可维护的 PostgreSQL 监控体系Helm 管理部署、ConfigMap/Secret 管理配置、Prometheus 承接存储Grafana 呈现结果——云原生环境下监控 pgwatch 的最佳姿势。【免费下载链接】pgwatchpgwatch: PostgreSQL metrics monitor/dashboard项目地址: https://gitcode.com/gh_mirrors/pg/pgwatch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表