Grafana: Grafana Logs "database terkunci"

Dibuat pada 17 Apr 2019  ·  77Komentar  ·  Sumber: grafana/grafana

Apa yang terjadi :
Pada titik tertentu, Grafana mengalami error.
Keluar dengan kesalahan "basis data terkunci".
Berikut ini adalah beberapa log Grafana:
lvl=eror msg="failed to look up user based on cookie" logger=context error="database is locked"

Lingkungan :

  • Versi Grafana: grafana-6.1.4-1.x86_64
  • Jenis & versi sumber data: postgresql 10.3, graphite 9.x
  • OS Grafana diinstal pada: Centos 6.9 amd64
  • OS & Browser Pengguna: APA SAJA
  • Plugin Grafana: piechart
  • Lainnya:
arebackendb arebackendsqlite prioritunscheduled typbug

Komentar yang paling membantu

@davewat Anda dapat mengirimkan string koneksi secara langsung, jadi sesuatu seperti ini akan berfungsi:

[database]
type=sqlite3
connection_string=file:data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

Semua 77 komentar

Dapatkah Anda menjelaskan lebih banyak penyiapan Anda, opsi, jumlah pengguna, peringatan, dasbor, dasbor yang disediakan, frekuensi evaluasi peringatan, dll.

Saya juga memiliki masalah yang sama.

t=2019-04-24T09:37:46+0300 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-04-24T09:37:46+0300 lvl=dbug msg="Scheduling update" logger=alerting.scheduler ruleCount=0
t=2019-04-24T09:37:55+0300 lvl=eror msg="Failed to get system stats" logger=metrics error="database is locked"
t=2019-04-24T09:37:56+0300 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-04-24T09:37:56+0300 lvl=dbug msg="Scheduling update" logger=alerting.scheduler ruleCount=0
t=2019-04-24T09:37:59+0300 lvl=dbug msg="auth token rotated" logger=auth affected=1 auth_token_id=46 userId=1
t=2019-04-24T09:37:59+0300 lvl=dbug msg="Updating last user_seen_at" logger=context userId=1 orgId=1 uname=admin user_id=1

Grafit, Grafana, Postgresql 9.6.

Layanan lain bekerja dengan benar dengan db yang sama.

Saya mengalami masalah serupa saat menggunakan influxdb. Grafana bekerja dengan baik untuk beberapa saat kemudian tiba-tiba crash dan log out. Grafana v6.1.6 (komit: cf9cb45), Ubuntu 16.04.

t = 2019-05-14T00: 36: 04-0600 lvl = eror msg = "Gagal mendapatkan statistik sistem" logger = metrik error = "database terkunci"
t = 2019-05-14T00: 36: 05-0600 lvl = eror msg = "Tidak dapat memuat peringatan" logger = alerting.ruleReader error = "database terkunci"

Masalah yang sama di sini. Berjalan pada instance EC2: prometheus, grafana, dan beberapa layanan saya sendiri. Browser terbuka untuk grafana, dan hanya itu. Tidak ada layanan lain yang memukul grafana. Semuanya baik-baik saja selama beberapa menit, kemudian di beberapa titik grafana craps sendiri dengan kesalahan "database terkunci", dan kemudian tidak bekerja, _ dan_ tidak akan mulai kembali.

Ketika dikatakan "database" terkunci, apakah itu mengacu pada sumber data influxdb atau ke database grafana yang saya yakini berisi informasi tentang dasbor, pengaturan, dll dan merupakan database SQLite secara default? Saya menjalankan influxdb di VM KVM dan grafana di VM KVM terpisah. Alangkah baiknya mengetahui apakah saya harus mencoba menyesuaikan arus masuk atau grafana.

@cuxcrider Ini adalah masalah dengan sqlite db default grafana.

Adakah ide jika beralih ke postgres atau mysql menyelesaikan masalah?

Tidak, dan saya tidak terlalu tertarik dengan hal itu, karena bagian dari apa yang saya kerjakan adalah pengaturan zero-config (atau near-zero-config) untuk lingkungan dev. Harus mengonfigurasi DB yang berbeda sebagai backend bukanlah hal yang biasa bagi saya.

Aku mendengarmu disana. Lebih suka hanya "bekerja". Saya mungkin mencobanya, saya menemukan beberapa info di sini:
https://community.hortonworks.com/articles/33401/how-to-set-up-grafana-to-use-mysql-database-rather.html

fyi saya baru saja mengatur grafana pada VM baru dan mengatur mysql menggunakan panduan yang saya tempel di atas. Saya kemudian mengekspor dasbor saya sebagai JSON dan memasukkannya ke dalam grafana baru saya dan sejauh ini, sangat bagus. Tidak ada kerusakan. Anda mungkin dapat mengonversi SQLite Anda ke mysql jika Anda memiliki banyak hal yang sudah disiapkan, tetapi grafana saya cukup minim jadi saya hanya mengekspor dasbor saya sebagai json dan kemudian secara manual menghubungkan kembali ke sumber data.

Saya memiliki masalah serupa ketika garafana tiba-tiba berhenti bekerja, dan memulai ulang tidak memperbaiki masalah ini :(

t=2019-05-17T05:40:30+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-05-17T05:40:40+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-05-17T05:40:50+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-05-17T05:40:59+0000 lvl=eror msg="failed to run garbage collect" logger=remotecache.database error="database is locked"
t=2019-05-17T05:40:59+0000 lvl=eror msg="Failed to get system stats" logger=metrics error="database is locked"
t=2019-05-17T05:41:00+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-05-17T05:41:10+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=2019-05-17T05:41:20+0000 lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"
t=20

Masalah yang sama disini.
Grafana 6.1.6
CentOS 6.9

t = 2019-05-17T11: 41: 00-0300 lvl = eror msg = "gagal mencari pengguna berdasarkan cookie" logger = konteks error = "database terkunci"

Mulai terjadi saat ditingkatkan ke Grafana 6.

Saya punya masalah yang sama.
Grafana mengirimi saya 2 notifikasi malam ini dengan pesan Error "Tidak dapat menemukan database sumber data terkunci".

Grafana 6.1.6 @ Debian 4.9.168 di buruh pelabuhan (gambar grafana / grafana: 6.1.6)
InfluxDB

Masalah yang sama di sini v.6.1.6

Ini tampaknya menjadi masalah dengan sqlite itu sendiri, salah satu cara untuk memulihkan databse sqlite adalah dengan mengikuti prosedur di sini: https://community.grafana.com/t/database-is-locked-unable-to-use-grafana- lagi / 16557/2

Kesalahan "database terkunci" menunjukkan masalah dengan database sqlite Anda. Ini bisa terjadi jika database dibiarkan dalam keadaan tidak konsisten setelah crash, atau jika ada masalah dengan disk.

Satu hal yang dapat Anda coba adalah membuang data dari file db yang ada ke yang baru, lalu menukarnya. Dari dalam direktori data Grafana Anda (setelah mematikan Grafana):

sqlite3 grafana.db '.clone grafana-new.db'
mv grafana.db grafana-old.db
mv grafana-new.db grafana.db

Kami memiliki banyak sinci grafana 6.2 (kami menggunakan proxy auth)

@roidelapluie lihat # 17247 untuk masalah khusus proxy auth dengan basis data terkunci

Ok kita akan meningkatkan ke master;) maaf atas kebisingannya, keterampilan github saya gagal kali ini!

@DanCech tidak ada yang bisa dilakukan di Grafana untuk menghindari atau meminimalkan masalah ini? Sepertinya cukup tidak dapat digunakan bagi saya dari sudut pandang ini.

6.2.1 (9e40b07) dengan sqlite backend, dapat memastikan bahwa kloning db tampaknya tidak membantu. Saya dapat masuk dan menyimpan beberapa pekerjaan, tetapi sesekali keluar
t=2019-06-04T15:42:33+0000 lvl=eror msg="failed to look up user based on cookie" logger=context error="database is locked" .

Saya juga melihat bahwa monitor kesehatan saya kebetulan tergores pada waktu yang tepat dan mencapai angka 503:
curl: (22) The requested URL returned error: 503 Service Unavailable

Nah, sepertinya saya cukup andal untuk mereproduksinya dengan melakukan sesuatu yang menghasilkan banyak permintaan sekaligus, seperti memindahkan banyak dasbor antar folder.

Ini adalah masalah yang mempengaruhi banyak ...

Grafana usai kesalahan tersebut menutup sesi saja.

Ini adalah kesalahan yang sangat buruk karena saya tidak bisa memasang monitor dan harus memulai sesi setiap satu setengah jam.

Saya setuju, sqlite bukanlah solusi yang dapat digunakan. Grafana akan mengeluarkan saya
setelah digunakan hanya beberapa menit. Ini akan tetap berjalan, tetapi saya akan melakukannya
untuk masuk lagi.

untuk apa itu layak saya beralih ke mysql untuk grafana lebih dari dua minggu yang lalu dan
tidak memiliki satu kesalahan pun bahkan dengan banyak pengguna dan banyak
sumber data.

Pada Selasa, 4 Juni 2019 pukul 10.25 juanvmedrano [email protected]
menulis:

Ini adalah masalah yang mempengaruhi banyak ...

Grafana usai kesalahan tersebut menutup sesi saja.

Ini adalah kesalahan yang sangat buruk karena saya tidak bisa memasang monitor dan harus
mulai sesi setiap satu setengah jam.

-
Anda menerima ini karena Anda disebutkan.
Balas email ini secara langsung, lihat di GitHub
https://github.com/grafana/grafana/issues/16638?email_source=notifications&email_token=AB7553DCDWT2JP3PVEOJX3LPY2JQ5A5CNFSM4HGQUIUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5DVLQ#issuecomment-498743982 ,
atau nonaktifkan utasnya
https://github.com/notifications/unsubscribe-auth/AB7553GPXYO2I7RLUVWBGILPY2JQ5ANCNFSM4HGQUIUA
.

Default Grafana untuk penjurnalan SQLite adalah Rollback Journal (mode DELETE oleh PRAGMA), yang berasal dari go-sqlite3. Selain itu, go-sqlite3 memaksanya kembali ke mode DELETE meskipun Anda secara manual menyetel ke WAL (buat DB offline dan ubah PRAGMA journal_mode = wal;)

Beralih ke mode WAL (Write Ahead Log) mengurangi banyak peluang untuk pertikaian kunci pada DB, dan kemungkinan besar akan memberikan peningkatan kinerja (https://www.sqlite.org/wal.html). Kami melakukan ini dengan garpu untuk mengurangi kesalahan kunci yang muncul dengan kueri Grafana Alert yang berat. Mungkin ada baiknya untuk beralih ke mode WAL.

@davewat Anda dapat mengirimkan string koneksi secara langsung, jadi sesuatu seperti ini akan berfungsi:

[database]
type=sqlite3
connection_string=file:data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

@davewat Anda dapat mengirimkan string koneksi secara langsung, jadi sesuatu seperti ini akan berfungsi:

[database]
type=sqlite3
connection_string=file:data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

@DanCech Itu luar biasa - terima kasih! Itu jauh lebih baik daripada menjalankan custom build hanya untuk mode WAL! Saya perhatikan Anda juga menggunakan cache pribadi dalam contoh Anda, tetapi sumber menunjukkan cache bersama (kami juga menjalankan cache pribadi). Menurut saya pribadi akan menjadi pengaturan yang lebih stabil. Tidak yakin apakah pilihan cache bersama adalah untuk mendukung pengujian dengan lebih baik, tetapi tampaknya tidak diperlukan dalam produksi dengan hanya Grafana yang mengakses DB.

Di 6.1.6 itu dibuat dapat dikonfigurasi dan default diubah menjadi pribadi, tetapi jika Anda menggunakan pengaturan connection_string yang diteruskan langsung ke xorm dan sampai go-sqlite3 dan apapun lain di blok [database] (selain type ) cukup banyak diabaikan.

ya, beralih ke jurnal WAL membuat perbedaan besar bagi saya. Tidak hanya itu tidak mengeluarkan saya, itu jauh, lebih cepat.

@davewat Anda dapat mengirimkan string koneksi secara langsung, jadi sesuatu seperti ini akan berfungsi:

[database]
type=sqlite3
connection_string=file:data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

Di mana saya dapat menerapkan konfigurasi ini?

Saya ingin mencoba ini.

@juanvmedrano Anda akan memasukkannya ke dalam file konfigurasi grafana Anda

@davewat Anda dapat mengirimkan string koneksi secara langsung, jadi sesuatu seperti ini akan berfungsi:

[database]
type=sqlite3
connection_string=file:data/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

Bagus, berhasil untuk saya, tetapi Anda harus mengubah "connection_string = file: data / grafana.db " ke jalur grafana.db Anda.

Masalah yang sama di sini v.6.1.6 di nfs pv

Masalah yang sama di sini: version = 6.2.5 commit = 6082d19 branch = HEAD compiled = 2019-06-25T17: 56: 19 + 0000

Sama dengan gambar buruh pelabuhan grafana / grafana: 6.2.5 .

Sama di sini (maaf untuk kebisingannya)
Grafana v6.1.1 (eff01d2)
Saya benar-benar baru mengenal Grafana, baru saja menambahkan dasbor kosong baru + satu panel. Kesalahan ini menghentikan saya untuk menggunakan grafana.

Saya mencoba Beralih ke WAL (Write Ahead Log) seperti yang disarankan oleh @davewat dan sejauh ini bagus :) (menggunakannya selama 2 jam sekarang, membuat dasbor, panel, tidak masalah!)

Sama di sini, dengan grafana di kubernetes dengan gambar: 'grafana / grafana: 6.2.2 '

Menghadapi masalah "database terkunci" yang sama pada penyiapan Grafana v6.4.2 saya yang diinstal di SUSE 12SP3.
Memperhatikan masalah ini hanya setelah saya meningkatkan versi Grafana dari v6.0.x ke v6.4.2

-Avin

grafana 6.4.3 di amazon ami 2
instalasi baru, menggunakan sqlite default
t=2019-10-29T09:26:26+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:26:38+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:26:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2019-10-29T09:26:56+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:27:08+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:27:17+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX 1 time_ms=0 size=29 referer= t=2019-10-29T09:27:23+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2019-10-29T09:27:26+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:27:38+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:27:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2019-10-29T09:27:56+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:28:03+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2019-10-29T09:28:03+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2019-10-29T09:28:08+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer= t=2019-10-29T09:28:10+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=XXXX time_ms=0 size=29 referer=
Agak menjengkelkan, karena akan sering gagal dalam daftar semua dasbor, menampilkan hanya sebagian dari daftar, di lain kesempatan itu akan menampilkan daftar tetapi kemudian akan gagal memuat dasbor dengan 404, setelah halaman memuat ulang tidak apa-apa.
Saya telah menggunakan tip dari https://github.com/grafana/grafana/issues/16638#issuecomment -498818278
tetapi tampaknya tidak banyak berubah dalam kasus saya.
Adapun pengaturannya:
~ 30 dasbor
~ 5 pengguna (tidak bersamaan)
tidak ada peringatan
Saya akan mencoba dengan postgres tetapi telah disebutkan juga memiliki masalah

@mbolek coba gunakan WAL seperti yang disarankan di https://github.com/grafana/grafana/issues/16638#issuecomment -537939123

@marefr hey, saya melakukannya dan masih mengalami masalah. Mampu mengatasi masalah ini dengan menghapus DB (jadi tidak ada migrasi dll) dan mulai segar

Saya melihat kesalahan yang sama ini saat menerapkan ke Azure Container Instances dan memasang volume dari Azure File Share (lihat masalah yang ditautkan oleh marefr). Saya sudah mencoba solusi dari @DanCech [di sini]. Ini tampaknya berhasil untuk beberapa orang di utas ini. Sayangnya tidak berhasil untuk saya. Saya melihat di log penampung bahwa pengaturan default diganti dan file database dibuat dengan nama dari file ini saya, tetapi masih mendapatkan kesalahan yang sama: _ "Layanan init gagal: Migrasi gagal err: database terkunci" _.

File ini saya secara keseluruhan:

[database]
type=sqlite3
connection_string=file:/var/lib/grafana/mygrafana.db?_journal_mode=WAL

Ada petunjuk tentang apa yang harus dilakukan? Volume Azure Files adalah SMB3, apakah itu ada hubungannya dengan masalah tersebut?

File penyebaran yaml saya: deploy-gvt-11.yaml.txt
File log penyebaran: aci-grafana.log

Bantuan apa pun sangat dihargai!

Halo semuanya,

Saya mengalami masalah saat penyediaan dasbor saya tidak berfungsi dengan benar.
Itu memuat beberapa file .json saya dan tidak memuat yang lain, yang secara acak menyebabkan pesan kesalahan "Dasbor tidak ditemukan". Saya memiliki sekitar 25 file .json.

Dalam penyelidikan saya tentang masalah ini, saya memperhatikan bahwa grafana.log penuh dengan pesan log "Database terkunci". Pesan ini muncul sekitar 10 kali setiap 10 detik.
Saya juga memperhatikan bahwa di grafana.db tabel dashboard_provisioning selalu diperbarui tetapi beberapa file .json hilang secara acak.
Saya pikir kunci database terkait dengan masalah ini. Apakah aku salah ? Adakah cara untuk mengetahui penyebab db lock?

Lingkungan Hidup:

Versi Grafana: Grafana v6.5.1
Grafana DB: sqlite
OS Grafana diinstal pada: RHEL 7.4
Pengguna: kurang dari 10

Bantuan apa pun sangat dihargai

@ Iziman95 dapat dikaitkan dengan penggunaan uid yang sama di beberapa dasbor?

@ Iziman95 dapat dikaitkan dengan penggunaan uid yang sama di beberapa dasbor?

terima kasih tetapi saya sudah memeriksa ini ketika saya sedang mencari jawaban di sini, semua cairan saya unik

@marefr Dokumentasi grafana menjelaskan bagaimana penyediaan seharusnya bekerja:
"Dasbor akan dimuat ulang saat file json berubah".
Tapi sepertinya mereka dimuat ulang secara permanen setiap 5-10 detik sementara tidak ada perubahan pada file ini. Saya dapat mengonfirmasi hal ini dengan melihat tabel "dashboard_provisioning" dan melihat bahwa "id" meningkat tanpa batas setiap kali saya melakukan pemilihan (nilai saat ini adalah 2005572) untuk baris yang sama.
Apakah ada cara untuk mengambil file .json hanya di awal server grafana dan bukan setelahnya?

@ Iziman95 Anda pasti telah mengkonfigurasi sesuatu yang salah. Apakah ada dasbor Anda yang memiliki id dengan nilai numerik? Apakah Anda kebetulan memiliki beberapa jalur yang dikonfigurasi di mana salah satunya adalah sub direktori dari yang lain? Jika itu tidak membantu, saya sarankan untuk membuka masalah baru dengan dasbor dan konfigurasi penyediaan yang disediakan sehingga kita dapat melihatnya secara terpisah dari masalah ini ..

@marefr ok jadi saya telah melakukan banyak tes dengan dasbor baru di jalur yang berbeda dan memeriksa semua konfigurasi saya dan saya telah menemukan bahwa akar penyebabnya adalah nama penyedia properti yang sama di semua file yaml saya.
Setelah mengedit file yaml saya agar memiliki nama unik, masalah saya teratasi dan saya tidak lagi memiliki "basis data terkunci" di log saya. Ukuran database saya juga sangat besar sekarang karena tabel dashboard_version diperbarui secara permanen dengan +20 dashboard saya setiap 10 detik.

Terima kasih untuk bantuannya

saya memiliki masalah yang sama dengan grafana 6.5.1 pada wadah yang diatur oleh kubernetes. Saya melakukan hal berikut di dalam wadah:

mv /var/lib/grafana/grafana.db /var/lib/grafana/grafana.db.old
rm /var/lib/grafana/grafana.db
mv /var/lib/grafana/grafana.db.old /var/lib/grafana/grafana.db

setelah langkah ini berfungsi dengan baik.
Mungkin masalah saya adalah karena grafana container beralih ke node kubernetes yang berbeda dan oleh karena itu database terkunci

Jika Anda mencoba menyebarkan Grafana melalui wadah Azure App Service, ini mungkin bisa membantu.

Masalah ini juga telah dibawa ke Microsoft di https://github.com/MicrosoftDocs/azure-docs/issues/47130.

Saya mendapatkan log kesalahan yang sama selama IO beban kerja berat (saya dapat mereproduksinya dengan menjalankan dd pada disk yang sama dengan grafana). Disk saya adalah disk jarak jauh (Ceph RBD) dan selama dd saya mendapatkan util 100% dan latensi yang sangat tinggi (menunggu> 10 detik).

lvl=eror msg="Failed to get system stats" logger=metrics error="database is locked" lvl=eror msg="failed to search for dashboards" logger=provisioning.dashboard type=file name=default error="database is locked" lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"

Saya mendapatkan log kesalahan yang sama selama IO beban kerja berat (saya dapat mereproduksinya dengan menjalankan dd pada disk yang sama dengan grafana). Disk saya adalah disk jarak jauh (Ceph RBD) dan selama dd saya mendapatkan util 100% dan latensi yang sangat tinggi (menunggu> 10 detik).

lvl=eror msg="Failed to get system stats" logger=metrics error="database is locked" lvl=eror msg="failed to search for dashboards" logger=provisioning.dashboard type=file name=default error="database is locked" lvl=eror msg="Could not load alerts" logger=alerting.ruleReader error="database is locked"

_journal_mode = WAL tidak berfungsi untuk saya. Saya harus menambahkan _busy_timeout di string koneksi juga.

Lingkungan Hidup:
Versi Grafana: Grafana v6.3.5
Grafana DB: sqlite

Dengan Grafana sebagai penerapan kubernetes, Tanpa menambahkan sumber data atau dasbor apa pun, wadah Grafana Docker sendiri menampilkan msg = "Database terkunci, tidur lalu mencoba lagi" logger = sqlstore error = "database terkunci" retry = 0

Masalah ini kami amati setelah meningkatkan dari 4.6.3 ke 6.3.5.

** Catatan: Wadah Grafana Docker sendiri menimbulkan kesalahan tanpa sumber data atau dasbor ditambahkan.

Selain itu, Grafana di-deploy sebagai penerapan Kubernetes sehingga dijadwalkan di banyak node pekerja dengan kesalahan yang sama.

t=2020-03-09T19:03:42+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=0.0.0.0:3000 protocol=http subUrl=/grafana socket= t=2020-03-09T19:03:42+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:42+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=1 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=1 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:43+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=1 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0 t=2020-03-09T19:03:44+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0

Mendapat masalah itu pada penerapan kubernetes saya dengan grafana 6.0.1. Itu hampir sistematis, dengan beberapa peringatan tidak dimuat (muncul dengan baik di dasbor tetapi tidak dalam daftar peringatan dan tetap sebagai tidak aktif di dasbor). Catatan: kami menggunakan dasbor yang disediakan, peringatan, dll ...

Berubah ke versi terbaru, grafana 6.7.1, dan terlihat jauh lebih baik, masalah tidak direproduksi sejauh ini. Saya akan memperbarui komentar ini jika saya melihatnya lagi di masa mendatang. Tetapi saya akan merekomendasikan semua yang memiliki masalah ini untuk memperbarui grafana

Masalah yang sama pada gambar buruh pelabuhan grafana terbaru. Menggunakan file Azure dengan opsi pemasangan uid / gid 65534
msg="Server shutdown" logger=server reason="Service init failed: Migration failed err: database is locked"

Mencoba connection_string=file:/var/lib/grafana/grafana.db?cache=private&mode=rwc&_journal_mode=WAL , tidak berhasil.

@torkelo Ada pembaruan?

Hampir 1 setengah bulan kemudian setelah https://github.com/grafana/grafana/issues/16638#issuecomment -606605113, dengan grafana 6.7.1 pada cluster k8s yang dibuat dengan kops di AWS, masih tidak direproduksi sekali pun.

Saya memiliki v6.7.3 dan saya masih menghadapi masalah ini.

apakah masalah ini teratasi? Kami menghadapi masalah serupa.

masalah yang sama EC2 + EFS dipasang.

Masalah yang sama disini

Saya menyelesaikannya sementara memindahkan folder data ke penyimpanan EBS, dan sekarang berencana pindah ke MySQL DB dan menyimpannya di EFS

Saya menyelesaikannya sementara memindahkan folder data ke penyimpanan EBS, dan sekarang berencana pindah ke MySQL DB dan menyimpannya di EFS

apa itu penyimpanan EBS? Saya memiliki sqllite db grafana pada hard disk eksternal dengan raspberry, halaman login yang dinonaktifkan, dan pengguna anonim yang diaktifkan. tidak ada hasil, masalah yang sama!

Sama di sini di Azurefile (7.0.1)

Ini juga terjadi pada kami, tetapi kami tidak menggunakan penyimpanan persisten, hanya emptyDir

Di AKS

Saya mengalami masalah yang sama dengan versi 7.0.3.

t=2020-06-19T19:55:33+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0
t=2020-06-19T22:24:15+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0
t=2020-06-20T01:23:06+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0
t=2020-06-20T04:12:02+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0
t=2020-06-20T04:12:02+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=1
t=2020-06-20T07:42:16+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=0

Kesalahan yang diterima di browser:
A cookie associated with a resource at http://monitoring.sre.idemia.io/ was set with SameSite = Tidak ada but without Aman . A future release of Chrome will only deliver cookies marked SameSite = Tidak ada if they are also marked Aman . You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5633521622188032.

Bisakah Anda memberikan solusi untuk masalah ini?

Hallo teman-teman,
saya menjalankan 7.0.3 sebagai kontainer buruh pelabuhan langsung dari buruh pelabuhan HUB di Layanan Aplikasi Azure tetapi karena beberapa hari itu berhenti bekerja. Saya memiliki database yang disimpan di Azure File Share tetapi setiap kali saya lelah untuk masuk, saya menerima pesan kesalahan "Database Terkunci". Lebih detailnya:

2020-06-24T11: 20: 41.558497227Z t = 2020-06-24T11: 20: 41 + 0000 lvl = info msg = "Menghubungkan ke DB" logger = sqlstore dbtype = sqlite3
2020-06-24T11: 20: 41.559484232Z t = 2020-06-24T11: 20: 41 + 0000 lvl = info msg = "Memulai migrasi DB" logger = migrator
2020-06-24T11: 20: 46.689980794Z t = 2020-06-24T11: 20: 46 + 0000 lvl = eror msg = "Server shutdown" logger = server reason = "Layanan masuk gagal: Migrasi gagal err: database terkunci"

Ada solusi ??

@DSalvigni, kami juga mengalami masalah yang sama beberapa hari terakhir ... Belum ada solusi.

Jadi saya perbaiki dengan cara ini, tapi sebelum memulai silahkan backup secara lokal database sqlite3 (grafana.DB).

1) GF_DATABASE_TYPE = postgresql (atau Anda dapat melakukan hal yang sama di MySQL)
2) Membuat DB yang disebut grafana di Server postgresql
3) Siapkan parameter berikut untuk penampung (di App Service):
GF_DATABASE_HOST =
GF_DATABASE_NAME =
GF_DATABASE_PASSWORD =
GF_DATABASE_TYPE =
GF_DATABASE_USER =
3) Memindahkan penyimpanan persisten yang terpasang "/ var / lib / grafana" di bawah Penyimpanan File Azure (dan saya menyingkirkan Blob COntainer).
5) Dikerahkan dari Docker HUB versi baru Grafana

Sekarang Anda memiliki versi baru dari grafana clena yang sedang berjalan. Anda perlu mem-port data dari DB lama ke yang baru dan untuk ini saya hanya membuang konten tabel grafana, DB ke DB grafana yang baru dibuat di postgresql.

Untuk mengakses grafana.DB saya menggunakan "SQLiteDatabaseBrowserPortable" dan untuk memindahkan data ini " https://www.dbsofts.com/ ". Versi percobaan membatasi bodoh hingga 10.000 baris tetapi lebih dari cukup untuk memindahkan tabel berikut:

waspada*
org *
dashboard * (tidak perlu jika Anda sudah membuang dashboard Anda sebagai JSON)
data_source (yang paling penting)

Beri tahu saya jika Anda membutuhkan pertanyaan lainnya.

Mengalami masalah yang sama. Grafana keluar secara acak dan hanya menampilkan halaman kesalahannya. Di log tertulis

2020-07-07T02:04:03.442792383Z t=2020-07-07T02:04:03+0000 lvl=info msg="Database locked, sleeping then retrying" logger=sqlstore error="database is locked" retry=8166

Memulai ulang wadah akan membawa Grafana kembali untuk sementara waktu.

Menggunakan gambar buruh pelabuhan Grafana 7.0.5 yang diterapkan sebagai layanan aplikasi di azure. / var / lib / grafana terhubung ke file share.
GF_DATABASE_URL disetel ke sqlite3:///var/lib/grafana/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

GF_DATABASE_URL disetel ke sqlite3:///var/lib/grafana/grafana.db?cache=private&mode=rwc&_journal_mode=WAL

Ini tidak berfungsi dengan baik untuk saya: DB tetap selalu terkunci, jadi saya langsung pindah ke DB eksternal dan masalahnya teratasi, ditambah akhirnya saya dapat menghubungkan BI untuk menautkan SLA ke backlog Acara 👍

"SQLite menggunakan kunci pembaca / penulis untuk mengontrol akses ke database. (Di bawah Win95 / 98 / ME yang tidak memiliki dukungan untuk kunci pembaca / penulis, simulasi probabilistik digunakan sebagai gantinya.) Namun berhati-hatilah: mekanisme penguncian ini mungkin tidak berfungsi dengan benar jika file database disimpan pada sistem file NFS. Ini karena penguncian file fcntl () rusak pada banyak implementasi NFS. Anda harus menghindari meletakkan file database SQLite di NFS jika beberapa proses mungkin mencoba mengakses file pada saat yang sama. Di Windows , Dokumentasi Microsoft mengatakan bahwa penguncian mungkin tidak bekerja di bawah sistem file FAT jika Anda tidak menjalankan daemon Share.exe. Orang-orang yang memiliki banyak pengalaman dengan Windows memberi tahu saya bahwa penguncian file jaringan file sangat bermasalah dan tidak dapat diandalkan. menurut mereka benar, berbagi database SQLite antara dua atau lebih mesin Windows dapat menyebabkan masalah yang tidak terduga. " - informasi ini dari https://www.sqlite.org/faq.html

Menampilkan dasbor dengan penyegaran 10 detik (sumber data grafit). Logout terjadi secara acak, antara 10 menit dan 2-3 jam.

Instalasi baru dari " https://packages.grafana.com/oss/deb stable main" dari Grafana v7.3.0-test (98b94d3824) pada Ubuntu 20.04.1 LTS baru. Grafana cukup banyak pada pengaturan default (sqlite).

perangkat keras: 12core 3900x, ram 64GB, HP EX950 nvme (kecepatan baca / tulis 2,9GB / s).

entri log: msg = "Gagal mencari pengguna berdasarkan cookie" logger = konteks error = "token pengguna tidak ditemukan"

perbarui: mungkin kesalahan berikut di log lebih terkait dengan logout:

lvl = eror msg = "Kesalahan proxy data" logger = data-proxy-log userId = 2 orgId = 1 uname = xxxxx path = / api / sumber data / proxy / 1 / render remote_addr = xxx.xxx.xxx.xxx referer = " http://xxx.xxx.xxx.xxx : 3000 / d / -G-7XccMz / xxxxxx? orgId = 1 & refresh = 10s & from = now-12h & to = now "error =" http: proxy error: konteks dibatalkan "

Pembaruan: meningkatkan rotasi token (default 10 menit) menjadi 10080 menit (1 minggu) tampaknya menjadi solusi yang berfungsi.
--- grafana.ini ---
; token_rotation_interval_minutes = 10
token_rotation_interval_minutes = 10080
--- eof ---

Di Azure saya akhirnya membuatnya berfungsi dengan menjalankan perintah ini di database:

sqlite3 grafana.db 'pragma journal_mode=wal;'

Setelah itu saya menimpa database menggunakan penjelajah Penyimpanan Azure dan semuanya berjalan dengan baik dari sana

masalah yang sama di sini dengan grafana dan influxdb

Saya menyelesaikannya sementara memindahkan folder data ke penyimpanan EBS, dan sekarang berencana pindah ke MySQL DB dan menyimpannya di EFS

apa itu penyimpanan EBS? Saya memiliki sqllite db grafana pada hard disk eksternal dengan raspberry, halaman login yang dinonaktifkan, dan pengguna anonim yang diaktifkan. tidak ada hasil, masalah yang sama!

Ini adalah penyimpanan hard disk untuk VM (EC2) di AWS disebut seperti EBS

Sebenarnya ada banyak masalah di sini. Salah satunya adalah masalah penguncian database yang kadang-kadang Grafana gagal mengakses database penggunanya. Ada juga masalah penanganan kesalahan. Jika kesalahan ini terjadi, server kembali dengan kode status 401, di mana klien melakukan logout. Namun, ini seharusnya bukan kode status 401, melainkan 500 atau yang serupa, karena masalahnya bukan pada otentikasi klien, tetapi pada database server. Kemudian klien terkadang akan gagal dalam kueri, tetapi tidak akan keluar.

+1

masalah yang sama di sini, baru saja meningkatkan ke Grafana 7.3.4 dari 5.xx dan mulai mendapatkan:
t=2020-12-05T14:00:00+0100 lvl=eror msg="Failed to look up user based on cookie" logger=context error="user token not found"
beberapa saat setelah masuk

Setting default Grafana dengan sqlite3
diinstal pada beberapa Ubuntu 16.04 lama

Apakah halaman ini membantu?
0 / 5 - 0 peringkat