Unfortunately I am not able to replicate your issue, using your own configuration. Here is what I have:
docker-compose.yml:
---
networks:
loki:
services:
loki:
image: grafana/loki:3.1.0
command: "-config.file=/etc/loki/config.yaml -target=all"
ports:
- "3101:3101"
- 7946
- 9095
volumes:
- /root/loki/loki-config.yaml:/etc/loki/config.yaml
- /root/loki/opt:/opt/loki:rw
networks:
loki:
aliases:
- loki
grafana:
image: grafana/grafana:latest
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
entrypoint:
- sh
- -euc
- |
mkdir -p /etc/grafana/provisioning/datasources
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
apiVersion: 1
datasources:
- name: Loki
type: loki
access: proxy
url: http://loki:3101
EOF
/run.sh
ports:
- "3000:3000"
networks:
- loki
loki-config.yaml:
auth_enabled: false
server:
http_listen_port: 3101
grpc_listen_port: 9097
grpc_server_max_recv_msg_size: 20971520
grpc_server_max_send_msg_size: 20971520
internal_server:
http_listen_port: 3111
ingester:
wal:
enabled: true
dir: /opt/loki/loki_default/wal
chunk_encoding: snappy
common:
instance_addr: 0.0.0.0
path_prefix: /opt/loki/loki_default
storage:
filesystem:
chunks_directory: /opt/loki/loki_default/chunks
rules_directory: /opt/loki/loki_default/rules
replication_factor: 1
ring:
kvstore:
store: inmemory
querier:
query_ingesters_within: 0
max_concurrent: 24
query_scheduler:
max_outstanding_requests_per_tenant: 32000
limits_config:
ingestion_burst_size_mb: 4096
ingestion_rate_mb: 2048
per_stream_rate_limit: 1024M
per_stream_rate_limit_burst: 2048M
retention_period: 90d
max_global_streams_per_user: 0
shard_streams:
enabled: false
discover_service_name:
discover_log_levels: false
reject_old_samples: false
query_timeout: 30s
schema_config:
configs:
- from: 2024-05-01
store: tsdb
object_store: filesystem
schema: v13
index:
prefix: index_
period: 24h
compactor:
working_directory: /opt/loki/loki_default/compactor
retention_enabled: true
delete_request_store: filesystem
table_manager:
retention_deletes_enabled: true
retention_period: 90d
Starting up Loki and a localized Grafana: docker-compose up -d
Screenshot of the 1-line log that’s pretty much immediately query-able: