Sumber data: InfluxDB, berpotensi PostgreSQL untuk data yang jarang berubah.
Permintaan fitur ini merupakan perpanjangan umum dari diskusi yang terjadi di:
Ini didasarkan pada slack post: Praktik Terbaik Grafana Cloud Hosting yang saya buat pada 20.04.2016 di saluran grafana
di raintank.slack.com
.
Untuk yang penasaran:
Untuk mengetahui apa itu sistem off-grid atau hybrid, silakan lihat dokumen yang sangat mudah diakses ini:
Sistem tenaga hibrida berdasarkan energi terbarukan (sumber: Alliance for Rural Electrification )
Tantangan
Di bawah ini adalah contoh dari salah satu kasus penggunaan Grafana saya yang paling kompleks.
βββ Off-Grid manufacturer 1
βΒ Β βββ Technical staff
βΒ Β βββ Finance staff
βΒ Β βββ Investors
βΒ Β βββ Public (i.e. demo dashboards)
β β
βΒ Β βββ Plant hire company 1.1
βΒ Β β βββ Finance staff
βΒ Β β βββ Technical staff
βΒ Β β βββ Investors
βΒ Β β βββ Public (i.e. demo dashboards)
β β β
β β βββ Building company 1.1.1
βΒ Β β β βββ Technical staff
βΒ Β β β βββ Finance staff
βΒ Β β β βββ Investors
βΒ Β β β βββ Public (i.e. demo dashboards)
β β .
β β .
β β βββ Building company 1.1.n
β .
β .
βΒ Β βββ Plant hire company 1.n
.
.
βββ Off-Grid manufacturer n
Perhatikan bahwa saya perlu berurusan tidak hanya dengan banyak organisasi tetapi beberapa organisasi dalam beberapa lapisan.
Dalam Off-Grid manufacturer 1
ada 5 kelompok pengguna yang berbeda yaitu:
β’ Staf teknis
β’ Staf keuangan
β’ Investor
β’ Umum
β’ Pelanggan (yaitu perusahaan perekrut pabrik; pada dasarnya adalah sub-organisasi)
Masing-masing grup ini memiliki kebutuhan yang sangat berbeda dalam hal visualisasi data dan akan luar biasa jika dapat menyiapkan dasbor default yang berlaku untuk setiap grup. Beberapa grup, seperti orang-orang teknologi, saya ingin memberikan akses penuh untuk membuat dasbor mereka sendiri dan dapat membuat grafik apa pun. Grup publik yang ingin saya kunci sepenuhnya sementara setiap grup lainnya berada di antara dua ekstrem ini. Saya tidak ingin grup ikut campur, atau memiliki akses ke dasbor atau sumber data satu sama lain.
Off-Grid manufacturer 1
harus dapat mengakses semua data dari semua perusahaan di bawahnya, sedangkan Plant hire company 1.1
harus dapat mengakses semua perusahaan di bawahnya tetapi tidak dapat mengakses data dari persewaan pabrik lain perusahaan pada tingkat yang sama dengan dirinya sendiri atau organisasi di atasnya.
Sebuah contoh yang agak ekstrim saya tahu, tapi ini adalah kenyataan saya!
Untuk menyederhanakan akses dasbor, akan sangat bagus jika memiliki grup pengguna dan grup dasbor dalam organisasi dan dapat memberikan hak melihat/mengedit ke dasbor untuk setiap pengguna atau grup pengguna. Sub-grup (atau sub-organisasi) dengan kemampuan untuk menetapkan peran admin ke pengguna tertentu dalam grup tertentu, dengan hak admin terbatas pada sub-grup (atau sub-organisasi) itu, juga akan berguna
Jika Anda harus menggambar satu organisasi, itu akan terlihat seperti ini:
users : u1 u2 u3 u4 u5 |
\ / \ / / / |
| | / / |
user : ug1 ug2 / / |
groups : | / | / / |
| / | / / |>- organisation
| / | / / |
dashboard : dg1 dg2 / |
groups : | | / |
/ \ / \ / |
dashboards: d1 d2 d3 d4 |
--
Catatan:
u1
), melalui grup pengguna 1 ( ug1
), hanya memiliki akses ke dasbor 1 & 2 ( d1
& d2
).u2
) milik kedua grup pengguna dan oleh karena itu memiliki akses ke semua 4 dasbor.ug2
) memiliki akses ke kedua grup dasbor dan oleh karena itu juga memiliki akses ke semua 4 dasbor.u4
) milik langsung ke grup dasbor 2 ( dg2
), bukan melalui grup pengguna.u5
) hanya memiliki izin untuk melihat dasbor 4 ( d4
). Sejauh yang saya pahami, ini adalah model izin saat ini yang berlaku di dalam organisasi?Sebuah organisasi dengan beberapa sub-organisasi akan terlihat seperti ini:
| sub-users : su1 su2 su3 su4
| \ / \ /
| | |
sub-organisation 1 -<| sub-user : sug1 sug2
/ | groups : | \ |
organisation | | \ |
\ | | \ |
sub-organisation 2 | sub-dashboard : sdg1 sdg2
| groups : | |
| / \ / \
| sub-dashboards: sd1 sd2 sd3
--
Catatan:
sd2
) milik kedua grup sub-dasbor dan oleh karena itu dapat diakses oleh 4 pengguna.sub-organisation 1
tidak memiliki akses ke data apa pun milik sub-organisation 2
atau data milik organisation
, kecuali miliknya sendiri.Berikut adalah skenario penggunaan untuk melukiskan gambaran tentang bagaimana saya membayangkan ini bekerja dalam kenyataan:
Saya memiliki pelanggan, Off-Grid manufacturer 1
, yang membangun dan menjual sistem off-grid ke perusahaan persewaan pabrik, yang pada gilirannya mempekerjakan mereka untuk membangun perusahaan yang membutuhkan listrik di lokasi bangunan mereka (catatan: 4 tingkat organisasi).
Off-Grid manufacturer 1
memperoleh pelanggan baru, Plant hire company 1.2
, yang ingin memantau semua sistem off-grid yang mereka beli dari Off-Grid manufacturer 1
. Plant hire company 1.2
memiliki dua pelanggan, Building companies 1.2.1 & 1.2.2
, yang ingin mengelola hak akses pengguna mereka sendiri.
Off-Grid manufacturer 1
telah membuat set dasbor standar untuk setiap sistem off-grid yang ingin mereka berikan akses kepada semua pelanggan mereka.
Off-Grid manufacturer 1
Saya membuat satu pengguna dalam organisasi ini dan memberi mereka hak admin.
Pengguna admin organisasi Off-Grid manufacturer 1
membuat 2 dasbor.
Pengguna admin membuat grup baru yang disebut "Teknisi" dan memberinya akses ke dasbor 2.
Pengguna admin dari organisasi Off-Grid manufacturer 1
membuat pengguna baru (mis. finance_user_1
).
finance_user_1
ditambahkan ke grup "Keuangan" (mereka memiliki akses langsung ke dasbor 1)
Pengguna admin dari organisasi Off-Grid manufacturer 1
membuat grup atau sub-organisasi baru (mis. hire_company_1.2
).
hire_company_1.2_admin
.hire_company_1.2_admin
dapat:hire_company_1.2
.Saya menyarankan untuk mengisolasi sumber data juga dan membiarkan admin grup mengelolanya sendiri dengan aman.
Proposal untuk Grup Dasbor dan Model Izin: https://github.com/grafana/grafana/issues/1611#issuecomment -287742633
dilakukan di v5 melalui folder Tim & Dasbor
Komentar yang paling membantu
Saya menyarankan untuk mengisolasi sumber data juga dan membiarkan admin grup mengelolanya sendiri dengan aman.