Revert "metrics: stop parsing prometheus labels from url"

This reverts commit 1524b6b10c.

Prometheus doesn't allow scraping from uris only socketAddresses
The relabeling is to change the internal labels to trick it to read
from a url
This commit is contained in:
Daniel Olsen 2023-01-20 05:04:16 +01:00
parent 1524b6b10c
commit efed13c810
2 changed files with 36 additions and 14 deletions

View File

@ -34,6 +34,33 @@ in {
url = "https://matrix.pvv.ntnu.no/metrics/config.json";
}
];
relabel_configs = [
{
source_labels = [ "__address__" ];
regex = "[^/]+(/.*)";
target_label = "__metrics_path__";
}
{
source_labels = [ "__address__" ];
regex = "([^/]+)/.*";
target_label = "instance";
}
{
source_labels = [ "__address__" ];
regex = "[^/]+\\/+[^/]+/(.*)/\\d+$";
target_label = "job";
}
{
source_labels = [ "__address__" ];
regex = "[^/]+\\/+[^/]+/.*/(\\d+)$";
target_label = "index";
}
{
source_labels = [ "__address__" ];
regex = "([^/]+)/.*";
target_label = "__address__";
}
];
}
];
ruleFiles = [ rules/synapse-v2.rules ];

View File

@ -206,22 +206,17 @@ in {
};
locations."/metrics/" = let
# See https://github.com/matrix-org/synapse/blob/develop/docs/metrics-howto.md
staticConfigs = lib.pipe cfg.workers.instances [
endpoints = lib.pipe cfg.workers.instances [
(lib.mapAttrsToList (_: v: v))
# Add metrics for main process to the list of workers
(x: x ++ [{ type = "master"; index = 1; }])
(map (w: {
targets = [ "matrix.pvv.ntnu.no/metrics/${w.type}/${toString w.index}" ];
labels = {
instance = "matrix.pvv.ntnu.no";
job = w.type;
index = toString w.index;
};
}))
];
(map (w: "${w.type}/${toString w.index}"))
(map (w: "matrix.pvv.ntnu.no/metrics/${w}"))
] ++ [ "matrix.pvv.ntnu.no/metrics/master/1" ];
in {
alias = (pkgs.writeTextDir "/config.json" (builtins.toJSON staticConfigs)) + "/";
alias = pkgs.writeTextDir "/config.json"
(builtins.toJSON [
{ targets = endpoints;
labels = { };
}]) + "/";
};
})];
}