server: http_listen_port: 3100 http_server_read_timeout: 3m http_server_write_timeout: 3m grpc_server_max_send_msg_size: 2147483647 grpc_server_max_recv_msg_size: 2147483647 common: # Loki의 공통 설정 path_prefix: /loki # Loki의 데이터 저장 경로 storage: filesystem: chunks_directory: /loki/chunks # 로그 chunk 데이터를 저장하는 디스크 경로 rules_directory: /loki/rules # Loki alerting/rule 파일을 저장하는 디렉토리 replication_factor: 1 ring: kvstore: store: memberlist # inmemory schema_config: configs: - from: 2025-04-01 store: boltdb-shipper object_store: filesystem schema: v11 index: prefix: index_ period: 24h ruler: enable_api: true limits_config: enforce_metric_name: false max_cache_freshness_per_query: 10m reject_old_samples: true reject_old_samples_max_age: 168h split_queries_by_interval: 15m # 쿼리를 작은 단위로 나눠서 처리 → 요청량 분산 per_stream_rate_limit: 512M cardinality_limit: 200000 ingestion_burst_size_mb: 1000 ingestion_rate_mb: 10000 max_entries_limit_per_query: 1000000 # 반환할 로그 개수 제한으로 리소스 초과 방지 max_global_streams_per_user: 10000 max_streams_per_user: 0 max_query_parallelism: 32 # 단일 쿼리를 쪼개 병렬 처리 허용 수 제한 max_label_value_length: 20480 max_label_name_length: 10240 max_label_names_per_series: 300 frontend: max_outstanding_per_tenant: 8192 # 프론트에서 수용 가능한 요청 수 증가 compress_responses: true querier: max_concurrent: 8192 # 실행기 병렬 처리 확장 query_scheduler: max_outstanding_requests_per_tenant: 8192 # 스케줄러 병목 해소 query_range: split_queries_by_interval: 0