圖形化監控
系統服務監控
systemctl管理pgAdmin服務狀態:sudo systemctl status pgadmin4 # 查看狀態
sudo systemctl start pgadmin4 # 啟動服務
sudo systemctl enable pgadmin4 # 開機自啟
安裝組件
# 安裝Prometheus PostgreSQL Exporter
sudo yum install prometheus-postgresql-exporter
# 安裝Grafana
sudo yum install grafana
配置Prometheus
編輯/etc/prometheus/prometheus.yml,添加PostgreSQL數據源:
scrape_configs:
- job_name: 'postgresql'
static_configs:
- targets: ['localhost:9187'] # Exporter默認端口
Grafana可視化
pg_stat_activity、pg_stat_database)。Grafana告警規則
腳本告警(自定義)
# 示例:監控空閑連接
#!/bin/bash
IDLE_COUNT=$(psql -U postgres -c "SELECT COUNT(*) FROM pg_stat_activity WHERE state='idle';")
if [ "$IDLE_COUNT" -gt 50 ]; then
echo "警告:空閑連接數超過50!" | mail -s "數據庫告警" admin@example.com
fi
cron定時執行腳本:crontab -e添加* * * * * /path/to/script.sh。啟用數據庫日志
修改postgresql.conf:
logging_collector = on
log_directory = '/var/log/postgresql'
log_filename = 'postgresql-%Y-%m-%d.log'
log_min_messages = 'warning'
重啟數據庫生效。
日志分析工具
pgBadger生成日志報告:sudo yum install pgbadger
pgbadger /var/log/postgresql/*.log -o /tmp/report.html
```。