| 9 Dec 2024 |
hexa | one page has
[ruler: <ruler_config>}
| 00:25:21 |
hexa | but what <ruler_config>'s schema is is never explained | 00:25:37 |
hexa | so hell no | 00:25:40 |
hexa | so while they say … prometheus but for logging … prometheus has a config schema | 00:25:58 |
@adam:robins.wtf | yeah | 00:26:19 |
hexa | * one page has
[ruler: <ruler_config>]
| 00:26:26 |
@adam:robins.wtf | and their docs are hyperlinked | 00:26:52 |
@adam:robins.wtf | like clicking on <string> takes you to https://prometheus.io/docs/prometheus/latest/configuration/configuration/#string | 00:27:11 |
hexa |  Download image.png | 00:27:20 |
hexa |  Download image.png | 00:27:39 |
hexa | they don't ask for feedback 🤔 | 00:27:47 |
@adam:robins.wtf | nope | 00:29:00 |
@adam:robins.wtf | i clicked no hoping to provide feedback | 00:30:33 |
@adam:robins.wtf | loki clearly has a schema, see!
Dec 08 21:52:50 stink2 systemd[1]: Started Loki Service Daemon.
Dec 08 21:52:50 stink2 loki[26054]: panic: runtime error: index out of range [0] with length 0
Dec 08 21:52:50 stink2 loki[26054]: goroutine 1 [running]:
Dec 08 21:52:50 stink2 loki[26054]: github.com/grafana/loki/v3/pkg/loki.validateSchemaRequirements(0xc000d6c008)
Dec 08 21:52:50 stink2 loki[26054]: github.com/grafana/loki/v3/pkg/loki/validation.go:32 +0x712
| 02:55:34 |
hexa | maaaaaan | 02:56:06 |
@adam:robins.wtf | helpful error message about what's wrong with the config? nah just panic | 02:56:10 |
hexa | you seem to be holding it wrong | 02:56:11 |
hexa | * you seem to be holding it wrong | 02:56:17 |
@adam:robins.wtf | clearly | 02:56:18 |
hexa | the module has config validation baked in | 02:56:27 |
@adam:robins.wtf | well it's passing that then | 02:56:36 |
hexa | lmao | 02:56:39 |
hexa | so same shit as rules | 02:56:42 |
hexa | got it | 02:56:45 |
@adam:robins.wtf | i was missing the required schema_config.configs apparent | 03:02:13 |
@adam:robins.wtf | * i was missing the required schema_config.configs apparently | 03:02:16 |
hexa | clearly | 03:06:09 |
@adam:robins.wtf | i don't understand their config examples. they're missing required fields?? | 03:18:05 |
hexa | you think? | 03:18:29 |
hexa | 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";
};
};
};
| 03:19:11 |