-
Notifications
You must be signed in to change notification settings - Fork 22
/
message_queue.yaml
141 lines (141 loc) · 3.64 KB
/
message_queue.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: MessageQueue
description: A Tembo Postgres Stack optimized for Message Queue workloads.
repository: "quay.io/tembo"
organization: tembo
images:
14: "standard-cnpg:14-389a437"
15: "standard-cnpg:15-389a437"
16: "standard-cnpg:16-389a437"
stack_version: 0.3.0
appServices:
- name: mq-api
image: postgrest/postgrest:v10.0.0
routing:
- port: 3000
ingressPath: /pgmq/v1
middlewares:
- map-pgmq
- strip-prefix
- headers
middlewares:
- !customRequestHeaders
name: headers
config:
Authorization: ""
Content-Profile: pgmq
Accept-Profile: pgmq
- !stripPrefix
name: strip-prefix
config:
- /rest/v1
- !replacePathRegex
name: map-pgmq
config:
regex: \/pgmq\/v1\/?
replacement: /rpc/
env:
- name: PGRST_DB_URI
valueFromPlatform: ReadWriteConnection
- name: PGRST_DB_SCHEMA
value: "public, pgmq"
- name: PGRST_DB_ANON_ROLE
value: postgres
- name: PGRST_LOG_LEVEL
value: info
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 400m
memory: 256Mi
trunk_installs:
- name: pgmq
version: 1.1.1
- name: pg_partman
version: 4.7.4
- name: parquet_s3_fdw
version: 1.1.0
- name: pg_tier
version: 0.0.3
extensions:
- name: pgmq
locations:
- database: postgres
enabled: true
version: 1.1.1
- database: app
enabled: true
version: 1.1.1
- database: template1
enabled: true
version: 1.1.1
- name: pg_partman
locations:
- database: postgres
enabled: true
version: 4.7.4
- name: parquet_s3_fdw
locations:
- database: postgres
enabled: true
version: 1.1.0
- name: pg_tier
locations:
- database: postgres
enabled: true
version: 0.0.3
postgres_metrics:
pgmq:
query: select queue_name, queue_length, oldest_msg_age_sec, newest_msg_age_sec, total_messages, current_database() as datname from pgmq.metrics_all()
master: true
metrics:
- queue_name:
usage: LABEL
description: Name of the queue
- queue_length:
usage: GAUGE
description: Number of messages in the queue
- oldest_msg_age_sec:
usage: GAUGE
description: Age of the oldest message in the queue, in seconds.
- newest_msg_age_sec:
usage: GAUGE
description: Age of the newest message in the queue, in seconds.
- total_messages:
usage: GAUGE
description: Total number of messages that have passed into the queue.
- datname:
usage: "LABEL"
description: "Name of current database"
target_databases:
- "*"
- "postgres"
postgres_config_engine: mq
postgres_config:
- name: shared_preload_libraries
value: pg_stat_statements,pg_partman_bgw
- name: pg_partman_bgw.dbname
value: postgres
- name: pg_partman_bgw.interval
value: 60
- name: pg_partman_bgw.role
value: postgres
- name: random_page_cost
value: 1.1
- name: autovacuum_naptime
value: '20s'
- name: autovacuum_vacuum_cost_limit
value: 10000
- name: autovacuum_vacuum_scale_factor
value: 0.05
- name: autovacuum_vacuum_insert_scale_factor
value: 0.05
- name: autovacuum_analyze_scale_factor
value: 0.05
- name: track_io_timing
value: 'on'
- name: checkpoint_timeout
value: 10min
- name: pg_stat_statements.track
value: all