Menggunakan sumber data Athena - Amazon Managed Grafana

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

Menggunakan sumber data Athena

Kebijakan IAM

Grafana membutuhkan izin yang diberikan melalui IAM untuk dapat membaca metrik Athena. Anda dapat melampirkan izin ini ke peran IAM dan memanfaatkan dukungan bawaan Grafana untuk mengambil peran. Perhatikan bahwa Anda perlu Mengonfigurasi kebijakan yang diperlukan untuk peran Anda sebelum menambahkan sumber data ke Grafana. Anda akan memerlukan peran admin atau editor untuk menambahkan sumber data. Kebijakan akses Amazon Grafana Athena bawaan ditentukan di bagian ini. AWS kebijakan terkelola: AmazonGrafanaAthenaAccess

Permintaan data Athena

Sumber data Athena menyediakan editor kueri SQL standar. Grafana yang Dikelola Amazon menyertakan beberapa makro untuk membantu menulis kueri timeseries yang lebih kompleks.

Makro

Makro Deskripsi Contoh Contoh Keluaran
$__dateFilter(column) $__dateFiltermembuat filter bersyarat yang memilih data (menggunakancolumn) berdasarkan rentang tanggal panel. $__date(my_date) my_date BETWEEN date '2017-07-18' AND date '2017-07-18'
$__parseTime(column,format) $__parseTimemelemparkan varchar sebagai stempel waktu dengan format yang diberikan. $__parseTime(eventtime, 'yyyy-MM-dd''T''HH:mm:ss''Z') parse_datetime(time,'yyyy-MM-dd''T''HH:mm:ss''Z')
$__timeFilter(column,format) $__timeFiltermembuat kondisional yang menyaring data (menggunakancolumn) berdasarkan rentang waktu panel. Argumen kedua digunakan untuk mengurai kolom secara opsional dari varchar ke stempel waktu dengan format tertentu. $__timeFilter(time, 'yyyy-MM-dd HH:mm:ss') TIMESTAMP time BETWEEN TIMESTAMP '2017-07-18T11:15:52Z' AND TIMESTAMP '2017-07-18T11:15:52Z'
$__timeFrom() $__timeFromoutput waktu mulai saat ini dari kisaran panel dengan tanda kutip. $__timeFrom() TIMESTAMP '2017-07-18 11:15:52'
$__timeTo() $__timeTo menghasilkan waktu akhir saat ini dari kisaran panel dengan tanda kutip. $__timeTo() TIMESTAMP '2017-07-18 11:15:52'
$__timeGroup(column, '1m', format) $__timeGroup mengelompokkan stempel waktu sehingga hanya ada 1 poin untuk setiap periode pada grafik. Argumen ketiga digunakan untuk mengurai kolom secara opsional dari varchar ke stempel waktu dengan format tertentu. $__timeGroup(time,'5m','yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z') FROM_UNIXTIME(FLOOR(TO_UNIXTIME(parse_datetime(time,'yyyy-MM-dd''T''HH:mm:ss.SSSSSS''Z'))/300)*300)
$__table $__tablemengembalikan tabel yang dipilih dalam pemilih Tabel. $__table my_table
$__column $__columnmengembalikan kolom yang dipilih dalam pemilih Kolom (membutuhkan tabel). $__column col1

Visualisasi

Sebagian besar pertanyaan di Athena paling baik diwakili oleh visualisasi tabel. Sebuah query menampilkan kembali data dalam tabel. Jika dapat ditanyakan, maka dapat ditampilkan sebagai tabel.

Contoh ini mengembalikan hasil untuk visualisasi tabel:

SELECT {column_1}, {column_2} FROM {table};

Timeseries/ Visualisasi grafik

Untuk rangkaian waktu dan visualisasi grafik, Anda harus:

  • pilih kolom dengan date atau datetime tipe. dateKolom harus dalam urutan menaik (menggunakanORDER BY column ASC).

  • juga pilih kolom numerik.

Memeriksa kueri

Grafana yang Dikelola Amazon mendukung makro yang tidak dimiliki Athena, yang berarti kueri mungkin tidak berfungsi saat disalin dan ditempelkan langsung ke Athena. Untuk melihat kueri interpolasi lengkap, yang bekerja langsung di Athena, klik tombol Query Inspector. Kueri lengkap ditampilkan di bawah tab Query.

Template dan variabel

Untuk informasi selengkapnya tentang menambahkan variabel kueri Athena, lihat. Menambahkan variabel kueri Gunakan sumber data Athena Anda sebagai sumber data Anda untuk kueri yang tersedia.

Setiap nilai yang ditanyakan dari tabel Athena dapat digunakan sebagai variabel. Hindari memilih terlalu banyak nilai, karena ini dapat menyebabkan masalah kinerja.

Setelah membuat variabel, Anda dapat menggunakannya dalam kueri Athena Anda dengan menggunakan. Sintaks variabel Untuk informasi lebih lanjut tentang variabel, lihatTemplate dan variabel.

Anotasi

Anotasimemungkinkan Anda untuk melapisi informasi acara yang kaya di atas grafik. Anda dapat menambahkan anotasi dengan memilih panel atau dengan menambahkan kueri anotasi menggunakan tampilan Anotasi menu Dasbor.

Contoh kueri untuk menambahkan anotasi secara otomatis:

SELECT time as time, environment as tags, humidity as text FROM tableName WHERE $__dateFilter(time) and humidity > 95

Tabel berikut mewakili deskripsi kolom yang dapat digunakan untuk membuat anotasi:

Nama Penjelasan
Time Nama bidang tanggal/waktu. Bisa berupa kolom dengan tipe data tanggal/waktu SQL asli atau nilai epoch.
Timeend Nama opsional bidang tanggal/waktu akhir. Bisa berupa kolom dengan tipe data tanggal/waktu SQL asli atau nilai epoch. (Grafana v6.6+)
Text Bidang deskripsi acara.
Tags Nama bidang opsional untuk digunakan untuk tag peristiwa sebagai string dipisahkan koma.

Dukungan data kueri async

Kueri Athena di Grafana Terkelola Amazon ditangani secara asinkron untuk menghindari batas waktu. Kueri asinkron menggunakan permintaan terpisah untuk memulai kueri, lalu memeriksa kemajuannya, dan akhirnya untuk mengambil hasilnya. Ini menghindari batas waktu untuk kueri yang berjalan untuk waktu yang lama.

Penggunaan kembali hasil kueri

Anda dapat menggunakan kembali hasil kueri sebelumnya untuk meningkatkan kinerja kueri. Untuk mengaktifkan penggunaan kembali kueri, aktifkan ada di bagian Penggunaan kembali hasil kueri pada editor kueri. Ini harus dilakukan untuk setiap kueri yang ingin Anda gunakan kembali kueri.

catatan

Fitur ini mengharuskan instans Athena Anda berada di engine versi 3. Untuk informasi selengkapnya, lihat Mengubah versi mesin Athena di Panduan Pengguna Amazon Athena.