Grafana: Peringatan: Batas waktu hari

Dibuat pada 16 Nov 2016  ·  83Komentar  ·  Sumber: grafana/grafana

Batasan waktu hari.

Lihat dua cara ini dapat diterapkan.

1) Sebagai kondisi waspada
2) Sebagai filter pada notifikasi

arealerting typfeature-request

Komentar yang paling membantu

Sebagai solusinya, menggunakan prometheus sebagai backend:

  • Tambahkan kueri berikut ke metrik Anda: hour() , yang mengembalikan jam dalam sehari (0-23). Anda dapat membuatnya tersembunyi di grafik.
  • Tambahkan kondisi AND tambahan ke peringatan Anda, jadi hanya peringatan jika kueri hour() berada di antara rentang yang Anda inginkan (mis.: jam kantor).

Hal yang sama dapat dilakukan dengan day_of_week() .

Semua 83 komentar

Adakah yang punya solusi untuk skenario ini? Saya terkejut bahwa hanya 4 orang yang telah meningkatkan tiket ini karena seluruh fitur peringatan pada dasarnya tidak berguna bagi saya kecuali sistem saya aktif 24/7. Saya merasa sepertinya saya melewatkan beberapa fitur atau teknik lain yang dilakukan orang lain untuk menghindari masalah ini...

Seperti yang terjadi sekarang, saya harus mematikan semua pemberitahuan peringatan, atau hanya menerima kenyataan bahwa saya akan mendapatkan banyak pemberitahuan palsu ketika proses saya mematikan EOD.

Tidak berusaha terdengar kritis, hanya bingung bagaimana orang lain mengelola lansiran ini. Saya menyukai Grafana selama bertahun-tahun sekarang, dan saya telah melacak fitur peringatan sejak pertama kali diperkenalkan di v4. Tapi itu sedikit menggaruk-garuk kepala setiap kali ada pembaruan yang memperingatkan dan batasan ini tidak diatasi.

@bblazei Anda benar! itu adalah fitur luar biasa yang perlu diprioritaskan dan yang pasti akan sangat membantu!
@torkelo apakah Anda tahu kapan fitur ini akan direncanakan?

Tidak, bukan Eta saat ini karena tidak ada dalam peta jalan kami untuk dua rilis berikutnya (4.3 dan 4.4)

Hmm sangat disayangkan. Bagaimana Anda merekomendasikan penggunaan kerangka kerja Peringatan pada sistem yang tidak 24/7?

Ini adalah sesuatu yang sangat kami sukai karena kami perlu memiliki tingkat peringatan yang berbeda tergantung pada waktunya

Kami (tidak begitu) dengan sabar menunggu ini juga. Saat ini kami menggunakan grafik curl ke Slack secara berkala.

@torkelo torkelo. sudah lama saya tidak melihat pembaruan tentang ini. kami juga mencari beberapa hal seperti apakah kami dapat menonaktifkan peringatan grafana untuk waktu tertentu. Apakah itu mungkin?

Adakah yang memiliki pembaruan untuk fitur ini?

Saya dapat secara manual menjeda peringatan di halaman Daftar Peringatan, tetapi (misalnya) selama pencadangan server DB 2:30a harian kami, kami mendapat peringatan tentang "I/O Jaringan Menunggu Dalam Proses." Tentu akan menyenangkan untuk membuat lansiran yang tidak memberi tahu selama periode waktu tertentu.

Apakah grafana mendukung operasi modulo? Kemudian, Anda harus dapat menggunakan fungsi identitas untuk mendapatkan waktu unix sebagai metrik tambahan di panel Anda. Dengan fungsi modulo Anda bisa mendapatkan sisa pembagian waktu unix dengan 86400 (jumlah detik dalam sehari). Kemudian Anda dapat menambahkan kondisi rentang pada metrik waktu di lansiran Anda. Benar?

Apakah akan sulit untuk menambahkan operasi modulo untuk tujuan ini?

Sangat membutuhkan fitur ini!

Ada pembaruan tentang ini? Apakah itu WIP atau sesuatu yang masih 'dipertimbangkan' sekarang?

Kami benar-benar ingin menggunakan kerangka waktu yang berbeda untuk peringatan tertentu seperti penggunaan, yang kami harapkan berada di atas ambang batas tertentu pada siang hari tetapi tidak pada malam hari.

+1

+1

+1

Mengapa orang ( @bascarsija & @maizy) menolak permintaan orang untuk ini?

orang-orang "menolak" pesan "+1" ini yang menyebabkan pemberitahuan email dikirim ke semua orang yang berlangganan utas ini. efek kumulatif dari banyak orang yang menambahkan pesan "+1" ini ke utas secara signifikan mengurangi nilai fitur berlangganan utas dengan secara dramatis mengurangi rasio signal-to-noise.

Anda dapat menunjukkan minat atau persetujuan Anda dengan proposal atau komentar tertentu yang dibuat oleh orang lain tanpa memicu pemberitahuan email semacam itu hanya dengan "meningkatkan suara" atau "mengurangi suara" melalui reaksi. tampilan solidaritas/ketertarikan agregat yang paling menonjol dalam suatu masalah biasanya adalah reaksi yang diperhitungkan pada deskripsi awal/utama dari masalah tersebut -- harap pertimbangkan untuk menambahkan reaksi Anda di sana.

terus terang, ini adalah masalah sistemik dengan Github -- ini berlaku sama untuk semua utas masalah di semua proyek. Anda akan menemukan banyak permintaan di berbagai utas yang meminta penggunaan seperti itu karena UI Github tidak memberi tahu pengguna tentang konsekuensi ini atau mencegahnya dengan cara apa pun, dan pengguna yang mengetahui masalah tersebut (dan/atau terkena dampak negatifnya) adalah kemungkinan ragu-ragu untuk memberikan umpan balik seperti itu dengan menambahkan pesan lain ke utas (sehingga mengurangi rasio signal-to-noise lebih lanjut).

Terima kasih atas penjelasannya. Saya kira orang-orang yang memposting +1 itu tidak akan melakukannya jika mereka tahu itu hanya sebuah gangguan. Memposting penjelasan singkat tentang itu mungkin menghentikan beberapa dari mereka ... serta pertanyaan saya. Jempol ke bawah bisa berarti beberapa hal.

Adakah pembaruan pada peringatan jadwal selama waktu tertentu dalam sehari, minggu, bulan dan tahun?

Sebagai solusinya, menggunakan prometheus sebagai backend:

  • Tambahkan kueri berikut ke metrik Anda: hour() , yang mengembalikan jam dalam sehari (0-23). Anda dapat membuatnya tersembunyi di grafik.
  • Tambahkan kondisi AND tambahan ke peringatan Anda, jadi hanya peringatan jika kueri hour() berada di antara rentang yang Anda inginkan (mis.: jam kantor).

Hal yang sama dapat dilakukan dengan day_of_week() .

Kami juga membutuhkan fitur ini jika kami ingin dapat menawarkan layanan 24 jam berdasarkan tim yang berbeda di dunia... apakah ada rencana untuk ini?

Sementara fitur ini sedang bersiap-siap, saya mencoba menggunakan solusi.

Contoh:

```
metrik A : production.application_a.actual_metric = 123 (Ini adalah metrik saya yang sebenarnya)
metrik B : helper.time_helper.hour = 1 hingga 24 ( Metrik waktu palsu yang dikirim jam dalam sehari setiap menit ke grafit)

   alert requirement :

(metrik A di bawah 100 DAN jam berada di dalam rentang 10 dan 20)
ATAU
(metrik A di bawah 50 DAN jam berada di luar rentang 10 dan 20)
```

dengan kata lain:

metric A threshold is 100 between 10AM to 8PM and it is 50 for rest of the time

Pertanyaan saya :

Untuk skenario di atas, dapatkah saya mencapai dengan panel grafik tunggal atau apakah saya benar-benar dua panel grafik yang berbeda masing-masing untuk rentang dalam dan rentang luar? Atau adakah cara lain di grafana untuk mencapai ini? (Catatan: Saya menggunakan grafit 0.9.)

image

Juga menunggu fitur ini, pendekatan menarik untuk mengirim beberapa metrik palsu ke grafana... hanya ingin tahu apa pilihan yang bagus dan sederhana untuk menghasilkan metrik?

+1 bisakah kita memiliki kueri arbitrer yang dapat kita gunakan ekspresi untuk membatasi kondisi peringatan?

jam antara 1 dan 2 AND

+1 akan sangat dihargai!

Hanya komentar tentang pekerjaan kasar di sekitar
Saya menggunakan koleksi / Influxdb
Saya memiliki proses cron yang menulis nilai jam ke file ext datar
Plugin Collect Table membaca ini sebagai Table_Value - Instance "Jam"
Dalam lansiran apa pun di mana saya hanya perlu menggunakan rentang, saya menambahkan metrik jam (maks) ke dasbor sebagai metrik tersembunyi, lalu dalam lansiran gunakan nilai rentang AND - hanya pemicu jika jam antara X dan Y
Hal yang sama bekerja pada hari dalam seminggu juga

Kasar tapi efektif

@torkelo ada tamu kapan ini bisa diterapkan?

Tidak, maaf, itu tidak ada dalam peta jalan tim inti

segala upaya untuk mencegah lansiran dikirim saat instans Cloud vm dijadwalkan mati karena dijadwalkan nonaktif. kebanyakan sistem memiliki ini selama bertahun-tahun.
tolong tambahkan ini ;) peringatan pengaturan kelelahan.

Saya memiliki proses cron yang menulis nilai jam ke file ext datar
Dalam lansiran apa pun di mana saya hanya perlu menggunakan rentang, saya menambahkan metrik jam (maks) ke dasbor sebagai metrik tersembunyi, lalu dalam lansiran gunakan nilai rentang AND - hanya pemicu jika jam antara X dan Y

Ini adalah solusi yang cukup efektif dengan keuntungan yang halus tetapi berguna daripada mengabaikan peringatan antara X - Y: Jika situasinya tidak diperbaiki sebelum Y, saya mendapatkan peringatan pertama saya di Y. Jika saya mengabaikan peringatan antara X - Y, saya tidak akan diperingatkan bahkan setelah Y (walaupun orang dapat menggunakan fitur "Kirim pengingat" kurasa).

Ternyata pekerjaan cron tidak diperlukan saat menggunakan grafit sebagai sumber data:

Saya menambahkan metrik C dari timeSlice(isNonNull(identity(1)), '02:30 -9h', '06:00 -9h') dan menambahkan kondisi peringatan AND max() OF query(C, 1m, now) HAS NO VALUE untuk mengecualikan peringatan antara 2:30 - 6:00. (Itu -9h karena offset zona waktu saya adalah +9:00 dan timeSlice() tampaknya dalam UTC.)

EDIT: Setelah beberapa hari mencoba ini, trik timeSlice() itu sepertinya tidak berfungsi ... Tampaknya terjebak pada waktu saya menyimpan dasbor dan tidak pindah ke setiap hari.

Ini adalah fitur besar yang hilang. Mengapa ini tidak ada di peta jalan? Tampaknya sepele untuk diterapkan

Benar-benar terima kasih kepada @albertvaka atas solusinya menggunakan fungsi hour() dari Prometheus.

Sayangnya, sepertinya tidak ada cara untuk secara otomatis mempertimbangkan zona waktu saat menggunakan fungsi hour() (dan itu menjadi masalah ketika ada DST). Kami hanya dapat menghitung zona waktu secara manual berdasarkan bulan dan hari, tetapi itu bukan solusi yang baik.

Info lebih lanjut tentang prometheus/prometheus#4160

akan menyenangkan untuk dapat menetapkan tingkat ambang batas yang berbeda untuk periode waktu yang berbeda
misalnya tidak apa-apa jika hampir tidak ada acara aktivitas pengguna di malam hari, tetapi tidak apa-apa di siang hari

Apakah ada kemajuan atas permintaan ini?

Tidak yakin, tetapi saya tidak dapat menemukan sesuatu yang baru terkait dengan ini di Grafana 6.1.3

Akan senang melihat fitur ini diimplementasikan. Kami menggunakan Grafana untuk peringatan kritis bisnis, akan sangat bagus untuk tidak memberi tahu orang-orang di perusahaan ketika tidak diperlukan misalnya di waktu luang mereka.

+1, akan senang jika ini diterapkan.

+1 Tuhan melarang saya lupa untuk menjeda pemantauan sebelum saya pulang untuk akhir pekan, sakit kembali pada hari Senin untuk ribuan email untuk perilaku yang diharapkan

+1 tolong terapkan ini ASAP - saya harus mem-porting semuanya ke papan hal jika ini tidak segera diterapkan https://thingsboard.io/

@torkelo, bisakah Anda memberi kami informasi tentang masalah ini? Apakah ada kemajuan?

Hai, apakah ada seseorang dengan pengetahuan yang cukup untuk mengimplementasikannya dan membuat permintaan tarik?

Saya dapat memberi tahu Anda apa yang saya lakukan untuk "mendapatkan" fitur ini. Saya tidak dapat membagikan kode karena ini adalah hak milik, tetapi saya dapat berbagi ide, yang tidak tunduk pada banteng * * hak milik apa pun.

Saya telah menerapkan beberapa fungsi Lambda [SomeCloudProviderOfYourChoice] terjadwal cron yang menggunakan Grafana REST API untuk memperbarui seluruh dasbor dari muatan JSON yang diekspor dengan peringatan dan ambang batasnya tergantung pada periode aktif/idle sistem yang sesuai (sistem kami aktif 8-10 jam setiap hari di luar akhir pekan). Ini bekerja cukup baik.

Tetapi.

Setiap kali Anda bekerja dengan dasbor di Grafana Web GUI, Anda harus ingat bahwa setiap kali Anda membuat perubahan apa pun, membuang dasbor JSON dan memasukkannya ke repo "Grafana Scheduler" adalah WAJIB . Jika Anda lupa membuang muatan Anda (South Park S11E09), perubahan Anda akan hilang setiap kali penjadwal masuk (dapat dipulihkan, tetapi menyakitkan). Dan Anda harus menyebarkan perubahan Anda ke kedua dump JSON aktif/idle, yang pada dasarnya berarti menggandakan upaya (ditambah lebih banyak lagi jika perbedaan tidak didokumentasikan dengan tepat). Secara efektif "solusi" ini berarti Anda memerlukan _proses_ yang terdokumentasi dengan baik, terpelihara, terlihat, dan diikuti dengan ketat, yang dalam jangka panjang mungkin lebih menyedot daripada tidak memiliki fitur ini sama sekali. Kami sangat jarang mengubah ambang peringatan sehingga tampaknya tidak terlalu merepotkan bagi kami untuk menangani _proses_ overhead.

Bagaimanapun...

Saya sedang bekerja dengan Aiven Grafana sekarang yang berjalan di atas SQLite (diberlakukan oleh penyedia), jadi jika basis data diubah menjadi sesuatu yang lebih konkuren dan kaya fitur, orang dapat mengetahui cara menggunakan pemicu basis data + acara untuk menangani hal-hal kecil itu pembaruan parsial dilakukan melalui Grafana Web GUI sehingga dapat membuat seluruh proses lebih lancar.

Tetap semangat, semoga berhasil!

Harap tambahkan ini untuk menyelesaikannya, ini pasti diperlukan untuk migrasi dari platform lain.

Cara sederhana dengan kueri T-SQL adalah dengan menipu GRAFANA (solusi):

SELECT timestamp AS time,
        CASE 
            WHEN DATEPART(HOUR, SYSDATETIME()) NOT IN (0,1,2,3,4,5,6) 
            THEN COUNT(document_number)
            ELSE 0 
        END AS Receipts
FROM GRAFANA.dbo.ReceiptsErrorsHistory
WHERE timestamp >= DATEADD(DAY, -7, GETDATE())
AND document_type = 'receipt'
GROUP BY timestamp

Bagaimana status implementasi ini? Saat ini kami menggunakan seyren dan cabot untuk peringatan, dan ingin bermigrasi ke peringatan Grafana. Tanpa batasan waktu, kita tidak akan bisa bergerak maju.

Dalam kasus pencarian Elastis, saya menemukan cara mudah untuk menyelesaikan masalah ini.
Gunakan matematika tanggal: https://www.elastic.co/guide/en/elasticsearch/client/net-api/7.x/date-math-expressions.htm.

misalnya, jika Anda menginginkan data dengan rentang (AM 00:00 ~ PM:12:00) maka @timestamp :[now/d TO now/d+12h] akan dapat mengembalikan hasil yang diinginkan

@sukjoonhong saya tidak bisa membuatnya bekerja. Minta screenshotnya gan?

Saya punya solusi untuk ini yang menggunakan cron untuk menghidupkan dan mematikan peringatan. Ini hanya akan berfungsi jika Anda ingin mematikan SEMUA lansiran dalam semalam (atau jika Anda dapat diganggu untuk membuat skrip lansiran individual).

Di crontab pada kotak grafana, saya menambahkan:

1 * * * * root /root/do-alert-thing.sh

Dan di /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

Ganti saja Somewhere/Sometime dengan zona waktu Anda (tip: jalankan timedatectl list-timezones untuk daftar), dan tambahkan kredensial Anda alih-alih [email protected] . Titik akhir admin ini hanya berfungsi dalam mode autentikasi Dasar per dokumentasi .

Semoga ini bisa membantu seseorang di luar sana.

@Atem18
2019-10-14-094215_3840x1080_scrot

Dalam kasus saya, kueri ini berhasil.

@sukjoonhong Terima kasih saya akan mencobanya!

Saya punya solusi untuk ini yang menggunakan cron untuk menghidupkan dan mematikan peringatan. Ini hanya akan berfungsi jika Anda ingin mematikan SEMUA lansiran dalam semalam (atau jika Anda dapat diganggu untuk membuat skrip lansiran individual).

Di crontab pada kotak grafana, saya menambahkan:

1 * * * * root /root/do-alert-thing.sh

Dan di /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

Ganti saja Somewhere/Sometime dengan zona waktu Anda (tip: jalankan timedatectl list-timezones untuk daftar), dan tambahkan kredensial Anda alih-alih [email protected] . Titik akhir admin ini hanya berfungsi dalam mode autentikasi Dasar per dokumentasi .

Semoga ini bisa membantu seseorang di luar sana.

Saya mencoba ini dan berhasil, tetapi di grafana ui dikatakan hanya berhenti selama satu jam. Jadi saya harus membuat crontab yang berulang setiap jam sampai ....?

Saya mendekati ini dari sudut yang berbeda di mana Anda menghasilkan metrik on/off prometheus berdasarkan output skrip, misalnya perintah ps yang memeriksa apakah skrip cadangan sedang berjalan. Kemudian di dasbor saya, saya memiliki "Cadangan Aktif" untuk menampilkan status cadangan dan di panel utama saya dengan semua pertanyaan dan peringatan saya, saya menambahkan pemeriksaan kondisi yang tidak akan mengingatkan jika metrik cadangan adalah = 1. Pendekatan ini akan juga memungkinkan Anda menambahkan lansiran terpisah yang diaktifkan jika pencadangan berjalan lebih lama dari yang seharusnya saat Anda mempertimbangkan data metrik historis.

Saya punya solusi untuk ini yang menggunakan cron untuk menghidupkan dan mematikan peringatan. Ini hanya akan berfungsi jika Anda ingin mematikan SEMUA lansiran dalam semalam (atau jika Anda dapat diganggu untuk membuat skrip lansiran individual).
Di crontab pada kotak grafana, saya menambahkan:
1 * * * * root /root/do-alert-thing.sh
Dan di /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

Ganti saja Somewhere/Sometime dengan zona waktu Anda (tip: jalankan timedatectl list-timezones untuk daftar), dan tambahkan kredensial Anda alih-alih [email protected] . Titik akhir admin ini hanya berfungsi dalam mode autentikasi Dasar per dokumentasi .
Semoga ini bisa membantu seseorang di luar sana.

Saya mencoba ini dan berhasil, tetapi di grafana ui dikatakan hanya berhenti selama satu jam. Jadi saya harus membuat crontab yang berulang setiap jam sampai ....?

Tidak yakin mengapa Anda melihat perilaku itu; bagi saya itu berhenti dan tetap berhenti selama 9 jam, sampai saya membatalkannya menggunakan baris cron pagi.

Saya punya solusi untuk ini yang menggunakan cron untuk menghidupkan dan mematikan peringatan. Ini hanya akan berfungsi jika Anda ingin mematikan SEMUA lansiran dalam semalam (atau jika Anda dapat diganggu untuk membuat skrip lansiran individual).
Di crontab pada kotak grafana, saya menambahkan:
1 * * * * root /root/do-alert-thing.sh
Dan di /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

Ganti saja Somewhere/Sometime dengan zona waktu Anda (tip: jalankan timedatectl list-timezones untuk daftar), dan tambahkan kredensial Anda alih-alih [email protected] . Titik akhir admin ini hanya berfungsi dalam mode autentikasi Dasar per dokumentasi .
Semoga ini bisa membantu seseorang di luar sana.

Saya mencoba ini dan berhasil, tetapi di grafana ui dikatakan hanya berhenti selama satu jam. Jadi saya harus membuat crontab yang berulang setiap jam sampai ....?

Tidak yakin mengapa Anda melihat perilaku itu; bagi saya itu berhenti dan tetap berhenti selama 9 jam, sampai saya membatalkannya menggunakan baris cron pagi.

Tidak mengatakan saya melihat perilaku itu, tetapi secara harfiah mengatakannya di grafana UI. Dijeda selama 1 jam. Jadi saya berasumsi trik jeda hanya bekerja selama 1 jam.

Tetapi jika ini salah saya berdiri dikoreksi.

Tidak mengatakan saya melihat perilaku itu, tetapi secara harfiah mengatakannya di grafana UI. Dijeda selama 1 jam. Jadi saya berasumsi trik jeda hanya bekerja selama 1 jam.

Tetapi jika ini salah saya berdiri dikoreksi.

Ini mungkin hanya status waspada; misalnya jika lansirannya OK, itu akan menunjukkan:

image

Saya kira jika telah dijeda selama satu jam, itu akan mengatakan "DIJEDA selama 1 jam"?

Bodohnya saya, saya pikir saya pasti salah mengartikan

Terimakasih atas klarifikasinya!

Apakah ada rencana untuk mengimplementasikan fitur ini dalam versi 6.6.x > setelah Empat tahun?

Kami masih berharap untuk melihat ini diterapkan juga. Ini adalah sistem peringatan yang sangat tidak efektif jika pengguna yang sedang bebas, sedang berlibur, atau tidak tersedia di-spam dengan peringatan ketika mereka tidak perlu merespons.

Kami sangat ingin menyertakan opsi untuk mengatur berbagai jam (untuk jam kerja kasus kami) untuk waspada.

Sama di sini, akan sangat menyenangkan memiliki ini.

Solusi untuk beberapa backend ada (saya menggunakan satu untuk MySQL yang melibatkan pemfilteran acara di luar rentang waktu tertentu melalui kueri), tetapi menjadikan ini sebagai "fitur yang tepat" pasti akan menjadi nilai tambah.

Kami juga ingin melihat fitur ini di rilis mendatang. Akan sangat membantu untuk dapat memfilter/menekan peringatan selama jendela 'setelah jam kerja' kami. Misalnya, jika kita dapat menyaring peringatan jika terjadi setelah jam 8 malam dan sebelum jam 8 pagi keesokan harinya.

Akan sangat bagus untuk mendapatkan fitur ini, silakan. Seperti sekarang, itu seperti anak serigala yang menangis di malam hari. Aku baru saja meletakkan ponselku di laci. Peringatan itu tidak berguna. Terima kasih.

Kami sangat membutuhkan fungsionalitas Pengakuan Grafana. Tanpa fungsi Acknowledge Alert , fungsi Grafana Alerting tidak dapat digunakan di Lingkungan Layanan Produksi Kritis.

Akan sangat bagus untuk melihat fitur ini di Grafana. Hanya peringatan selama jam tertentu yang relevan bagi kami, jam kerja +-2 jam, pada malam hari ada kenaikan (direncanakan) dari nilai yang dipantau yang saat ini menghasilkan peringatan :-(

+1 pada permintaan fitur

Ini akan menjadi fitur hebat jika kita dapat menambahkan alarm untuk wilayah waktu tertentu. Aturan alarm seharusnya hanya berfungsi untuk wilayah waktu tertentu.

Mungkin bagus untuk memiliki cara untuk mengonfigurasi saluran pemberitahuan yang berbeda mengenai periode waktu, seperti:

  • Senin biasa -> beri tahu melalui Slack
  • 1 Januari Senin -> beri tahu melalui SMS

Jangka waktu dapat ditentukan pengguna dan ditautkan ke saluran pemberitahuan.

Saya membaca sekilas sebagian besar komentar, jadi mohon maaf jika seseorang mengartikulasikan kasus penggunaan berikut, tetapi saya tidak menyadarinya.

Alasan untuk mendukung pembatasan waktu dalam sehari untuk peringatan adalah untuk rangkaian data yang jarang. Pertimbangkan penyiapan saat pekerjaan batch dijalankan sekali sehari, beberapa waktu antara tengah malam dan jam 2 pagi untuk menyiapkan data untuk pengarahan jam 8 pagi setiap hari. Titik data tunggal "pekerjaan selesai" dipancarkan setelah selesai.

Tidak ada cara yang baik untuk memperingatkan hal ini tanpa batasan waktu.

"Peringatan jika tidak ada titik data dalam X jam terakhir" tidak akan berfungsi selama hitungan X jam. Misalnya, jika saya memperingatkan "tidak ada titik data dalam 24 jam terakhir", maka itu berfungsi selama semua pekerjaan dijalankan dengan benar setiap hari. Namun, jika saya mendapatkan kegagalan, dan menjalankan kembali pekerjaan pada jam 11 pagi untuk mengejar ketinggalan. Kemudian peringatan saya untuk hari berikutnya rusak (karena tidak akan terpicu sampai setelah jam 11 pagi). Ini adalah kasus penggunaan utama saya untuk pembatasan waktu. Satu-satunya peringatan yang dapat diterapkan adalah dengan mengaktifkan logika evaluasi peringatan dari pukul 02:00 hingga 08:00 dan waspada jika "tidak ada titik data dalam 8 jam terakhir".

Kasus penggunaan ini bukan tentang menekan peringatan selama jam kerja, atau mengurangi kebisingan di sekitar waktu tertentu dalam sehari. Bahkan dengan respons panggilan 24/7, peringatan di atas tidak dapat diungkapkan secara akurat tanpa batasan waktu.

+1 untuk fitur ini.
Dalam kasus kami, perlu untuk mengirim peringatan dengan informasi selama N hari terakhir sekali sehari/jam/minggu. Semuanya diperumit oleh fakta bahwa buletin harus dilakukan pada waktu yang ditentukan secara ketat (8:00, 13:00, dan seterusnya).

Sebagai solusinya, kami berencana untuk mengelola lansiran melalui HTTP Api, tetapi kami ingin melihat fungsi ini di bagian klien grafana.

Butuh fitur ini. Contoh: Jaringan PROD dengan Jam Pemeliharaan - Sekarang ingin menghentikan beberapa pemberitahuan selama Jendela pemeliharaan ini. misalnya setiap Minggu malam di antara kerangka waktu tertentu. Tidak mungkin untuk saat ini.

Saya akan sangat menyukai fitur ini jika tersedia. Saya ingin berhenti mengingatkan untuk jangka waktu tertentu dalam rentang 24 jam.

+100000

👍 +1
Saya pikir itu adalah fitur penting untuk menggunakan Grafana sebagai mesin peringatan sejati.

Meskipun layanan sebenarnya mempertahankan status dalam keadaan sehat, metrik dapat berubah sesuai dengan jadwal yang ditentukan.
Kami membutuhkan cara umum untuk mengontrol peringatan kami selama jadwal itu.

+1

Ini akan menjadi fitur yang bagus untuk dimiliki di sisi klien. Saat ini kita harus menurunkan bidang seperti hourOfDay, dayOfWeek, di Logstash agar mereka ada di ES untuk menambahkan metrik tambahan ke kumpulan metrik, dan menambahkannya dalam aturan peringatan.

Beri tahu saya jika metrik rata-rata A yang merupakan penggunaan CPU lebih dari 90% untuk 1m
DAN
jika metrik B yang merupakan max hourOfDay dari dokumen yang sama berada di antara RANGE.

Ini berhasil, tetapi rasanya canggung bekerja seperti ini, sebagai solusi.
Terutama sejak Grafana telah berkembang pesat sejak 2016 di bidang lain, tetapi ini agak terlupakan sejak 2016.

Saya punya solusi untuk ini yang menggunakan cron untuk menghidupkan dan mematikan peringatan. Ini hanya akan berfungsi jika Anda ingin mematikan SEMUA lansiran dalam semalam (atau jika Anda dapat diganggu untuk membuat skrip lansiran individual).

Di crontab pada kotak grafana, saya menambahkan:

1 * * * * root /root/do-alert-thing.sh

Dan di /root/do-alert-thing.sh:

#!/bin/bash

#Enable at 6am local
TZ='Somewhere/Sometime' date +%H | grep '06' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":false}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

#Disable at 9pm local
TZ='Somewhere/Sometime' date +%H | grep '21' && (
  curl http://localhost:3000/api/admin/pause-all-alerts -d '{"paused":true}' -u [email protected]:letmein -H 'Content-Type: application/json'
)

Ganti saja Somewhere/Sometime dengan zona waktu Anda (tip: jalankan timedatectl list-timezones untuk daftar), dan tambahkan kredensial Anda alih-alih [email protected] . Titik akhir admin ini hanya berfungsi dalam mode autentikasi Dasar per dokumentasi .

Semoga ini bisa membantu seseorang di luar sana.

Hai
Bisakah Anda memberi tahu saya cara mendapatkan url lansiran individual?

Hai
Bisakah Anda memberi tahu saya cara mendapatkan url lansiran individual?

Sangat disayangkan bahwa setelah 4 tahun fitur yang jelas diminta ini tidak diimplementasikan. Kasus penggunaan saya adalah otomatisasi rumah sederhana di mana router harus dimulai ulang dari waktu ke waktu (ini milik ISP dan tidak dapat bertahan lebih dari seminggu waktu aktif). Saya memiliki adaptor soket sederhana dengan tombol yang mengatur ulang router setiap malam. Jadi setiap malam saya mendapat banyak peringatan tentang sensor saya yang mati di Telegram. Fitur sederhana untuk menonaktifkan peringatan selama interval waktu tertentu akan berguna.

Tidak harus langsung membuat penjadwalan yang super canggih. Pada versi pertama fitur ini bisa jadi hanya waktu saja. Dengan jadwal yang lebih kompleks yang ditambahkan pada tahap selanjutnya

Apakah kami memiliki cara untuk menjadwalkan peringatan pada waktu tertentu.

+1 untuk fitur ini.

Apakah grafana mendukung operasi modulo? Kemudian, Anda harus dapat menggunakan fungsi identitas untuk mendapatkan waktu unix sebagai metrik tambahan di panel Anda. Dengan fungsi modulo Anda bisa mendapatkan sisa pembagian waktu unix dengan 86400 (jumlah detik dalam sehari). Kemudian Anda dapat menambahkan kondisi rentang pada metrik waktu di lansiran Anda. Benar?

Apakah akan sulit untuk menambahkan operasi modulo untuk tujuan ini?

Kedengarannya gila tetapi berhasil dan untuk kasus penggunaan saya itu sudah cukup. 😅.

time() % 86400

Tetap saja, sangat disayangkan bahwa tidak ada solusi yang lebih nyaman yang bukan merupakan peretasan yang jelas. 🤦.

Kedengarannya gila tetapi berhasil dan untuk kasus penggunaan saya itu sudah cukup. 😅.

time() % 86400

Tetap saja, sangat disayangkan bahwa tidak ada solusi yang lebih nyaman yang bukan merupakan peretasan yang jelas. 🤦.

@ochrstn versi grafana apa yang Anda miliki saat saya mencoba ini di v6.6.1 dan operasi modulo pada dasarnya diabaikan dalam kueri?

Kedengarannya gila tetapi berhasil dan untuk kasus penggunaan saya itu sudah cukup. 😅.

time() % 86400

Tetap saja, sangat disayangkan bahwa tidak ada solusi yang lebih nyaman yang bukan merupakan peretasan yang jelas. 🤦.

@ochrstn versi grafana apa yang Anda miliki saat saya mencoba ini di v6.6.1 dan operasi modulo pada dasarnya diabaikan dalam kueri?

v6.6.2

Apakah grafana mendukung operasi modulo? Kemudian, Anda harus dapat menggunakan fungsi identitas untuk mendapatkan waktu unix sebagai metrik tambahan di panel Anda. Dengan fungsi modulo Anda bisa mendapatkan sisa pembagian waktu unix dengan 86400 (jumlah detik dalam sehari). Kemudian Anda dapat menambahkan kondisi rentang pada metrik waktu di lansiran Anda. Benar?
Apakah akan sulit untuk menambahkan operasi modulo untuk tujuan ini?

Kedengarannya gila tetapi berhasil dan untuk kasus penggunaan saya itu sudah cukup.

time() % 86400

Tetap saja, sangat disayangkan bahwa tidak ada solusi yang lebih nyaman yang bukan merupakan peretasan yang jelas.

Hai @ochrstn :) Bisakah Anda memberikan detail tentang bagaimana Anda melakukan ini?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat