Replace telegraf with node exporter

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-04-19 17:57:34 +03:00
parent 3f1531fbd1
commit 1a445ab6fd
37 changed files with 3099 additions and 421 deletions

View File

@@ -43,7 +43,10 @@ in
traefik = {
containerConfig = {
image = "docker-archive:${selfPkgs.docker-traefik}";
networks = [ networks.traefik.ref ];
networks = [
networks.traefik.ref
networks.prometheus.ref
];
volumes =
let
uid = builtins.toString config.users.users.${user}.uid;
@@ -84,6 +87,8 @@ in
"--certificatesresolvers.letsencrypt.acme.dnschallenge.provider=cloudflare"
"--certificatesresolvers.letsencrypt.acme.email=nick@karaolidis.com"
"--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
"--metrics.prometheus=true"
];
labels = [
"traefik.enable=true"
@@ -135,12 +140,37 @@ in
};
in
[ "${config}:/etc/authelia/conf.d/traefik.yaml:ro" ];
prometheus-init.containerConfig.volumes =
let
traefikConfig = (pkgs.formats.yaml { }).generate "traefik.yml" {
scrape_configs =
let
hostname = config.networking.hostName;
in
[
{
job_name = "${hostname}-traefik";
static_configs = [
{
targets = [ "traefik:8080" ];
labels = {
app = "traefik";
inherit user hostname;
};
}
];
}
];
};
in
[ "${traefikConfig}:/etc/prometheus/conf.d/traefik.yml" ];
};
};
# https://github.com/eriksjolund/podman-traefik-socket-activation
systemd.user.sockets = {
"traefik-http" = {
traefik-http = {
Socket = {
ListenStream = "0.0.0.0:80";
FileDescriptorName = "http";
@@ -152,7 +182,7 @@ in
};
};
"traefik-https" = {
traefik-https = {
Socket = {
ListenStream = "0.0.0.0:443";
FileDescriptorName = "https";