diff --git a/hosts/git.cloonar.com/configuration.nix b/hosts/git.cloonar.com/configuration.nix index d26fc18..1418df1 100644 --- a/hosts/git.cloonar.com/configuration.nix +++ b/hosts/git.cloonar.com/configuration.nix @@ -9,6 +9,7 @@ ./modules/gitea.nix ./modules/drone/server.nix ./modules/drone/runner.nix + ./modules/fwmetrics.nix ./utils/modules/borgbackup.nix ./utils/modules/netdata.nix diff --git a/hosts/git.cloonar.com/modules/fwmetrics.nix b/hosts/git.cloonar.com/modules/fwmetrics.nix new file mode 100644 index 0000000..439ab16 --- /dev/null +++ b/hosts/git.cloonar.com/modules/fwmetrics.nix @@ -0,0 +1,29 @@ +{ config, pkgs, ... }: +let + configure_prom = builtins.toFile "prometheus.yml" '' + scrape_configs: + - job_name: 'fw' + stream_parse: true + static_configs: + - targets: + - fw.cloonar.com:9100 + ''; +in { + sops.secrets.victoria-agent-env = { + sopsFile = ../utils/modules/victoriametrics/secrets.yaml; + }; + + services.prometheus.exporters.node.enable = true; + + systemd.services.export-to-prometheus = { + path = with pkgs; [victoriametrics]; + enable = true; + after = ["network-online.target"]; + wantedBy = ["multi-user.target"]; + script = "vmagent -promscrape.config=${configure_prom} -envflag.enable -remoteWrite.url=https://victoria-server.cloonar.com/api/v1/write"; + + serviceConfig = { + EnvironmentFile=config.sops.secrets.victoria-agent-env.path; + }; + }; +}