Pigsty v1.4.0
MatrixDB 支持,分离 INFRA/NODES/PGSQL/REDIS 模块
MatrixDB 支持,分离 INFRA/NODES/PGSQL/REDIS 模块
v1.4.0 ·
架构
- 将系统解耦为4大类别:
INFRA、NODES、PGSQL、REDIS,这使得 pigsty 更加清晰、更易于扩展。 - 单节点部署 =
INFRA+NODES+PGSQL - 部署 pgsql 集群 =
NODES+PGSQL - 部署 redis 集群 =
NODES+REDIS - 部署其他数据库 =
NODES+ xxx(例如MONGO、KAFKA…待定)
可访问性
- 为中国大陆提供 CDN。
- 使用
bash -c "$(curl -fsSL http://get.pigsty.cc/latest)"获取最新源代码。 - 使用新的
download脚本下载并提取包。
监控增强
- 将监控系统分为5大类别:
INFRA、NODES、REDIS、PGSQL、APP - 默认启用日志记录
- 现在默认启用
loki和promtail,带有预构建的 loki-rpm。
- 现在默认启用
- 模型和标签
- 为所有仪表板添加了一个隐藏的
dsprometheus 数据源变量,因此您只需选择一个新的数据源而不是修改 Grafana 数据源和仪表板。 - 为所有指标添加了一个
ip标签,并将其用作数据库指标和节点指标之间的连接键。
- 为所有仪表板添加了一个隐藏的
- INFRA 监控
- Infra 主仪表板:INFRA 概览
- 添加日志仪表板:日志实例
- PGLOG 分析和 PGLOG 会话现在被视为一个示例 Pigsty APP。
- NODES 监控应用
- 如果您完全不关心数据库,现在可以单独使用 Pigsty 作为主机监控软件!
- 包括4个核心仪表板:节点概览 & 节点集群 & 节点实例 & 节点警报
- 为节点引入新的身份变量:
node_cluster和nodename - 变量
pg_hostname现在意味着将主机名设置为与 postgres 实例名相同,以保持向后兼容性 - 变量
nodename_overwrite控制是否用 nodename 覆盖节点的主机名 - 变量
nodename_exchange将 nodename 写入彼此的/etc/hosts - 所有节点指标引用都经过修订,通过
ip连接 - 节点监控目标在
/etc/prometheus/targets/nodes下单独管理
- PGSQL 监控增强
- 完全新的 PGSQL 集群,简化并专注于集群中的重要内容。
- 新仪表板 PGSQL 数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。
- PGSQL 警报仪表板现在只关注 pgsql 警报。
- PGSQL Shard 已添加到 PGSQL 中。
- Redis 监控增强
- 为所有 redis 仪表板添加节点监控。
MatrixDB 支持
- 通过
pigsty-matrix.ymlplaybook 可以部署 MatrixDB(Greenplum 7) - MatrixDB 监控仪表板:PGSQL MatrixDB
- 添加示例配置:
pigsty-mxdb.yml
监控增强
- 将监控系统分为5大类别:
INFRA、NODES、REDIS、PGSQL、APP - 默认启用日志记录
- 现在默认启用
loki和promtail,带有预构建的 loki-rpm。
- 现在默认启用
- 模型和标签
- 为所有仪表板添加了一个隐藏的
dsprometheus 数据源变量,因此您只需选择一个新的数据源而不是修改 Grafana 数据源和仪表板。 - 为所有指标添加了一个
ip标签,并将其用作数据库指标和节点指标之间的连接键。
- 为所有仪表板添加了一个隐藏的
- INFRA 监控
- Infra 主仪表板:INFRA 概览
- 添加日志仪表板:日志实例
- PGLOG 分析和 PGLOG 会话现在被视为一个示例 Pigsty APP。
- NODES 监控应用
- 如果您完全不关心数据库,现在可以单独使用 Pigsty 作为主机监控软件!
- 包括4个核心仪表板:节点概览 & 节点集群 & 节点实例 & 节点警报
- 为节点引入新的身份变量:
node_cluster和nodename - 变量
pg_hostname现在意味着将主机名设置为与 postgres 实例名相同,以保持向后兼容性 - 变量
nodename_overwrite控制是否用 nodename 覆盖节点的主机名 - 变量
nodename_exchange将 nodename 写入彼此的/etc/hosts - 所有节点指标引用都经过修订,通过
ip连接 - 节点监控目标在
/etc/prometheus/targets/nodes下单独管理
- PGSQL 监控增强
- 完全新的 PGSQL 集群,简化并专注于集群中的重要内容。
- 新仪表板 PGSQL 数据库是集群级对象监控。例如整个集群而不是单个实例的表和查询。
- PGSQL 警报仪表板现在只关注 pgsql 警报。
- PGSQL Shard 已添加到 PGSQL 中。
- Redis 监控增强
- 为所有 redis 仪表板添加节点监控。
MatrixDB 支持
- 通过
pigsty-matrix.ymlplaybook 可以部署 MatrixDB(Greenplum 7) - MatrixDB 监控仪表板:PGSQL MatrixDB
- 添加示例配置:
pigsty-mxdb.yml
置备改进
现在 pigsty 的工作流如下:
nodes.yml:用于设置和准备 pigsty 的节点,- 在节点上设置 node、node_exporter、consul agent
node-remove.yml用于节点注销pgsql.yml:现在只在已准备好的节点上工作pgsql-remove现在只负责 postgres 本身(dcs 和节点监控由node.yml负责)- 添加一系列新选项以在 greenplum/matrixdb 中重用
postgres角色 redis.yml:现在在已准备好的节点上工作- 而
redis-remove.yml现在从节点上移除 redis。 pgsql-matrix.yml现在在已准备好的节点上安装 matrixdb(Greenplum 7)。
软件升级
- PostgreSQL 14.2
- PostGIS 3.2
- TimescaleDB 2.6
- Patroni 2.1.3 (Prometheus 指标 + 故障转移插槽)
- HAProxy 2.5.5 (修复统计错误,更多指标)
- PG 导出器 0.4.1 (超时参数等)
- Grafana 8.4.4
- Prometheus 2.33.4
- Greenplum 6.19.4 / MatrixDB 4.4.0
- Loki 现在作为 rpm 包提供,而不是 zip 存档。
错误修复
- 删除 patroni 的 consul 依赖,这使其更容易迁移到新的 consul 集群
- 修复 prometheus bin/new 脚本的默认数据目录路径:从
/export/prometheus更改为/data/prometheus - 在 vip-manager systemd 服务中添加重新启动秒数
- 修复错别字和任务
API 变更
新增变量
node_cluster:节点集群的身份变量nodename_overwrite:如果设置,则 nodename 将设置为节点的主机名nodename_exchange:交换 play 主机之间的节点主机名(在/etc/hosts中)node_dns_hosts_extra:可以通过单个实例/集群轻松覆盖的额外静态 dns 记录patroni_enabled:如果禁用,postgres & patroni 的引导过程不会在postgres角色期间执行pgbouncer_enabled:如果禁用,pgbouncer 在postgres角色期间不会启动pg_exporter_params:生成监控目标 url 时为 pg_exporter 提供的额外 url 参数。pg_provision:布尔值变量,表示是否执行postgres角色的资源配置部分(模板,数据库,用户)no_cmdb:用于infra.yml和infra-demo.yml播放书,不会在元节点上创建 cmdb。