- Prometheus配置:
在 prometheus.yml 文件中添加以下内容:
scrape_configs:
- job_name: 'greenplum_exporter'
scrape_interval: 15s
static_configs:
- targets: ['<IP address of Greenplum exporter>:9187']
- Greenplum Exporter 配置:
在 greenplum_exporter.yml 文件中添加以下内容:
global:
db_address: <Greenplum master node IP address>
db_port: <Greenplum master node port>
db_user: <Greenplum username>
db_password: <Greenplum password>
metrics:
query_duration_seconds:
help: "Duration of the last query executed in seconds."
sql: "SELECT query_duration_seconds FROM pg_stat_activity WHERE state = 'active' ORDER BY query_start DESC LIMIT 1;"
queries_running:
help: "Number of active queries."
sql: "SELECT COUNT(*) FROM pg_stat_activity WHERE state = 'active';"
connections:
help: "Number of database connections."
sql: "SELECT numbackends FROM pg_stat_database WHERE datname = current_database();"
- Alertmanager 配置:
在 alertmanager.yml 文件中添加以下内容:
global:
slack_api_url: '<Slack webhook URL>'
route:
group_by: ['alertname', 'severity']
receiver: 'slack-notifications'
routes:
- match:
severity: critical
receiver: 'slack-notifications'
- match:
severity: warning
receiver: 'slack-notifications'
receivers:
- name: 'slack-notifications'
slack_configs:
- channel: '#<Channel name>'
send_resolved: true
- Grafana 配置:
使用 Grafana UI 创建 dashboard,选择 Prometheus 数据源,并添加以下 query:
greenplum_exporter_queries_running
greenplum_exporter_query_duration_seconds
这将显示当前运行的查询数和最近执行查询的持续时间。
然后可以根据需要添加其他查询和面板。