about summary refs log tree commit diff
path: root/modules/services/monitoring
diff options
context:
space:
mode:
authorFranck Cuny <franck@fcuny.net>2023-05-12 14:53:59 -0700
committerFranck Cuny <franck@fcuny.net>2023-05-12 14:55:31 -0700
commit03707f1c0d9615d3c6385132af52de60c2fedfc0 (patch)
treeb3e1a344693cb4c151e014812d42bac63d616567 /modules/services/monitoring
parentprofiles/monitoring: move promtail to a profile (diff)
downloadworld-03707f1c0d9615d3c6385132af52de60c2fedfc0.tar.gz
profiles/monitoring: move loki to a profile
Add a nginx virtualhost for loki too, so that we can use a valid SSL
certificate.
Diffstat (limited to 'modules/services/monitoring')
-rw-r--r--modules/services/monitoring/default.nix1
-rw-r--r--modules/services/monitoring/loki.nix112
2 files changed, 0 insertions, 113 deletions
diff --git a/modules/services/monitoring/default.nix b/modules/services/monitoring/default.nix
index 32866cb..9c75aa8 100644
--- a/modules/services/monitoring/default.nix
+++ b/modules/services/monitoring/default.nix
@@ -5,7 +5,6 @@ in
 {
   imports = [
     ./grafana.nix
-    ./loki.nix
     ./prometheus.nix
   ];
 }
diff --git a/modules/services/monitoring/loki.nix b/modules/services/monitoring/loki.nix
deleted file mode 100644
index 65c4bdd..0000000
--- a/modules/services/monitoring/loki.nix
+++ /dev/null
@@ -1,112 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.my.services.monitoring.loki;
-in
-{
-  options.my.services.monitoring.loki = with lib; {
-    enable = mkEnableOption "loki observability stack";
-    listenAddress = mkOption {
-      type = types.str;
-      default = "0.0.0.0";
-      description = lib.mdDoc ''
-        Address to listen on.
-      '';
-    };
-    listenPort = mkOption {
-      type = types.port;
-      default = 3100;
-      description = lib.mdDoc ''
-        Port to listen on.
-      '';
-    };
-  };
-
-  config = lib.mkIf cfg.enable {
-    services.loki = {
-      enable = true;
-      configuration = {
-        # no need for authentication, since we're binding on the
-        # wireguard interface, we can trust the connections.
-        auth_enabled = false;
-
-        server = {
-          http_listen_port = 3100;
-          http_listen_address = cfg.listenAddress;
-        };
-
-        ingester = {
-          lifecycler = {
-            address = cfg.listenAddress;
-            ring = {
-              kvstore = { store = "inmemory"; };
-              replication_factor = 1;
-            };
-            final_sleep = "0s";
-          };
-
-          # Any chunk not receiving new logs in this time will be flushed
-          chunk_idle_period = "1h";
-
-          # All chunks will be flushed when they hit this age, default is 1h
-          max_chunk_age = "1h";
-
-          # Loki will attempt to build chunks up to 1.5MB, flushing first if
-          # chunk_idle_period or max_chunk_age is reached first
-          chunk_target_size = 1048576;
-
-          # Must be greater than index read cache TTL if using an index cache (Default
-          # index read cache TTL is 5m)
-          chunk_retain_period = "30s";
-
-          # Chunk transfers disabled
-          max_transfer_retries = 0;
-        };
-
-        schema_config = {
-          configs = [{
-            from = "2020-10-24";
-            store = "boltdb-shipper";
-            object_store = "filesystem";
-            schema = "v11";
-            index = {
-              prefix = "index_";
-              period = "24h";
-            };
-          }];
-        };
-
-        storage_config = {
-          boltdb_shipper = {
-            active_index_directory = "/var/lib/loki/boltdb-shipper-active";
-            cache_location = "/var/lib/loki/boltdb-shipper-cache";
-
-            # Can be increased for faster performance over longer query periods,
-            # uses more disk space
-            cache_ttl = "24h";
-
-            shared_store = "filesystem";
-          };
-
-          filesystem = { directory = "/var/lib/loki/chunks"; };
-        };
-
-        limits_config = {
-          reject_old_samples = true;
-          reject_old_samples_max_age = "168h";
-        };
-
-        chunk_store_config = { max_look_back_period = "0s"; };
-
-        table_manager = {
-          retention_deletes_enabled = false;
-          retention_period = "0s";
-        };
-
-        compactor = {
-          working_directory = "/var/lib/loki/boltdb-shipper-compactor";
-          shared_store = "filesystem";
-        };
-      };
-    };
-  };
-}