Skip to content

Pigsty v1.4.0

MatrixDB support, separated INFRA/NODES/PGSQL/REDIS modules
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 download script to download and extract packages

Monitoring Enhancements

  • Split monitoring into 5 categories: INFRA, NODES, REDIS, PGSQL, APP
  • Logging enabled by default
    • loki and promtail now enabled by default, with prebuilt loki-rpm
  • Model and labels
    • Added hidden ds prometheus datasource variable to all dashboards
    • Added ip label to all metrics, used as join key between database and node metrics
  • 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_cluster and nodename
  • 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.yml playbook
  • 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 cluster
  • nodename_overwrite: If set, nodename will be set to node’s hostname
  • nodename_exchange: Exchange node hostnames between play hosts (in /etc/hosts)
  • node_dns_hosts_extra: Extra static DNS records easily overridable by single instance/cluster
  • patroni_enabled: If disabled, postgres & patroni bootstrap not executed during postgres role
  • pgbouncer_enabled: If disabled, pgbouncer not started during postgres role
  • pg_exporter_params: Extra URL parameters for pg_exporter when generating monitoring target URL
  • pg_provision: Boolean variable indicating whether to execute provisioning part of postgres role
  • no_cmdb: Used for infra.yml and infra-demo.yml playbooks, won’t create CMDB on meta node

Sources