# Loki — monolithic (all-in-one). Рекомендованный режим до ~20 ГБ/сутки. # Наш объём — ~39 МБ/сутки (замер 24.08), то есть запас в 500 раз. Микросервисная # раскладка здесь была бы сложностью без единого выигрыша. auth_enabled: false # один арендатор; разграничение снаружи, на Caddy basic_auth server: http_listen_port: 3100 grpc_listen_port: 9096 log_level: warn # Логи Alloy шлёт пачками; дефолтные 4 МБ на gRPC-сообщение при всплеске # (например, рестарт с досылом из WAL) дают 'grpc: received message larger than max'. grpc_server_max_recv_msg_size: 16777216 grpc_server_max_send_msg_size: 16777216 common: instance_addr: 127.0.0.1 path_prefix: /loki storage: filesystem: chunks_directory: /loki/chunks rules_directory: /loki/rules replication_factor: 1 ring: kvstore: store: inmemory schema_config: configs: - from: 2026-08-01 store: tsdb object_store: filesystem schema: v13 index: prefix: index_ period: 24h storage_config: tsdb_shipper: active_index_directory: /loki/tsdb-index cache_location: /loki/tsdb-cache filesystem: directory: /loki/chunks limits_config: # Приём «из прошлого». Агент после обрыва досылает накопленное из WAL — # с дефолтным окном (1 неделя приёма, но reject_old_samples_max_age) часть # догоняемых строк молча отбрасывается с 'entry too far behind'. reject_old_samples: true reject_old_samples_max_age: 168h # Потолок на арендатора. 39 МБ/сутки = ~0.5 МБ/с в пике; 8 МБ/с — щедрый запас, # но не «безлимит», чтобы взбесившийся источник не съел диск за ночь. ingestion_rate_mb: 8 ingestion_burst_size_mb: 16 max_streams_per_user: 5000 max_label_names_per_series: 20 # Ретенция. Journald на хостах держит ~13 дней при потолке 500 МБ; в Loki # смысл хранить дольше — ради разбора инцидентов постфактум. retention_period: 720h volume_enabled: true compactor: working_directory: /loki/compactor delete_request_store: filesystem # Без retention_enabled параметр retention_period выше НЕ работает: Loki # примет его в конфиг и будет копить вечно. Классическая тихая настройка. retention_enabled: true retention_delete_delay: 2h compaction_interval: 10m ruler: storage: type: local local: directory: /loki/rules analytics: reporting_enabled: false