Pigsty v1.4.0
MatrixDB support, separated INFRA/NODES/PGSQL/REDIS modules
Architecture
- Decoupled system into 4 major categories:
INFRA,NODES,PGSQL,REDIS, making Pigsty clearer and more extensible - Single-node deployment =
INFRA+NODES+PGSQL - PGSQL cluster deployment =
NODES+PGSQL - Redis cluster deployment =
NODES+REDIS - Other database deployment =
NODES+ xxx (e.g.,MONGO,KAFKA…)
Accessibility
- CDN for mainland China
- Use
bash -c "$(curl -fsSL http://get.pigsty.cc/latest)"to get latest source - New
downloadscript to download and extract packages
Monitoring Enhancements
- Split monitoring into 5 categories:
INFRA,NODES,REDIS,PGSQL,APP - Logging enabled by default
lokiandpromtailnow enabled by default, with prebuilt loki-rpm
- Model and labels
- Added hidden
dsprometheus datasource variable to all dashboards - Added
iplabel to all metrics, used as join key between database and node metrics
- Added hidden
- INFRA Monitoring
- INFRA main dashboard: INFRA Overview
- Added Log dashboard: Logs Instance
- PGLOG Analysis and PGLOG Session now treated as sample Pigsty APPs
- NODES Monitoring Application
- Pigsty can be used standalone as host monitoring software
- Includes 4 core dashboards: Nodes Overview & Nodes Cluster & Nodes Instance & Nodes Alert
- New identity variables for nodes:
node_clusterandnodename
- PGSQL Monitoring Enhancements
- New PGSQL Cluster, simplified and focused on what matters in a cluster
- New dashboard PGSQL Databases for cluster-level object monitoring
- PGSQL Alert dashboard now focuses solely on PGSQL alerts
- PGSQL Shard added to PGSQL
- Redis Monitoring Enhancements
- Added node monitoring to all Redis dashboards
MatrixDB Support
- MatrixDB (Greenplum 7) can be deployed via
pigsty-matrix.ymlplaybook - MatrixDB monitoring dashboard: PGSQL MatrixDB
- Added sample configuration:
pigsty-mxdb.yml
Software Upgrades
- PostgreSQL 14.2
- PostGIS 3.2
- TimescaleDB 2.6
- Patroni 2.1.3 (Prometheus metrics + failover slots)
- HAProxy 2.5.5 (fixed stats errors, more metrics)
- PG Exporter 0.4.1 (timeout parameters, etc.)
- Grafana 8.4.4
- Prometheus 2.33.4
- Greenplum 6.19.4 / MatrixDB 4.4.0
- Loki now provided as RPM package instead of ZIP archive
Bug Fixes
- Removed Patroni’s Consul dependency, making migration to new Consul clusters easier
- Fixed Prometheus bin/new script default data directory path
- Added restart seconds in vip-manager systemd service
- Fixed typos and tasks
API Changes
New Variables
node_cluster: Identity variable for node clusternodename_overwrite: If set, nodename will be set to node’s hostnamenodename_exchange: Exchange node hostnames between play hosts (in/etc/hosts)node_dns_hosts_extra: Extra static DNS records easily overridable by single instance/clusterpatroni_enabled: If disabled, postgres & patroni bootstrap not executed duringpostgresrolepgbouncer_enabled: If disabled, pgbouncer not started duringpostgresrolepg_exporter_params: Extra URL parameters for pg_exporter when generating monitoring target URLpg_provision: Boolean variable indicating whether to execute provisioning part ofpostgresroleno_cmdb: Used forinfra.ymlandinfra-demo.ymlplaybooks, won’t create CMDB on meta node