diff --git a/hosts/tsuki/configuration.nix b/hosts/tsuki/configuration.nix index 9b7fca9..43aeaad 100644 --- a/hosts/tsuki/configuration.nix +++ b/hosts/tsuki/configuration.nix @@ -7,7 +7,7 @@ # ./services/dokuwiki.nix ./services/gitea # ./services/gitlab - ./services/grafana.nix + ./services/grafana ./services/hydra.nix # ./services/jitsi.nix ./services/jupyter.nix diff --git a/hosts/tsuki/services/grafana.nix b/hosts/tsuki/services/grafana.nix deleted file mode 100644 index 5389925..0000000 --- a/hosts/tsuki/services/grafana.nix +++ /dev/null @@ -1,76 +0,0 @@ -{ config, lib, secrets, ... }: -{ - services.grafana = { - enable = true; - domain = "log.nani.wtf"; - port = secrets.ports.grafana; - addr = "0.0.0.0"; - }; - - # services.influxdb = { - # enable = true; - # dataDir = "/data/var/influxdb"; - # extraConfig = { - # udp = { - # enabled = true; - # bind-address = "0.0.0.0:8089"; - # database = "proxmox"; - # batch-size = 1000; - # batch-timeout = "1s"; - # }; - # }; - # }; - - services.prometheus = { - enable = true; - port = secrets.ports.prometheus; - - scrapeConfigs = [ - { - job_name = "synapse"; - scrape_interval = "15s"; - metrics_path = "/_synapse/metrics"; - static_configs = [ - { - targets = [ "localhost:${toString secrets.ports.matrix.listener}" ]; - } - ]; - } - { - job_name = "minecraft"; - # scrape_interval = "15s"; - # metrics_path = "/_synapse/metrics"; - static_configs = [ - { - targets = [ "${secrets.ips.crafty}:${toString secrets.ports.prometheus-crafty}" ]; - labels = { - server_name = "my-minecraft-server"; - }; - } - ]; - } - ]; - - exporters = { - jitsi.enable = true; - nginx.enable = true; - nginxlog.enable = true; - systemd.enable = true; - # postgres.enable = true; - }; - - # globalConfig = { - - # }; - - }; - - # services.loki = { - # enable = true; - # configFile = ./loki-local-config.yaml; - # config = { - - # }; - # }; - -} diff --git a/hosts/tsuki/services/grafana/default.nix b/hosts/tsuki/services/grafana/default.nix new file mode 100644 index 0000000..50f3399 --- /dev/null +++ b/hosts/tsuki/services/grafana/default.nix @@ -0,0 +1,22 @@ +{ config, lib, secrets, ... }: +{ + imports = [ + ./prometheus.nix + ./influxdb.nix + ./loki.nix + ]; + + services.grafana = { + enable = true; + domain = "log.nani.wtf"; + port = secrets.ports.grafana; + addr = "0.0.0.0"; + dataDir = "${config.machineVars.dataDrives.default}/var/grafana"; + + database = { + type = "postgres"; + user = "grafana"; + host = "localhost:${toString secrets.ports.postgres}"; + }; + }; +} diff --git a/hosts/tsuki/services/grafana/influxdb.nix b/hosts/tsuki/services/grafana/influxdb.nix new file mode 100644 index 0000000..64faa2c --- /dev/null +++ b/hosts/tsuki/services/grafana/influxdb.nix @@ -0,0 +1,16 @@ +{ config, secrets, ... }: +{ + # services.influxdb = { + # enable = true; + # dataDir = "${config.machineVars.dataDrives.default}/var/influxdb"; + # extraConfig = { + # udp = { + # enabled = true; + # bind-address = "0.0.0.0:8089"; + # database = "proxmox"; + # batch-size = 1000; + # batch-timeout = "1s"; + # }; + # }; + # }; +} diff --git a/hosts/tsuki/services/grafana/loki.nix b/hosts/tsuki/services/grafana/loki.nix new file mode 100644 index 0000000..5a55aac --- /dev/null +++ b/hosts/tsuki/services/grafana/loki.nix @@ -0,0 +1,10 @@ +{ ... }: +{ + # services.loki = { + # enable = true; + # configFile = ./loki-local-config.yaml; + # config = { + + # }; + # }; +} diff --git a/hosts/tsuki/services/grafana/prometheus.nix b/hosts/tsuki/services/grafana/prometheus.nix new file mode 100644 index 0000000..cb77845 --- /dev/null +++ b/hosts/tsuki/services/grafana/prometheus.nix @@ -0,0 +1,52 @@ +{ secrets, ... }: { + services.prometheus = { + enable = true; + port = secrets.ports.prometheus; + + scrapeConfigs = [ + { + job_name = "synapse"; + scrape_interval = "15s"; + metrics_path = "/_synapse/metrics"; + static_configs = [ + { + targets = [ "localhost:${toString secrets.ports.matrix.listener}" ]; + } + ]; + } + # { + # job_name = "minecraft"; + # # scrape_interval = "15s"; + # # metrics_path = "/_synapse/metrics"; + # static_configs = [ + # { + # targets = [ "${secrets.ips.crafty}:${toString secrets.ports.prometheus-crafty}" ]; + # labels = { + # server_name = "my-minecraft-server"; + # }; + # } + # ]; + # } + ]; + + exporters = { + # jitsi.enable = true; + nginx.enable = true; + nginxlog.enable = true; + systemd.enable = true; + # openldap + # openvpn + # nextcloud + # influxdb + # wireguard + # postgres = { + # enable = true; + # }; + }; + + # globalConfig = { + + # }; + + }; +}