Grafanaでアラートルールを更新した際に、database is locked
とエラーがでて更新ができない場合がある。
これはsqliteのDBがロックされた状態になってしまって発生している。
Grafana, SQLite, and database is locked - handle it like a pro!
initContainerで、sqliteのdbファイルを作り直すことで解消する
initContainers:
- command:
- /bin/sh
- '-c'
- >-
cd /var/lib/grafana;
cp -a grafana.db grafana.db.bak;
/usr/bin/sqlite3 grafana.db.bak '.clone /var/lib/grafana/grafana.db.clone';
mv grafana.db.clone grafana.db;
chmod a+w grafana.db
image: keinos/sqlite3
imagePullPolicy: IfNotPresent
name: sqlite
resources: {}
securityContext:
runAsNonRoot: false
runAsUser: 0
volumeMounts:
- mountPath: /var/lib/grafana
name: storage
Grafana Helm Chartの場合、extraInitContainers
に指定する
が、駄目・・・!
sqliteファイルが作り直されはするのだが、再度設定を更新しようとすると同じエラーになる。
https://github.com/grafana/grafana/issues/64798
grafana.iniに追記するといいという情報もあったが、これでも解消はしなかった。というかGrafanaがとても重くなり画面操作ができない
どうにもならないので一旦諦めた…もう設定更新はしない。次回アップデートに任せる