| 8 Dec 2024 |
hexa | so after fixing the expression and running the linter it reformats the file to | 01:45:17 |
hexa | namespace: rules
groups:
- name: postgresql
rules:
- alert: PostgresqlCollationMismatch
expr: |-
{unit="postgresql.service"} |~ "WARNING: database \"[^\"]+\" has a collation version mismatch" | regexp "database \"(?<database>[^\"]+)\""
for: 1m
labels:
severity: warning
annotations:
summary: PostgreSQL database on {{ $labels.machine }} reports database collations mismatches
| 01:45:28 |
hexa | and of course the loki module has a configFile escape | 02:31:49 |
hexa | yaml = pkgs.formats.yaml { };
rulesFile = pkgs.runCommand "rules.yaml" {
preferLocalBuild = true;
} ''
install -m0700 ${yaml.generate "rules.tmp" rulerConfig} $out
${lib.getExe' config.services.loki.package "lokitool"} rules lint $out
'';
| 02:41:49 |
hexa | so perfectly linted every time | 02:43:40 |
hexa | and yet not alerts | 02:43:44 |
hexa | fucking clownshow | 02:43:47 |
hexa | even with debug logging no interesting ruler logs | 02:50:08 |
hexa | earlier today I added a dummy rule to test if alerting works at all | 19:34:23 |
hexa | name = "housekeeping";
rules = [ {
alert = "LokiAlwaysFiring";
expr = "vector(1)";
annotations.summary = "Rule that always fires to test alert propagation";
} ];
| 19:34:46 |
hexa | does not propagate 🤷 | 19:34:59 |
hexa | ruler = {
storage = {
type = "local";
local.directory = "/etc/loki/rules/";
};
rule_path = "/tmp/loki-rules-scratch";
alertmanager_url = "http://127.0.0.1:9093";
ring.kvstore.store = "inmemory";
};
| 19:35:51 |
hexa | so am I holding the ruler wrong? K900 maybe? | 19:36:01 |
K900 | Hmm | 19:40:06 |
K900 | Sus | 19:40:12 |