44 lines
1 KiB
Nix
44 lines
1 KiB
Nix
_:
|
|
let domainName = "alertmanager.labs.adtya.xyz"; in {
|
|
services = {
|
|
caddy = {
|
|
virtualHosts."${domainName}" = {
|
|
extraConfig = ''
|
|
reverse_proxy 127.0.0.1:9093
|
|
'';
|
|
};
|
|
};
|
|
prometheus.alertmanager = {
|
|
enable = true;
|
|
listenAddress = "127.0.0.1";
|
|
port = 9093;
|
|
webExternalUrl = "https://${domainName}/";
|
|
configuration = {
|
|
route = {
|
|
group_by = [ "alertname" ];
|
|
group_wait = "30s";
|
|
group_interval = "5m";
|
|
repeat_interval = "1h";
|
|
receiver = "web.hook";
|
|
};
|
|
receivers = [
|
|
{
|
|
name = "web.hook";
|
|
webhook_configs = [
|
|
{ url = "http://127.0.0.1:5001/"; }
|
|
];
|
|
}
|
|
];
|
|
inhibit_rules = [
|
|
{
|
|
source_match =
|
|
{ severity = "critical"; };
|
|
target_match =
|
|
{ severity = "warning"; };
|
|
equal = [ "alertname" "dev" "instance" ];
|
|
}
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|