grafana-wtf - memahami semua entitas Grafana dalam semangat git-wtf.
Perhatian!
Program ini dapat memberikan beban yang signifikan pada instance Grafana Anda dan mesin database yang mendasarinya. Tangani dengan hati-hati!
Telusuri Grafana (dasbor dan sumber data) untuk string "basis cuaca".
grafana-wtf menemukan basis cuaca
Tampilkan 50 perubahan terbaru di seluruh dasbor.
grafana-wtf log --angka=50
Jelajahi dasbor dan sumber data secara lebih detail.
grafana-wtf jelajahi dasbor grafana-wtf menjelajahi sumber data
Jelajahi plugin.
daftar plugin grafana-wtf status plugin grafana-wtf
Jalankan dengan Docker:
# Akses instance Grafana di localhost, tanpa otentikasi. menjalankan buruh pelabuhan --rm -it --env GRAFANA_URL="http://host.docker.internal:3000" ghcr.io/grafana-toolbox/grafana-wtf info grafana-wtf # Akses instance Grafana dengan otentikasi. menjalankan buruh pelabuhan --rm -it --env GRAFANA_URL="https://grafana.example.org/grafana" --env GRAFANA_TOKEN="eyJrIjoiWHg...dGJpZCI6MX0=" ghcr.io/grafana-toolbox/grafana-wtf info grafana-wtf
grafana-wtf find
grafana-wtf log
grafana-wtf
pip instal grafana-wtf
Silakan lakukan langkah-langkah berikut untuk membuat kunci API dengan instance Grafana Anda:
https://daq.example.org/grafana/org/apikeys
.curl -H "Authorization: Bearer eyJrIjoiWHg...dGJpZCI6MX0=" ...
, harap perhatikan token Pembawa. Ini adalah kunci API Grafana Anda. Untuk mengonfigurasi instance Grafana mana yang akan dihubungkan, dan cara mengautentikasi, gunakan opsi baris perintah --grafana-url
dan --grafana-token
.
Alternatifnya, sebelum menjalankan grafana-wtf
, Anda dapat menentukan URL dan token akses instance Grafana Anda dengan menggunakan variabel lingkungan:
ekspor GRAFANA_URL=https://daq.example.org/grafana/ ekspor GRAFANA_TOKEN=eyJrIjoiWHg...dGJpZCI6MX0=
Untuk menerima sertifikat SSL yang tidak tepercaya, tambahkan string kueri ?verify=no
ke GRAFANA_URL
:
ekspor GRAFANA_URL=https://daq.example.org/grafana/?verify=no
grafana-wtf
akan menyimpan respons HTTP dalam cache selama 60 menit secara default, untuk menghemat sumber daya, dengan tidak mengenai server setiap server. Anda dapat mengonfigurasi pengaturan tersebut dengan menggunakan opsi --cache-ttl
, atau variabel lingkungan CACHE_TTL
.
Saat menjalankan program dengan opsi --drop-cache
, cache-nya akan dibuang terlebih dahulu.
# Menampilkan banyak informasi meta dan statistik. grafana-wtf info --format=yaml # Tampilkan versi Grafana. info grafana-wtf --format=json | jq -r '.grafana.version'
Bagaimana cara menemukan sumber data yang tidak terpakai?
# Tampilkan semua sumber data dan dasbor yang menggunakannya, serta sumber data yang tidak digunakan. grafana-wtf jelajahi sumber data --format=yaml # Tampilkan nama sumber data yang tidak digunakan sebagai daftar datar. grafana-wtf jelajahi sumber data --format=json | jq -r '.tidak digunakan[].sumber data.nama'
Bagaimana cara menemukan dasbor yang menggunakan sumber data yang tidak ada?
# Tampilkan beberapa detail semua dasbor, termasuk nama sumber data yang hilang. grafana-wtf jelajahi dasbor --format=yaml # Hanya menampilkan dasbor yang sumber datanya hilang, beserta namanya. grafana-wtf jelajahi dasbor --format=json | jq '.[] | pilih(.datasources_missing) | .dashboard + {ds_missing: .datasources_missing[] | [.nama]}'
Bagaimana cara menemukan dasbor menggunakan sumber data tertentu?
# Tampilkan semua dasbor yang menggunakan sumber data tertentu, difilter berdasarkan nama sumber data. grafana-wtf jelajahi dasbor --format=json | jq '.[] | pilih(.datasources | .[].type=="<nama_sumber data>")' # Menampilkan semua dashboard menggunakan sumber data dengan tipe tertentu. Di sini: InfluxDB. grafana-wtf jelajahi dasbor --format=json | jq '.[] | pilih(.datasources | .[].type=="influxdb")'
Bagaimana cara membuat daftar semua pertanyaan yang digunakan di semua dasbor?
grafana-wtf jelajahi dasbor --data-details --queries-only --format=json | jq '.[].detail | nilai[] | .[] | .expr,.jql,.query,.rawSql | pilih( . != null dan . != "" )'
Temukan string weatherbase
di seluruh dasbor dan sumber data:
grafana-wtf menemukan basis cuaca
Ganti semua kemunculan ldi_v2
dengan ldi_v3
di dalam dashboard dengan UID _JJ22OZZk
:
grafana-wtf --select-dashboard=_JJ22OZZk ganti ldi_v2 ldi_v3
Untuk melihat perubahannya, Anda harus menggunakan opsi --dry-run
terlebih dahulu:
grafana-wtf --select-dashboard=_JJ22OZZk ganti ldi_v2 ldi_v3 --dry-run
Mengawasi aktivitas pengeditan terkini di dasbor mana pun?
# Tampilkan 50 perubahan terbaru di semua dasbor. grafana-wtf log --angka=50
Untuk menemukan lebih banyak parameter baris perintah dan argumennya, silakan aktifkan grafana-wtf --help
dan lihat contoh grafana-wtf.
git clone https://github.com/grafana-toolbox/grafana-wtf cd grafana-wtf # Jalankan semua tes. membuat tes # Jalankan tes yang dipilih. pytest --keepalive -vvv -k test_find_textual