nox/systems/monitoring.noc.eh22.intern/loki.nix
2025-03-12 22:29:28 +01:00

70 lines
1.7 KiB
Nix

{
pkgs,
config,
...
}:
{
services = {
loki = {
enable = true;
configuration = {
auth_enabled = false;
server.http_listen_port = 3100;
common = {
ring.kvstore.store = "inmemory";
ring.instance_addr = "127.0.0.1";
replication_factor = 1;
};
storage_config = {
filesystem.directory = "/var/lib/loki/chunks";
tsdb_shipper = {
active_index_directory = "tsdb_active_index";
cache_location = "tsdb_cache";
};
};
compactor = {
working_directory = "/var/lib/loki/compactor";
compaction_interval = "10m";
retention_enabled = true;
retention_delete_delay = "1s";
retention_delete_worker_count = 150;
delete_request_store = "filesystem";
};
limits_config.retention_period = "1y";
schema_config = {
configs = [
{
from = "2025-03-01";
store = "tsdb";
object_store = "filesystem";
schema = "v13";
index = {
prefix = "index_";
period = "24h";
};
}
];
};
};
};
nginx = {
upstreams.loki = {
servers."127.0.0.1:${toString config.services.loki.configuration.server.http_listen_port}" = { };
extraConfig = "keepalive 20;";
};
virtualHosts."loki.noc.eh22.intern" = {
locations."/loki/api/v1/push" = {
proxyPass = "http://loki";
#basicAuthFile = config.sops.secrets."services/loki/basic_auth".path;
};
};
};
};
}