Hello, I am currently migrating from Loki version 2.8.2 (Helm chart loki-distributed 0.69.16) to Loki 3.1.1 (Helm chart 6.16.0) and I am following the upgrade guide. It appears that the structure for Loki to store logs in Azure object storage has changed and I think this is causing problems with the migration. I have created three new folders in Azure blob storage called chunks
, ruler
and admin
. My current instance of Loki 2.8.2 just uses index
as the folder name which includes the index named folders. Note: the parent folder for my blob storage is called loki
.I have noticed that there are errors in the index gateway and distributor pods which point to Azure blob storage problems e.g.
level=debug ts=2024-10-16T13:32:56.177743926Z caller=reporter.go:208 msg="failed to read cluster seed file" err="Get \"
https://REMOVED.blob.core.windows.net/loki/chunks/loki_cluster_seed.json?timeout=1
\": context deadline exceeded"
level=error ts=2024-10-16T13:22:38.608194874Z caller=table.go:354 table-name=loki_index2_20012 org_id=self-monitoring traceID=14d2dd943b76a5c1 msg="index set has some problem, cleaning it up" err="Get \"
https://REMOVED.blob.core.windows.net/loki/chunks?comp=list&delimiter=%2F&prefix=index%2Floki_index2_20012%2F&restype=container&timeout=1
\": context deadline exceeded"
I’d like to note that I do not have a loki_cluster_seed.json
file as I did not know one was needed (I cannot find documentation about this). I have created an empty file as a test but I still see these errors. I am using the correct account details for azure such as the account name and account key in my helm values file:
loki:
migrate:
fromDistributed:
enabled: true
memberlistService: loki-loki-distributed-memberlist
schemaConfig:
configs:
- from: 2023-05-19
object_store: azure
store: tsdb
schema: v12
index:
prefix: loki_index2_
period: 24h
- from: 2024-10-18
object_store: azure
store: tsdb
schema: v13
index:
prefix: loki_index3_
period: 24h
ingester:
chunk_encoding: snappy
tracing:
enabled: true
querier:
max_concurrent: 4
storage:
type: azure
azure:
# Name of the Azure Blob Storage account
accountName: REMOVED
# Key associated with the Azure Blob Storage account
accountKey: REMOVED
# Comprehensive connection string for Azure Blob Storage account (Can be used to replace endpoint, accountName, and accountKey)
# connectionString: <your-connection-string>
# Flag indicating whether to use Azure Managed Identity for authentication
useManagedIdentity: false
# Flag indicating whether to use a federated token for authentication
useFederatedToken: false
# Client ID of the user-assigned managed identity (if applicable)
# userAssignedId: <your-user-assigned-id>
# Timeout duration for requests made to the Azure Blob Storage account (in seconds)
requestTimeout: 120
# Domain suffix of the Azure Blob Storage service endpoint (e.g., core.windows.net)
#endpointSuffix: <your-endpoint-suffix>
bucketNames:
chunks: "loki/chunks"
ruler: "loki/ruler"
admin: "loki/admin"
I have set the requestTimeout
to 120
but I keep seeing the &timeout=1
parameter in the error logs.
I want to see old logs (indexed by Loki 2.8.2) in Grafana using the new Loki 3.1.1 instance so I can confirm that once the old loki instance is turned off, I can still access old logs as we store them for 60 days.