59 lines
1.5 KiB
Nix
59 lines
1.5 KiB
Nix
{ config, pkgs, modulesPath, lib, ... }:
|
|
|
|
{
|
|
services.prometheus.alertmanagers = [ {
|
|
scheme = "http";
|
|
# path_prefix = "/alertmanager";
|
|
static_configs = [ {
|
|
targets = [
|
|
"localhost:9093"
|
|
];
|
|
} ];
|
|
} ];
|
|
services.prometheus.alertmanager = {
|
|
enable = true;
|
|
openFirewall = true;
|
|
webExternalUrl = "http://monitor.lab:9093"; # optional but helpful
|
|
configuration = {
|
|
route = {
|
|
group_wait = "10s";
|
|
group_interval = "30s";
|
|
repeat_interval = "30m";
|
|
receiver = "telegram";
|
|
|
|
routes = [
|
|
{
|
|
receiver = "telegram";
|
|
group_wait = "10s";
|
|
match_re = {
|
|
severity = "critical|warning";
|
|
};
|
|
continue = true;
|
|
}
|
|
];
|
|
};
|
|
|
|
receivers = [
|
|
{
|
|
name = "telegram";
|
|
telegram_configs = [
|
|
{
|
|
api_url = "https://api.telegram.org";
|
|
bot_token = config.sops.secrets."telegram-alert-bot-token".path;
|
|
chat_id = -1002642560007;
|
|
message_thread_id = 4;
|
|
parse_mode = "HTML";
|
|
send_resolved = false;
|
|
message = "{{ template \"telegram.message\". }}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
templates = [
|
|
(pkgs.writeText "telegram.tmpl" (builtins.readFile ./provisioning/templates/telegram.tmpl))
|
|
(pkgs.writeText "telegram.markdown.v2.tmpl" (builtins.readFile ./provisioning/templates/telegram.markdown.v2.tmpl))
|
|
];
|
|
};
|
|
};
|
|
}
|