From 7e402ed9c8e8cdf1cc2ad558a3c6a04f9046e172 Mon Sep 17 00:00:00 2001 From: Ryan Yin Date: Mon, 19 Aug 2024 15:45:07 +0800 Subject: [PATCH] feat: victorica-metrics & prometheus - remote write --- hosts/idols-aquamarine/caddy.nix | 13 +++++++++++++ hosts/idols-aquamarine/prometheus/default.nix | 6 +++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/hosts/idols-aquamarine/caddy.nix b/hosts/idols-aquamarine/caddy.nix index d4f44937..05c638b0 100644 --- a/hosts/idols-aquamarine/caddy.nix +++ b/hosts/idols-aquamarine/caddy.nix @@ -45,36 +45,49 @@ in { ''; virtualHosts."git.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:3301 ''; virtualHosts."sftpgo.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:3302 ''; virtualHosts."webdav.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:3303 ''; virtualHosts."transmission.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:9091 ''; # Monitoring virtualHosts."uptime-kuma.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:53350 ''; virtualHosts."grafana.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:3351 ''; virtualHosts."prometheus.writefor.fun".extraConfig = '' + ${hostCommonConfig} + encode zstd gzip + reverse_proxy http://localhost:9090 + ''; + # Do not redirect to https for api path + virtualHosts."http://prometheus.writefor.fun/api/v1/write".extraConfig = '' encode zstd gzip reverse_proxy http://localhost:9090 ''; virtualHosts."alertmanager.writefor.fun".extraConfig = '' + ${hostCommonConfig} encode zstd gzip reverse_proxy http://localhost:9093 ''; diff --git a/hosts/idols-aquamarine/prometheus/default.nix b/hosts/idols-aquamarine/prometheus/default.nix index c44f04c1..9cba073e 100644 --- a/hosts/idols-aquamarine/prometheus/default.nix +++ b/hosts/idols-aquamarine/prometheus/default.nix @@ -12,7 +12,11 @@ port = 9090; webExternalUrl = "http://prometheus.writefor.fun"; - extraFlags = ["--storage.tsdb.retention.time=45d"]; + extraFlags = [ + "--storage.tsdb.retention.time=45d" + # https://prometheus.io/docs/prometheus/latest/storage/#remote-storage-integrations + "--web.enable-remote-write-receiver" + ]; # Directory below /var/lib to store Prometheus metrics data. stateDir = "prometheus2";