Add CNPG metrics collection for PostgreSQL dashboard
- Add Tailscale service exposing CNPG metrics on port 9187 (cnpg-metrics.tail8d86e.ts.net) - Add Prometheus scrape config for cnpg-postgres job - Update PostgreSQL dashboard to use CNPG metric names (cnpg_* prefix) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
0c9c306917
commit
329f58499b
4 changed files with 42 additions and 13 deletions
|
|
@ -13,3 +13,9 @@ scrape_configs:
|
|||
- job_name: "loki"
|
||||
static_configs:
|
||||
- targets: ["localhost:3100"]
|
||||
|
||||
- job_name: "cnpg-postgres"
|
||||
static_configs:
|
||||
- targets: ["cnpg-metrics.tail8d86e.ts.net:9187"]
|
||||
labels:
|
||||
instance: "blumeops-pg"
|
||||
|
|
|
|||
|
|
@ -6,3 +6,4 @@ namespace: databases
|
|||
resources:
|
||||
- blumeops-pg.yaml
|
||||
- service-tailscale.yaml
|
||||
- service-metrics-tailscale.yaml
|
||||
|
|
|
|||
22
argocd/manifests/databases/service-metrics-tailscale.yaml
Normal file
22
argocd/manifests/databases/service-metrics-tailscale.yaml
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Tailscale LoadBalancer for CNPG metrics access
|
||||
# Exposes native postgres_exporter metrics on port 9187
|
||||
# Canonical hostname: cnpg-metrics.tail8d86e.ts.net
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: blumeops-pg-metrics-tailscale
|
||||
namespace: databases
|
||||
annotations:
|
||||
tailscale.com/hostname: "cnpg-metrics"
|
||||
tailscale.com/proxy-class: "default"
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
loadBalancerClass: tailscale
|
||||
selector:
|
||||
cnpg.io/cluster: blumeops-pg
|
||||
role: primary
|
||||
ports:
|
||||
- name: metrics
|
||||
port: 9187
|
||||
targetPort: 9187
|
||||
protocol: TCP
|
||||
|
|
@ -54,7 +54,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "pg_up",
|
||||
"expr": "cnpg_collector_up",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
|
|
@ -95,7 +95,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "pg_stat_activity_count{state=\"active\"}",
|
||||
"expr": "cnpg_backends_total{state=\"active\"}",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
|
|
@ -136,7 +136,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(pg_stat_activity_count)",
|
||||
"expr": "sum(cnpg_backends_total)",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
|
|
@ -177,7 +177,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "sum(pg_database_size_bytes)",
|
||||
"expr": "sum(cnpg_pg_database_size_bytes)",
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
|
|
@ -249,7 +249,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "pg_stat_activity_count",
|
||||
"expr": "cnpg_backends_total",
|
||||
"legendFormat": "{{state}}",
|
||||
"refId": "A"
|
||||
}
|
||||
|
|
@ -322,7 +322,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "pg_database_size_bytes{datname!~\"template.*\"}",
|
||||
"expr": "cnpg_pg_database_size_bytes{datname!~\"template.*\"}",
|
||||
"legendFormat": "{{datname}}",
|
||||
"refId": "A"
|
||||
}
|
||||
|
|
@ -395,22 +395,22 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(pg_stat_database_tup_fetched{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_tup_fetched{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} fetched",
|
||||
"refId": "A"
|
||||
},
|
||||
{
|
||||
"expr": "rate(pg_stat_database_tup_inserted{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_tup_inserted{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} inserted",
|
||||
"refId": "B"
|
||||
},
|
||||
{
|
||||
"expr": "rate(pg_stat_database_tup_updated{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_tup_updated{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} updated",
|
||||
"refId": "C"
|
||||
},
|
||||
{
|
||||
"expr": "rate(pg_stat_database_tup_deleted{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_tup_deleted{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} deleted",
|
||||
"refId": "D"
|
||||
}
|
||||
|
|
@ -483,12 +483,12 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "rate(pg_stat_database_xact_commit{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_xact_commit{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} commits",
|
||||
"refId": "A"
|
||||
},
|
||||
{
|
||||
"expr": "rate(pg_stat_database_xact_rollback{datname!~\"template.*\"}[5m])",
|
||||
"expr": "rate(cnpg_pg_stat_database_xact_rollback{datname!~\"template.*\"}[5m])",
|
||||
"legendFormat": "{{datname}} rollbacks",
|
||||
"refId": "B"
|
||||
}
|
||||
|
|
@ -561,7 +561,7 @@ data:
|
|||
},
|
||||
"targets": [
|
||||
{
|
||||
"expr": "pg_database_xid_age_xid_age",
|
||||
"expr": "cnpg_pg_database_xid_age",
|
||||
"legendFormat": "{{datname}}",
|
||||
"refId": "A"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue