feat: enhance Blackbox Exporter configuration with domain blacklist and update Grafana alerting rules
This commit is contained in:
@@ -5,13 +5,32 @@ with lib;
|
||||
let
|
||||
hostname = config.networking.hostName;
|
||||
|
||||
cfg = config.services.blackbox-exporter;
|
||||
nginxVHosts = config.services.nginx.virtualHosts or {};
|
||||
allDomains = lib.attrNames nginxVHosts;
|
||||
httpsDomains = lib.map (d: "https://${d}") allDomains;
|
||||
filteredDomains = builtins.filter (d: !builtins.elem d cfg.blacklistDomains) allDomains;
|
||||
httpsDomains = lib.map (d: "https://${d}") filteredDomains;
|
||||
domainsString = builtins.concatStringsSep "\n "
|
||||
(map (d: "\"${d}\",") httpsDomains);
|
||||
in {
|
||||
options.services.blackbox-exporter.blacklistDomains = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
description = "List of domains to monitor with Blackbox Exporter";
|
||||
};
|
||||
|
||||
config = {
|
||||
services.blackbox-exporter = {
|
||||
blacklistDomains = [
|
||||
"autoconfig.cloonar.com"
|
||||
"cloonar.dev"
|
||||
"loki.cloonar.com"
|
||||
"stage.korean-skin.care"
|
||||
"victoria-server.cloonar.com"
|
||||
"updns.cloonar.com"
|
||||
"feeds.jordanrannells.com"
|
||||
];
|
||||
};
|
||||
# Systemd service for Blackbox Exporter
|
||||
systemd.services.blackbox-exporter = {
|
||||
description = "Blackbox Exporter";
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
{ lib, pkgs, config, ... }:
|
||||
|
||||
let
|
||||
cfg = config.services.blackbox-exporter;
|
||||
nginxVHosts = config.services.nginx.virtualHosts or {};
|
||||
allDomains = lib.attrNames nginxVHosts;
|
||||
httpsDomains = lib.map (d: "https://${d}") allDomains;
|
||||
filteredDomains = builtins.filter (d: !builtins.elem d cfg.blacklistDomains) allDomains;
|
||||
httpsDomains = lib.map (d: "https://${d}") filteredDomains;
|
||||
websiteAlertRules = lib.map (target:
|
||||
let
|
||||
domain = lib.replaceStrings ["://" "." "-" "/" ] ["-" "-" "_" "_"] target + "-down-alert";
|
||||
|
||||
@@ -67,9 +67,7 @@ in
|
||||
use_pkce = true;
|
||||
};
|
||||
|
||||
"auth.anonymous".enabled = true;
|
||||
"auth.anonymous".org_name = "Cloonar e.U.";
|
||||
"auth.anonymous".org_role = "Viewer";
|
||||
"auth.anonymous".enabled = false;
|
||||
|
||||
server = {
|
||||
root_url = "https://grafana.cloonar.com";
|
||||
|
||||
Reference in New Issue
Block a user