postgres: tune, monitor
Graham Christensen committed
Dec 26, 2019 at 03:33 UTC
69e383309a06a7faf9942ce743bb47a6b83b5e9d
2 files changed
+28
-2
delft/chef.nix
+16
-1
@@ -21,7 +21,9 @@
21
log_statement = 'none'
22
max_connections = 250
23
work_mem = 16MB
24
- shared_buffers = 2GB
24
+
25
+ # 25% of memory
26
+ shared_buffers = 8GB
27
28
# Checkpoint every 256 MB.
29
min_wal_size = 128MB
@@ -35,6 +37,12 @@
37
# FIXME: don't use 'trust'.
38
authentication = ''
39
host hydra all 10.254.1.3/32 trust
40
+ local all root peer map=prometheus
41
+ '';
42
+
43
+ identMap = ''
44
+ prometheus root root
45
+ prometheus postgres-exporter root
46
'';
47
};
48
@@ -44,6 +52,13 @@
52
firewall.logRefusedConnections = true;
53
};
54
55
+ services.prometheus.exporters.postgres = {
56
+ enable = true;
57
+ dataSourceName = "user=root database=hydra host=/run/postgresql sslmode=disable";
58
+ firewallFilter = "-i wg0 -p tcp -m tcp --dport 9187";
59
+ openFirewall = true;
60
+ };
61
+
62
fileSystems."/data" =
63
{ device = "/dev/disk/by-label/data";
64
fsType = "ext4";
delft/eris.nix
+12
-1
@@ -173,7 +173,7 @@ in {
173
targets = [
174
"chef:9100"
175
];
176
- labels.role = "builder";
176
+ labels.role = "database";
177
}
178
{
179
targets = [
@@ -277,6 +277,17 @@ in {
277
}
278
];
279
}
280
+ {
281
+ job_name = "postgresql";
282
+ metrics_path = "/metrics";
283
+ static_configs = [
284
+ {
285
+ targets = [
286
+ "10.254.1.2:9187"
287
+ ];
288
+ }
289
+ ];
290
+ }
291
{
292
job_name = "rfc39";
293
metrics_path = "/";