I have setup loki-grafana using helm to check logs. I have created it few days back and everything was working fine, but now suddenly started facing the error saying CrashLoopBackOff with error-code 2 in statefulset pod called loki-stack.Can anyone please help solving this issue?
This is the last few logs of that pod
goroutine 183 [select]:
github.com/grafana/loki/pkg/storage/chunk/cache.(*FifoCache).runPruneJob(0xc00066a8f0, 0x0, 0xc0004eb620)
/src/loki/pkg/storage/chunk/cache/fifo_cache.go:213 +0xdf
created by github.com/grafana/loki/pkg/storage/chunk/cache.NewFifoCache
/src/loki/pkg/storage/chunk/cache/fifo_cache.go:202 +0x10f6
goroutine 189 [select]:
github.com/grafana/loki/pkg/storage/chunk/local.(*BoltIndexClient).loop(0xc00013f9f0)
/src/loki/pkg/storage/chunk/local/boltdb_index_client.go:82 +0x105
this is deployment file
apiVersion: apps/v1
kind: Deployment
metadata:
name: loki-stack-grafana
namespace: grafana-loki
uid: bf25a492-a0b2-40c2-9848-08931722e254
resourceVersion: '145239013'
generation: 4
creationTimestamp: '2022-06-08T06:45:57Z'
labels:
app.kubernetes.io/instance: loki-stack
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: grafana
app.kubernetes.io/version: 8.3.5
helm.sh/chart: grafana-6.24.1
annotations:
deployment.kubernetes.io/revision: '4'
meta.helm.sh/release-name: loki-stack
meta.helm.sh/release-namespace: grafana-loki
managedFields:
- manager: helm
operation: Update
apiVersion: apps/v1
time: '2022-06-08T06:45:57Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:meta.helm.sh/release-name: {}
f:meta.helm.sh/release-namespace: {}
f:labels:
.: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/managed-by: {}
f:app.kubernetes.io/name: {}
f:app.kubernetes.io/version: {}
f:helm.sh/chart: {}
f:spec:
f:progressDeadlineSeconds: {}
f:replicas: {}
f:revisionHistoryLimit: {}
f:selector: {}
f:strategy:
f:rollingUpdate:
.: {}
f:maxSurge: {}
f:maxUnavailable: {}
f:type: {}
f:template:
f:metadata:
f:annotations:
.: {}
f:checksum/config: {}
f:checksum/dashboards-json-config: {}
f:checksum/sc-dashboard-provider-config: {}
f:checksum/secret: {}
f:labels:
.: {}
f:app.kubernetes.io/instance: {}
f:app.kubernetes.io/name: {}
f:spec:
f:automountServiceAccountToken: {}
f:containers:
k:{"name":"grafana"}:
.: {}
f:env:
.: {}
k:{"name":"GF_PATHS_DATA"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"GF_PATHS_LOGS"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"GF_PATHS_PLUGINS"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"GF_PATHS_PROVISIONING"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"GF_SECURITY_ADMIN_PASSWORD"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
k:{"name":"GF_SECURITY_ADMIN_USER"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
f:image: {}
f:imagePullPolicy: {}
f:livenessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:path: {}
f:port: {}
f:scheme: {}
f:initialDelaySeconds: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:name: {}
f:ports:
.: {}
k:{"containerPort":80,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
k:{"containerPort":3000,"protocol":"TCP"}:
.: {}
f:containerPort: {}
f:name: {}
f:protocol: {}
f:readinessProbe:
.: {}
f:failureThreshold: {}
f:httpGet:
.: {}
f:path: {}
f:port: {}
f:scheme: {}
f:periodSeconds: {}
f:successThreshold: {}
f:timeoutSeconds: {}
f:resources: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
f:volumeMounts:
.: {}
k:{"mountPath":"/etc/grafana/grafana.ini"}:
.: {}
f:mountPath: {}
f:name: {}
f:subPath: {}
k:{"mountPath":"/etc/grafana/provisioning/datasources"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"mountPath":"/var/lib/grafana"}:
.: {}
f:mountPath: {}
f:name: {}
k:{"name":"grafana-sc-datasources"}:
.: {}
f:env:
.: {}
k:{"name":"FOLDER"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"LABEL"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"METHOD"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"REQ_METHOD"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"REQ_PASSWORD"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
k:{"name":"REQ_URL"}:
.: {}
f:name: {}
f:value: {}
k:{"name":"REQ_USERNAME"}:
.: {}
f:name: {}
f:valueFrom:
.: {}
f:secretKeyRef:
.: {}
f:key: {}
f:name: {}
k:{"name":"RESOURCE"}:
.: {}
f:name: {}
f:value: {}
f:image: {}
f:imagePullPolicy: {}
f:name: {}
f:resources: {}
f:terminationMessagePath: {}
f:terminationMessagePolicy: {}
f:volumeMounts:
.: {}
k:{"mountPath":"/etc/grafana/provisioning/datasources"}:
.: {}
f:mountPath: {}
f:name: {}
f:dnsPolicy: {}
f:enableServiceLinks: {}
f:restartPolicy: {}
f:schedulerName: {}
f:securityContext:
.: {}
f:fsGroup: {}
f:runAsGroup: {}
f:runAsUser: {}
f:serviceAccount: {}
f:serviceAccountName: {}
f:terminationGracePeriodSeconds: {}
f:volumes:
.: {}
k:{"name":"config"}:
.: {}
f:configMap:
.: {}
f:defaultMode: {}
f:name: {}
f:name: {}
k:{"name":"sc-datasources-volume"}:
.: {}
f:emptyDir: {}
f:name: {}
k:{"name":"storage"}:
.: {}
f:emptyDir: {}
f:name: {}
- manager: node-fetch
operation: Update
apiVersion: apps/v1
time: '2022-06-20T09:09:18Z'
fieldsType: FieldsV1
fieldsV1:
f:spec:
f:template:
f:metadata:
f:annotations:
f:kubectl.kubernetes.io/restartedAt: {}
- manager: kube-controller-manager
operation: Update
apiVersion: apps/v1
time: '2022-06-20T10:02:09Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
f:deployment.kubernetes.io/revision: {}
f:status:
f:availableReplicas: {}
f:conditions:
.: {}
k:{"type":"Available"}:
.: {}
f:lastTransitionTime: {}
f:lastUpdateTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
k:{"type":"Progressing"}:
.: {}
f:lastTransitionTime: {}
f:lastUpdateTime: {}
f:message: {}
f:reason: {}
f:status: {}
f:type: {}
f:observedGeneration: {}
f:readyReplicas: {}
f:replicas: {}
f:updatedReplicas: {}
selfLink: /apis/apps/v1/namespaces/grafana-loki/deployments/loki-stack-grafana
status:
observedGeneration: 4
replicas: 1
updatedReplicas: 1
readyReplicas: 1
availableReplicas: 1
conditions:
- type: Available
status: 'True'
lastUpdateTime: '2022-06-08T06:46:27Z'
lastTransitionTime: '2022-06-08T06:46:27Z'
reason: MinimumReplicasAvailable
message: Deployment has minimum availability.
- type: Progressing
status: 'True'
lastUpdateTime: '2022-06-20T10:02:09Z'
lastTransitionTime: '2022-06-08T06:45:57Z'
reason: NewReplicaSetAvailable
message: ReplicaSet "loki-stack-grafana-7c5d9b4bd5" has successfully progressed.
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/instance: loki-stack
app.kubernetes.io/name: grafana
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/instance: loki-stack
app.kubernetes.io/name: grafana
annotations:
checksum/config: c9555bdb452894c521c85985f3b8a62b655d831921884d4a87c2159575c246d3
checksum/dashboards-json-config: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/sc-dashboard-provider-config: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/secret: cf6cd98e17ab9ab31c08e2d08258834e3a939d64366f351d1089fa4b9599c3ba
kubectl.kubernetes.io/restartedAt: '2022-06-20T10:01:43Z'
spec:
volumes:
- name: config
configMap:
name: loki-stack-grafana
defaultMode: 420
- name: storage
emptyDir: {}
- name: sc-datasources-volume
emptyDir: {}
containers:
- name: grafana-sc-datasources
image: quay.io/kiwigrid/k8s-sidecar:1.15.6
env:
- name: METHOD
value: WATCH
- name: LABEL
value: grafana_datasource
- name: FOLDER
value: /etc/grafana/provisioning/datasources
- name: RESOURCE
value: both
- name: REQ_USERNAME
valueFrom:
secretKeyRef:
name: loki-stack-grafana
key: admin-user
- name: REQ_PASSWORD
valueFrom:
secretKeyRef:
name: loki-stack-grafana
key: admin-password
- name: REQ_URL
value: http://localhost:3000/api/admin/provisioning/datasources/reload
- name: REQ_METHOD
value: POST
resources: {}
volumeMounts:
- name: sc-datasources-volume
mountPath: /etc/grafana/provisioning/datasources
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
- name: grafana
image: grafana/grafana:8.3.5
ports:
- name: service
containerPort: 80
protocol: TCP
- name: grafana
containerPort: 3000
protocol: TCP
env:
- name: GF_SECURITY_ADMIN_USER
valueFrom:
secretKeyRef:
name: loki-stack-grafana
key: admin-user
- name: GF_SECURITY_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: loki-stack-grafana
key: admin-password
- name: GF_PATHS_DATA
value: /var/lib/grafana/
- name: GF_PATHS_LOGS
value: /var/log/grafana
- name: GF_PATHS_PLUGINS
value: /var/lib/grafana/plugins
- name: GF_PATHS_PROVISIONING
value: /etc/grafana/provisioning
resources: {}
volumeMounts:
- name: config
mountPath: /etc/grafana/grafana.ini
subPath: grafana.ini
- name: storage
mountPath: /var/lib/grafana
- name: sc-datasources-volume
mountPath: /etc/grafana/provisioning/datasources
livenessProbe:
httpGet:
path: /api/health
port: 3000
scheme: HTTP
initialDelaySeconds: 60
timeoutSeconds: 30
periodSeconds: 10
successThreshold: 1
failureThreshold: 10
readinessProbe:
httpGet:
path: /api/health
port: 3000
scheme: HTTP
timeoutSeconds: 1
periodSeconds: 10
successThreshold: 1
failureThreshold: 3
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
serviceAccountName: loki-stack-grafana
serviceAccount: loki-stack-grafana
automountServiceAccountToken: true
securityContext:
runAsUser: 472
runAsGroup: 472
fsGroup: 472
schedulerName: default-scheduler
enableServiceLinks: true
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
This the PVC
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: storage-loki-stack-0
namespace: grafana-loki
uid: efbcac70-785e-4ee5-bf40-2a869349606f
resourceVersion: '142888329'
creationTimestamp: '2022-06-08T06:30:21Z'
labels:
app: loki
release: loki-stack
annotations:
pv.kubernetes.io/bind-completed: 'yes'
pv.kubernetes.io/bound-by-controller: 'yes'
volume.beta.kubernetes.io/storage-provisioner: dobs.csi.digitalocean.com
finalizers:
- kubernetes.io/pvc-protection
managedFields:
- manager: kube-controller-manager
operation: Update
apiVersion: v1
time: '2022-06-08T06:30:25Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:pv.kubernetes.io/bind-completed: {}
f:pv.kubernetes.io/bound-by-controller: {}
f:volume.beta.kubernetes.io/storage-provisioner: {}
f:labels:
.: {}
f:app: {}
f:release: {}
f:spec:
f:accessModes: {}
f:resources:
f:requests:
.: {}
f:storage: {}
f:volumeMode: {}
f:volumeName: {}
f:status:
f:accessModes: {}
f:capacity:
.: {}
f:storage: {}
f:phase: {}
selfLink: /api/v1/namespaces/grafana-loki/persistentvolumeclaims/storage-loki-stack-0
status:
phase: Bound
accessModes:
- ReadWriteOnce
capacity:
storage: 10Gi
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
volumeName: pvc-efbcac70-785e-4ee5-bf40-2a869349606f
storageClassName: do-block-storage
volumeMode: Filesystem
This is PV
apiVersion: v1
kind: PersistentVolume
metadata:
name: pvc-efbcac70-785e-4ee5-bf40-2a869349606f
uid: c91f45dc-b0c2-4077-a76c-16c83256587c
resourceVersion: '142888376'
creationTimestamp: '2022-06-08T06:30:25Z'
annotations:
pv.kubernetes.io/provisioned-by: dobs.csi.digitalocean.com
finalizers:
- kubernetes.io/pv-protection
- external-attacher/dobs-csi-digitalocean-com
managedFields:
- manager: csi-provisioner
operation: Update
apiVersion: v1
time: '2022-06-08T06:30:25Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:annotations:
.: {}
f:pv.kubernetes.io/provisioned-by: {}
f:spec:
f:accessModes: {}
f:capacity:
.: {}
f:storage: {}
f:claimRef:
.: {}
f:apiVersion: {}
f:kind: {}
f:name: {}
f:namespace: {}
f:resourceVersion: {}
f:uid: {}
f:csi:
.: {}
f:driver: {}
f:fsType: {}
f:volumeAttributes:
.: {}
f:storage.kubernetes.io/csiProvisionerIdentity: {}
f:volumeHandle: {}
f:persistentVolumeReclaimPolicy: {}
f:storageClassName: {}
f:volumeMode: {}
- manager: kube-controller-manager
operation: Update
apiVersion: v1
time: '2022-06-08T06:30:25Z'
fieldsType: FieldsV1
fieldsV1:
f:status:
f:phase: {}
- manager: csi-attacher
operation: Update
apiVersion: v1
time: '2022-06-08T06:30:41Z'
fieldsType: FieldsV1
fieldsV1:
f:metadata:
f:finalizers:
v:"external-attacher/dobs-csi-digitalocean-com": {}
selfLink: /api/v1/persistentvolumes/pvc-efbcac70-785e-4ee5-bf40-2a869349606f
status:
phase: Bound
spec:
capacity:
storage: 10Gi
csi:
driver: dobs.csi.digitalocean.com
volumeHandle: 7b1253ab-e6f4-11ec-9c18-0a58ac14b6a4
fsType: ext4
volumeAttributes:
storage.kubernetes.io/csiProvisionerIdentity: 1651923394559-8081-dobs.csi.digitalocean.com
accessModes:
- ReadWriteOnce
claimRef:
kind: PersistentVolumeClaim
namespace: grafana-loki
name: storage-loki-stack-0
uid: efbcac70-785e-4ee5-bf40-2a869349606f
apiVersion: v1
resourceVersion: '142888304'
persistentVolumeReclaimPolicy: Delete
storageClassName: do-block-storage
volumeMode: Filesystem
Let me know if anything else is needed. thank you