services.loki = {
enable = true;
configuration = {
auth_enabled = false;
server = {
http_listen_port = 3100;
};
compactor = {
delete_request_store = "filesystem";
retention_enabled = true;
working_directory = "${config.services.loki.dataDir}/compactor";
};
ingester = {
lifecycler = {
address = "127.0.0.1";
ring = {
kvstore.store = "inmemory";
replication_factor = 1;
};
final_sleep = "0s";
};
chunk_idle_period = "5m";
chunk_retain_period = "30s";
};
ruler = {
storage = {
type = "local";
local.directory = "/etc/loki/rules/";
};
rule_path = "/tmp/loki-rules-scratch";
alertmanager_url = "http://127.0.0.1:9093";
ring.kvstore.store = "inmemory";
};
schema_config.configs = [ {
from = "2020-07-01";
store = "boltdb";
object_store = "filesystem";
schema = "v11";
index = {
prefix = "index_";
period = "168h";
};
} {
from = "2024-05-25";
store = "tsdb";
object_store = "filesystem";
schema = "v13";
index = {
prefix = "index_";
period = "24h";
};
} ];
storage_config = {
boltdb.directory = "${config.services.loki.dataDir}/index";
tsdb_shipper = {
active_index_directory = "${config.services.loki.dataDir}/data/2024-05-25/index";
cache_location = "${config.services.loki.dataDir}/data/2024-05-25/cache";
cache_ttl = "24h";
};
filesystem.directory = "${config.services.loki.dataDir}/chunks";
};
limits_config = {
reject_old_samples = true;
reject_old_samples_max_age = "168h";
};
table_manager = {
retention_deletes_enabled = false;
retention_period = "0s";
};
};
};
|