Buat dasbor pertama Anda - Amazon Managed Grafana

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat dasbor pertama Anda

Membuat dasbor

Ikuti langkah-langkah ini untuk membuat dasbor di konsol Grafana.

Untuk membuat dasbor pertama Anda
  1. Pilih ikon + di panel kiri, pilih Buat Dasbor, lalu pilih Tambahkan panel baru.

  2. Di tampilan New Dashboard/Edit Panel, pilih tab Query.

  3. Konfigurasikan kueri Anda dengan memilih sumber data yang ingin Anda kueri. Misalnya, jika Anda menambahkan TestDB sebagai sumber data, ini menghasilkan dasbor sampel yang disebut dasbor Random Walk.

Pengantar deret waktu

Bayangkan Anda ingin tahu bagaimana suhu di luar berubah sepanjang hari. Setiap jam sekali, Anda akan memeriksa termometer dan menuliskan waktu bersama dengan suhu saat ini. Setelah beberapa saat, Anda akan memiliki sesuatu seperti data berikut.

Waktu Nilai
09:00 24° C
10:00 26° C
11:00 27° C

Data suhu seperti ini adalah salah satu contoh deret waktu —urutan pengukuran, yang diurutkan dalam waktu. Setiap baris dalam tabel mewakili satu pengukuran individu pada waktu tertentu.

Tabel berguna ketika Anda ingin mengidentifikasi pengukuran individu, tetapi mereka dapat membuat sulit untuk melihat gambaran besarnya. Visualisasi yang lebih umum untuk deret waktu adalah grafik, yang sebaliknya menempatkan setiap pengukuran sepanjang sumbu waktu. Representasi visual seperti grafik memudahkan untuk menemukan pola dan fitur data yang jika tidak akan sulit dilihat.

Contoh lain dari deret waktu adalah:

  • Penggunaan CPU dan memori

  • Data sensor

  • Indeks pasar saham

Sementara masing-masing contoh ini adalah urutan pengukuran yang disusun secara kronologis, mereka juga berbagi atribut lain:

  • Data baru ditambahkan di akhir, pada interval reguler—misalnya, setiap jam pukul 09:00, 10:00, 11:00, dan seterusnya.

  • Pengukuran jarang diperbarui setelah ditambahkan. Misalnya, suhu kemarin tidak berubah.

Deret waktu sangat kuat. Mereka membantu Anda memahami masa lalu dengan membiarkan Anda menganalisis keadaan sistem kapan saja. Deret waktu dapat memberi tahu Anda bahwa server mogok beberapa saat setelah ruang disk kosong turun ke nol.

Time series juga dapat membantu Anda memprediksi masa depan dengan mengungkap tren dalam data Anda. Misalnya, jika jumlah pengguna terdaftar telah meningkat setiap bulan sebesar 4 persen selama beberapa bulan terakhir, Anda dapat memprediksi seberapa besar basis pengguna Anda pada akhir tahun.

Beberapa deret waktu memiliki pola yang berulang selama periode yang diketahui. Misalnya, suhu biasanya lebih tinggi di siang hari, sebelum turun di malam hari. Dengan mengidentifikasi deret waktu periodik, atau musiman ini, Anda dapat membuat prediksi yang meyakinkan tentang periode berikutnya. Jika Anda tahu bahwa beban sistem memuncak setiap hari sekitar pukul 18:00, Anda dapat menambahkan lebih banyak mesin sebelumnya.

Agregasi deret waktu

Tergantung pada apa yang Anda ukur, data dapat sangat bervariasi. Bagaimana jika Anda ingin membandingkan periode yang lebih lama dari interval antar pengukuran? Jika Anda mengukur suhu setiap jam sekali, Anda akan mendapatkan 24 titik data per hari. Untuk membandingkan suhu di bulan Agustus selama bertahun-tahun, Anda harus menggabungkan 31 kali 24 titik data menjadi satu.

Menggabungkan kumpulan pengukuran disebut agregasi. Ada beberapa cara untuk mengumpulkan data deret waktu. Berikut adalah beberapa yang umum:

  • Rata-rata mengembalikan jumlah semua nilai dibagi dengan jumlah total nilai.

  • Min dan Max mengembalikan nilai terkecil, dan terbesar dalam koleksi.

  • Jumlah mengembalikan jumlah semua nilai dalam koleksi.

  • Count mengembalikan jumlah nilai dalam koleksi.

Misalnya, dengan menggabungkan data dalam sebulan, Anda dapat menentukan bahwa Agustus 2017 rata-rata lebih hangat dari tahun sebelumnya. Jika Anda ingin melihat bulan mana yang memiliki suhu tertinggi, Anda akan membandingkan suhu maksimum untuk setiap bulan.

Bagaimana Anda mengumpulkan data deret waktu Anda adalah keputusan penting, dan itu tergantung pada cerita yang ingin Anda ceritakan dengan data Anda. Adalah umum untuk menggunakan agregasi yang berbeda untuk memvisualisasikan data deret waktu yang sama dengan cara yang berbeda.

Deret waktu dan pemantauan

Dalam industri TI, data time series sering dikumpulkan untuk memantau hal-hal seperti infrastruktur, perangkat keras, atau peristiwa aplikasi. Data deret waktu yang dihasilkan mesin biasanya dikumpulkan dengan interval pendek, sehingga Anda dapat bereaksi terhadap perubahan yang tidak terduga, beberapa saat setelah itu terjadi. Data terakumulasi dengan cepat, sehingga penting untuk memiliki cara untuk menyimpan dan menanyakan data secara efisien. Akibatnya, database yang dioptimalkan untuk data deret waktu telah mengalami peningkatan popularitas dalam beberapa tahun terakhir.

Database deret waktu

Database time series (TSDB) adalah database yang dirancang secara eksplisit untuk data deret waktu. Meskipun dimungkinkan untuk menggunakan database reguler apa pun untuk menyimpan pengukuran, TSDB dilengkapi dengan beberapa pengoptimalan yang berguna.

TSDB modern memanfaatkan fakta bahwa pengukuran hanya pernah ditambahkan, dan jarang diperbarui atau dihapus. Misalnya, stempel waktu untuk setiap pengukuran berubah sedikit dari waktu ke waktu, yang menghasilkan data yang berlebihan disimpan.

Contoh berikut menunjukkan urutan stempel waktu Unix.

1572524345, 1572524375, 1572524404, 1572524434, 1572524464

Melihat stempel waktu ini, semuanya dimulai dengan1572524, yang menyebabkan penggunaan ruang disk yang buruk. Sebagai gantinya, Anda dapat menyimpan setiap stempel waktu berikutnya sebagai perbedaan, atau delta, dari yang pertama, seperti yang ditunjukkan pada contoh berikut.

1572524345, +30, +29, +30, +30

Anda bahkan dapat melangkah lebih jauh dengan menghitung delta delta ini, seperti yang ditunjukkan pada contoh berikut.

1572524345, +30, -1, +1, +0

Jika pengukuran dilakukan secara berkala, sebagian besar delta-of-deltas akan menjadi 0. Karena pengoptimalan seperti ini, TSDB menggunakan ruang yang jauh lebih sedikit daripada database lainnya.

Fitur lain dari TSDB adalah kemampuan untuk memfilter pengukuran dengan menggunakan tag. Setiap titik data diberi label dengan tag yang menambahkan informasi konteks, seperti di mana pengukuran dilakukan.

TSDB berikut didukung oleh Grafana:

  • Grafit

  • InfluxDB

  • Prometheus

    weather,location=us-midwest temperature=82 1465839830100400200 | -------------------- -------------- | | | | | | | | | +-----------+--------+-+---------+-+---------+ |measurement|,tag_set| |field_set| |timestamp| +-----------+--------+-+---------+-+---------+
Mengumpulkan data deret waktu

Sekarang setelah Anda memiliki tempat untuk menyimpan deret waktu Anda, bagaimana Anda benar-benar mengumpulkan pengukuran? Untuk mengumpulkan data deret waktu, Anda biasanya memasang kolektor pada perangkat, mesin, atau instance yang ingin Anda pantau. Beberapa kolektor dibuat dengan database tertentu dalam pikiran, dan beberapa mendukung tujuan output yang berbeda.

Berikut adalah beberapa contoh kolektor:

Seorang kolektor baik mendorong data ke database atau membiarkan database menarik data dari kolektor. Setiap pendekatan dilengkapi dengan pro dan kontra sendiri.

Pro Kontra
Dorong Lebih mudah untuk mereplikasi data ke beberapa tujuan. TSDB tidak memiliki kendali atas berapa banyak data yang dikirim.
Tarik Kontrol lebih besar atas bagaimana jumlah data yang dicerna dan keaslian data. Firewall, VPN, atau load balancer dapat membuat sulit untuk mengakses agen.

Karena tidak efisien untuk menulis setiap pengukuran ke database, kolektor melakukan pra-agregat data dan menulis ke TSDB secara berkala.

Dimensi deret waktu

Dengan data deret waktu, data seringkali merupakan kumpulan beberapa deret waktu. Banyak sumber data Grafana mendukung jenis data ini.

Kasus umum adalah mengeluarkan kueri tunggal untuk pengukuran dengan satu atau lebih properti tambahan sebagai dimensi. Misalnya, Anda mungkin menanyakan pengukuran suhu bersama dengan properti lokasi. Dalam hal ini, beberapa seri dikembalikan kembali dari kueri tunggal itu, dan setiap seri memiliki lokasi unik sebagai dimensi.

Untuk mengidentifikasi seri unik dalam serangkaian deret waktu, Grafana menyimpan dimensi dalam label.

Label

Setiap deret waktu di Grafana secara opsional memiliki label. Label adalah satu set pasangan kunci-nilai untuk mengidentifikasi dimensi. Contoh label adalah {location=us} atau{country=us,state=ma,city=boston}. Dalam satu set deret waktu, kombinasi nama dan labelnya mengidentifikasi setiap seri. Misalnya, temperature {country=us,state=ma,city=boston}.

Sumber data deret waktu yang berbeda memiliki dimensi yang disimpan secara asli, atau pola penyimpanan umum yang memungkinkan data diekstraksi ke dalam dimensi.

Biasanya, TSDB secara native mendukung dimensi. Prometheus menyimpan dimensi dalam label. Dalam TSDB seperti Graphite atau OpenTSDB, istilah tag digunakan sebagai gantinya.

Dalam database tabel seperti SQL, dimensi ini umumnya GROUP BY parameter query.

Beberapa dimensi dalam format tabel

Dalam database SQL atau SQL seperti yang mengembalikan respons tabel, dimensi tambahan biasanya adalah kolom dalam tabel respons kueri.

Dimensi tunggal

Misalnya, pertimbangkan kueri seperti contoh berikut.

SELECT BUCKET(StartTime, 1h), AVG(Temperature) AS Temp, Location FROM T GROUP BY BUCKET(StartTime, 1h), Location ORDER BY time asc

Kueri mungkin mengembalikan tabel dengan tiga kolom.

StartTime Temp Lokasi
09:00 24 LGA
09:00 20 BOS
10:00 26 LGA
10:00 22 BOS

Format tabel adalah deret waktu yang diformat panjang, juga disebut tinggi. Ini memiliki stempel waktu berulang, dan nilai berulang di Lokasi. Dalam hal ini, dua deret waktu dalam set akan diidentifikasi sebagai Temp {Location=LGA} danTemp {Location=BOS}.

Deret waktu individu dari himpunan diekstraksi dengan menggunakan dimensi berikut:

  • Kolom yang diketik waktu StartTime sebagai indeks waktu deret waktu

  • Kolom yang diketik numerik Temp sebagai nama seri

  • Nama dan nilai Location kolom yang diketik string untuk membangun label, seperti location=LGA

Beberapa dimensi

Jika kueri diperbarui untuk memilih dan mengelompokkan lebih dari satu kolom string (misalnya,GROUP BY BUCKET(StartTime, 1h), Location, Sensor), dimensi tambahan ditambahkan.

StartTime Temp Lokasi Sensor
09:00 24 LGA A
09:00 24.1 LGA B
09:00 20 BOS A
09:00 20.2 BOS B
10:00 26 LGA A
10:00 26.1 LGA B
10:00 22 BOS A
10:00 22.2 BOS B

Dalam hal ini, label yang mewakili dimensi memiliki dua kunci berdasarkan dua kolom yang diketik string, Location danSensor. Data menghasilkan empat seri:

  • Temp {Location=LGA,Sensor=A}

  • Temp {Location=LGA,Sensor=B}

  • Temp {Location=BOS,Sensor=A}

  • Temp {Location=BOS,Sensor=B}

catatan

Catatan: Beberapa dimensi tidak didukung dengan cara memetakan ke beberapa peringatan di Grafana. Sebaliknya, mereka diperlakukan sebagai beberapa kondisi untuk satu peringatan.

Beberapa nilai

Dalam kasus sumber data seperti SQL, lebih dari satu kolom numerik dapat dipilih, dengan atau tanpa kolom string tambahan untuk digunakan sebagai dimensi; misalnya,. AVG(Temperature) AS AvgTemp, MAX(Temperature) AS MaxTemp Ini, jika dikombinasikan dengan beberapa dimensi, dapat menghasilkan banyak seri. Memilih beberapa nilai saat ini dirancang untuk digunakan hanya dengan visualisasi.

Pengantar histogram dan peta panas

Histogram adalah representasi grafis dari distribusi data numerik. Ini mengelompokkan nilai ke dalam ember (kadang-kadang juga disebut tempat sampah). Kemudian menghitung berapa banyak nilai yang jatuh ke dalam setiap ember.

Alih-alih membuat grafik nilai aktual, histogram membuat grafik ember. Setiap batang mewakili ember, dan tinggi batang mewakili frekuensi (seperti hitungan) nilai yang jatuh ke dalam interval ember itu.

Histogram hanya melihat distribusi nilai selama rentang waktu tertentu. Masalah dengan histogram adalah Anda tidak dapat melihat tren atau perubahan distribusi dari waktu ke waktu. Di sinilah peta panas menjadi berguna.

Peta panas

Peta panas seperti histogram dari waktu ke waktu, di mana setiap irisan waktu mewakili histogramnya sendiri. Alih-alih menggunakan tinggi batang sebagai representasi frekuensi, ia menggunakan sel, mewarnai sel sebanding dengan jumlah nilai dalam ember.

Data pra-bucketed

Sejumlah sumber data mendukung histogram dari waktu ke waktu, termasuk yang berikut:

  • OpenSearch Layanan Amazon (dengan menggunakan agregasi bucket histogram)

  • Prometheus (dengan tipe metrik histogram dan opsi Format sebagai disetel ke Heatmap)

Umumnya, Anda dapat menggunakan sumber data apa pun yang mengembalikan seri dengan nama yang mewakili bucket bound atau mengembalikan seri yang diurutkan berdasarkan terikat dalam urutan menaik.

Data mentah vs. data agregat

Jika Anda menggunakan peta panas dengan data deret waktu reguler (bukan pra-bucketed), penting untuk diingat bahwa data Anda sering kali sudah dikumpulkan oleh backend deret waktu Anda. Sebagian besar kueri deret waktu tidak mengembalikan data sampel mentah. Sebaliknya, mereka memasukkan grup berdasarkan interval waktu atau maxDataPoints batas yang digabungkan dengan fungsi agregasi (biasanya rata-rata).

Itu tergantung pada rentang waktu kueri Anda. Poin penting adalah untuk mengetahui bahwa bucketing histogram yang dilakukan Grafana mungkin dilakukan pada data yang sudah dikumpulkan dan dirata-ratakan. Untuk peta panas yang lebih akurat, lebih baik melakukan bucketing selama pengumpulan metrik atau menyimpan data di OpenSearch, atau di sumber data lain yang mendukung melakukan bucketing histogram pada data mentah.

Jika Anda menghapus atau menurunkan grup berdasarkan waktu (atau menaikkan maxDataPoints) kueri untuk mengembalikan lebih banyak titik data, peta panas Anda lebih akurat. Tetapi ini juga dapat menempatkan beban berat pada CPU dan memori Anda. Jika jumlah titik data menjadi tidak masuk akal besar, itu dapat menyebabkan macet dan crash.