Connect ke sumber data Azure Monitor - Amazon Managed Grafana

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

Connect ke sumber data Azure Monitor

Sumber data Azure Monitor mendukung beberapa layanan di cloud Azure:

  • Layanan Azure Monitor adalah layanan platform yang menyediakan satu sumber untuk memantau sumber daya Azure. Untuk informasi selengkapnya, lihat Menanyakan layanan Azure Monitor.

  • Server Application Insights adalah layanan Application Performance Management (APM) yang dapat diperluas untuk pengembang web di berbagai platform dan dapat digunakan untuk memantau aplikasi web langsung Anda - ini akan secara otomatis mendeteksi anomali kinerja. Untuk informasi selengkapnya, lihat Menanyakan layanan Application Insights Analytics.

  • Azure Log Analytics (atau Azure Logs) memberi Anda akses ke data log yang dikumpulkan oleh Azure Monitor. Untuk informasi selengkapnya, lihat Menanyakan layanan Azure Log Analytics.

  • Gunakan layanan Application Insights Analytics untuk menanyakan data Application Insights menggunakan bahasa kueri yang sama yang digunakan untuk Azure Log Analytics. Untuk informasi selengkapnya, lihat Menanyakan layanan Application Insights Analytics.

Menambahkan sumber data

Sumber data dapat mengakses metrik dari empat layanan berbeda. Anda dapat mengonfigurasi akses ke layanan yang Anda gunakan. Dimungkinkan juga untuk menggunakan kredensi yang sama untuk beberapa layanan jika itu adalah cara Anda mengaturnya di Azure AD.

  1. Diakses dari menu utama Grafana, sumber data yang baru diinstal dapat segera ditambahkan di bagian Sumber Data. Selanjutnya, pilih Tambahkan sumber data tombol di kanan atas. Sumber data Azure Monitor akan tersedia untuk dipilih di bagian Cloud dalam daftar sumber data.

  2. Di bidang nama, Grafana akan secara otomatis mengisi nama untuk sumber data: Azure Monitor atau sesuatu seperti. Azure Monitor - 3 Jika Anda mengonfigurasi beberapa sumber data, ubah nama menjadi sesuatu yang lebih informatif.

  3. Jika Anda menggunakan Azure Monitor, Anda memerlukan empat informasi dari portal Azure (untuk instruksi terperinci, lihat tautan yang disediakan sebelumnya):

    • Id Penyewa (Direktori Aktif Azure, Properti, ID Direktori)

    • Client Id (Azure Active Directory, Pendaftaran Aplikasi, Pilih aplikasi Anda, ID Aplikasi)

    • Rahasia Klien (Azure Active Directory, Pendaftaran Aplikasi, Pilih aplikasi Anda, Kunci)

    • Id Langganan Default (Langganan, Pilih langganan, Ikhtisar, ID Langganan)

  4. Tempelkan keempat item ini ke bidang di bagian Detail API Azure Monitor.

    • Id Langganan dapat diubah per kueri. Simpan sumber data dan segarkan halaman untuk melihat daftar langganan yang tersedia untuk ID Klien yang ditentukan.

  5. Jika Anda juga menggunakan layanan Azure Log Analytics, Anda harus menentukan dua nilai konfigurasi ini atau menggunakan kembali Client Id dan Secret dari langkah sebelumnya.

    • Client Id (Azure Active Directory, Pendaftaran Aplikasi, Pilih aplikasi Anda, ID Aplikasi)

    • Rahasia Klien (Azure Active Directory, Pendaftaran Aplikasi, Pilih aplikasi Anda, Kunci, Buat kunci, Gunakan rahasia klien)

  6. Jika Anda menggunakan Application Insights, Anda memerlukan dua informasi dari Portal Azure (untuk petunjuk terperinci, lihat tautan yang disediakan sebelumnya):

    • ID Aplikasi

    • Kunci API

  7. Tempelkan kedua item ini ke bidang yang sesuai di bagian Application Insights API Details.

  8. Uji apakah detail konfigurasi sudah benar dengan memilih tombol Simpan & Uji.

Atau pada langkah 4, jika Anda membuat Aplikasi Direktori Aktif Azure baru, gunakan Azure CLI:

az ad sp create-for-rbac -n "http://localhost:3000"

Memilih layanan

Di editor kueri untuk panel, setelah Anda memilih sumber data Azure Monitor, langkah pertama adalah memilih layanan. Ada empat opsi:

  • Azure Monitor

  • Application Insights

  • Azure Log Analytics

  • Insights Analytics

Editor kueri berubah tergantung pada opsi mana yang Anda pilih. Azure Monitor adalah default.

Menanyakan layanan Azure Monitor

Layanan Azure Monitor menyediakan metrik untuk semua layanan Azure yang telah Anda jalankan. Ini membantu Anda memahami kinerja aplikasi Anda di Azure, dan secara proaktif menemukan masalah yang memengaruhi aplikasi Anda.

Jika kredensi Azure Monitor Anda memberi Anda akses ke beberapa langganan, pilih langganan yang sesuai terlebih dahulu.

Contoh metrik yang bisa Anda dapatkan dari layanan ini adalah:

  • Microsoft.Compute/virtualMachines - Percentage CPU

  • Microsoft.Network/networkInterfaces - Bytes sent

  • Microsoft.Storage/storageAccounts - Used Capacity

Editor kueri memungkinkan Anda untuk menanyakan beberapa dimensi untuk metrik yang mendukungnya. Metrik yang mendukung beberapa dimensi adalah yang tercantum dalam Daftar Metrik yang didukung Azure Monitor yang memiliki satu atau beberapa nilai yang tercantum dalam kolom Dimensi untuk metrik.

Memformat kunci legenda dengan alias untuk Azure Monitor

Pemformatan legenda default untuk Azure Monitor API adalah:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Ini bisa panjang, tetapi Anda dapat mengubah pemformatan ini dengan menggunakan alias. Di bidang Format Legenda, Anda dapat menggabungkan alias berikut dengan cara apa pun yang Anda inginkan.

Contoh Azure Monitor:

  • Blob Type: {{ blobtype }}

  • {{ resourcegroup }} - {{ resourcename }}

Pola alias untuk Azure Monitor

  • {{ resourcegroup }}= diganti dengan nilai Grup Sumber Daya

  • {{ namespace }}= diganti dengan nilai Namespace (misalnya, Microsoft.Compute/VirtualMachines)

  • {{ resourcename }}= diganti dengan nilai Resource Name

  • {{ metric }}= diganti dengan nama metrik (misalnya, Persentase CPU)

  • {{ dimensionname }}= Legacy pada 7.1+ (untuk kompatibilitas mundur) diganti dengan kunci/label dimensi pertama (seperti yang diurutkan berdasarkan kunci/label) (misalnya, blobtype)

  • {{ dimensionvalue }}= Legacy pada 7.1+ (untuk kompatibilitas mundur) diganti dengan nilai dimensi pertama (seperti yang diurutkan berdasarkan kunci/label) (misalnya,) BlockBlob

  • {{ arbitraryDim }}= Tersedia dalam 7.1+ diganti dengan nilai dimensi yang sesuai. (misalnya, {{ blobtype }} menjadi BlockBlob)

Membuat variabel template untuk Azure Monitor

Alih-alih hardcoding hal-hal seperti server, aplikasi dan nama sensor dalam kueri metrik Anda, Anda dapat menggunakan variabel di tempatnya. Variabel ditampilkan sebagai kotak pilih dropdown di bagian atas dasbor. Anda dapat menggunakan kotak dropdown ini untuk mengubah data yang ditampilkan di dasbor Anda.

Perhatikan bahwa layanan Azure Monitor belum mendukung beberapa nilai. Untuk memvisualisasikan beberapa deret waktu (misalnya, metrik untuk server1 dan server2), tambahkan beberapa kueri sehingga Anda dapat melihatnya pada grafik yang sama atau dalam tabel yang sama.

Plugin sumber data Azure Monitor menyediakan kueri berikut yang dapat Anda tentukan di bidang Kueri dalam tampilan Edit variabel. Anda dapat menggunakannya untuk mengisi daftar opsi variabel.

Nama Penjelasan
Subscriptions() Mengembalikan daftar langganan.
ResourceGroups() Mengembalikan daftar kelompok sumber daya.
ResourceGroups(12345678-aaaa-bbbb-cccc-123456789aaa) Mengembalikan daftar kelompok sumber daya untuk langganan tertentu.
Namespaces(aResourceGroup) Mengembalikan daftar namespace untuk kelompok sumber daya tertentu.
Namespaces(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup) Mengembalikan daftar namespace untuk kelompok sumber daya tertentu dan berlangganan.
ResourceNames(aResourceGroup, aNamespace) Mengembalikan daftar nama sumber daya.
ResourceNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace) Mengembalikan daftar nama sumber daya untuk langganan tertentu.
MetricNamespace(aResourceGroup, aNamespace, aResourceName) Mengembalikan daftar ruang nama metrik.
MetricNamespace(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Mengembalikan daftar ruang nama metrik untuk langganan tertentu.
MetricNames(aResourceGroup, aNamespace, aResourceName) Mengembalikan daftar nama metrik.
MetricNames(12345678-aaaa-bbbb-cccc-123456789aaa, aResourceGroup, aNamespace, aResourceName) Mengembalikan daftar nama metrik untuk langganan tertentu.

Contoh:

  • Kueri Resource Groups: ResourceGroups()

  • Melewati variabel nama metrik: Namespaces(cosmo)

  • Variabel template rantai: ResourceNames($rg, $ns)

  • Jangan mengutip parameter: MetricNames(hg, Microsoft.Network/publicIPAddresses, grafanaIP)

Untuk informasi selengkapnya tentang variabel template dan template, lihatTemplate.

Daftar metrik Azure Monitor yang didukung

Tidak semua metrik yang dikembalikan oleh Azure Monitor API memiliki nilai. Untuk mempermudah pembuatan kueri, sumber data Grafana memiliki daftar metrik Azure Monitor yang didukung, dan mengabaikan metrik yang tidak akan pernah memiliki nilai. Daftar ini diperbarui secara berkala karena layanan dan metrik baru ditambahkan ke cloud Azure.

Peringatan Azure Monitor

Grafana alert didukung untuk layanan Azure Monitor. Ini bukan dukungan Azure Alerts. Untuk informasi lebih lanjut tentang peringatan Grafana, lihat. Grafana memperingatkan

Menanyakan layanan Application Insights

Memformat kunci legenda dengan alias untuk Wawasan Aplikasi

Pemformatan legenda default adalah:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Di bidang Format Legenda, alias berikut dapat digabungkan dengan cara apa pun yang Anda inginkan.

Contoh Wawasan Aplikasi:

  • city: {{ client/city }}

  • {{ metric }} [Location: {{ client/countryOrRegion }}, {{ client/city }}]

Pola alias untuk Wawasan Aplikasi

  • {{ groupbyvalue }}= Legacy pada Grafana 7.1+ (untuk kompatibilitas mundur) diganti dengan kunci/label dimensi pertama (seperti yang diurutkan berdasarkan kunci/label)

  • {{ groupbyname }}= Legacy pada Grafana 7.1+ (untuk kompatibilitas mundur) diganti dengan nilai dimensi pertama (seperti yang diurutkan berdasarkan kunci/label) (misalnya,) BlockBlob

  • {{ metric }}= diganti dengan nama metrik (misalnya, permintaan/hitungan)

  • {{ arbitraryDim }}= Tersedia dalam 7.1+ diganti dengan nilai dimensi yang sesuai. (misalnya, {{ client/city }} menjadi Chicago)

Ekspresi filter untuk Wawasan Aplikasi

Bidang filter mengambil ekspresi filter OData.

Contoh:

  • client/city eq 'Boydton'

  • client/city ne 'Boydton'

  • client/city ne 'Boydton' and client/city ne 'Dublin'

  • client/city eq 'Boydton' or client/city eq 'Dublin'

Templating dengan variabel untuk Application Insights

Gunakan salah satu kueri berikut di bidang Query di tampilan edit Variabel.

Untuk informasi selengkapnya tentang variabel template dan template, lihatTemplate.

Nama Penjelasan
AppInsightsMetricNames() Mengembalikan daftar nama metrik.
AppInsightsGroupBys(aMetricName) Mengembalikan daftar group by klausa untuk nama metrik tertentu.

Contoh:

  • Kueri Nama Metrik: AppInsightsMetricNames()

  • Melewati variabel nama metrik: AppInsightsGroupBys(requests/count)

  • Variabel template rantai: AppInsightsGroupBys($metricnames)

Peringatan Wawasan Aplikasi

Peringatan Grafana didukung untuk Wawasan Aplikasi. Ini bukan dukungan Azure Alerts. Untuk informasi lebih lanjut tentang peringatan Grafana, lihat. Grafana memperingatkan

Menanyakan layanan Azure Log Analytics

Kueri ditulis dalam Bahasa Kueri Azure Log Analytics (atau KustoDB) yang baru. Kueri Log Analytics dapat diformat sebagai data deret waktu atau sebagai data tabel.

Jika kredensional Anda memberi Anda akses ke beberapa langganan, pilih langganan yang sesuai sebelum memasukkan kueri.

Pertanyaan deret waktu

Kueri deret waktu adalah untuk panel grafik dan panel lain seperti SingleStat panel. Setiap kueri harus berisi setidaknya kolom datetime dan kolom nilai numerik. Hasilnya harus diurutkan dalam urutan menaik menurut kolom datetime.

Contoh kode berikut menunjukkan query yang mengembalikan jumlah agregat dikelompokkan berdasarkan jam.

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h) | order by TimeGenerated asc

Kueri juga dapat memiliki satu atau lebih kolom non-numerik/non-datetime, dan kolom tersebut dianggap dimensi dan menjadi label dalam respons. Misalnya, kueri yang mengembalikan jumlah agregat yang dikelompokkan berdasarkan jam, Komputer, dan. CounterName

Perf | where $__timeFilter(TimeGenerated) | summarize count() by bin(TimeGenerated, 1h), Computer, CounterName | order by TimeGenerated asc

Anda juga dapat memilih kolom nilai angka tambahan (dengan, atau tanpa beberapa dimensi). Misalnya, mendapatkan hitungan dan nilai rata-rata per jam, Komputer CounterName, dan InstanceName:

Perf | where $__timeFilter(TimeGenerated) | summarize Samples=count(), ["Avg Value"]=avg(CounterValue) by bin(TimeGenerated, $__interval), Computer, CounterName, InstanceName | order by TimeGenerated asc
catatan

Tip: Pada kueri sebelumnya, sintaks Kusto dan Samples=count() ["Avg Value"]=... digunakan untuk mengganti nama kolom tersebut — sintaks kedua yang memungkinkan ruang. Ini mengubah nama metrik yang digunakan Grafana. Akibatnya, hal-hal seperti legenda seri dan kolom tabel akan cocok dengan apa yang Anda tentukan. Dalam contoh Samples ini, ditampilkan bukan_count.

Kueri tabel

Kueri tabel terutama digunakan dalam panel tabel, dan mereka menunjukkan daftar kolom dan baris. Contoh query ini mengembalikan baris dengan enam kolom tertentu.

AzureActivity | where $__timeFilter() | project TimeGenerated, ResourceGroup, Category, OperationName, ActivityStatus, Caller | order by TimeGenerated desc

Memformat nama tampilan untuk Log Analytics

Format nama tampilan default adalah:

metricName{dimensionName=dimensionValue,dimensionTwoName=DimensionTwoValue}

Ini dapat disesuaikan dengan menggunakan opsi bidang nama tampilan.

Makro Analisis Log Azure

Untuk mempermudah penulisan kueri, Grafana menyediakan beberapa makro yang dapat Anda gunakan di klausa where kueri:

  • $__timeFilter()— Memperluas ke TimeGenerated ≥ datetime(2018-06-05T18:09:58.907Z) and TimeGenerated ≤ datetime(2018-06-05T20:09:58.907Z) tempat dari dan ke datetimes berasal dari pemilih waktu Grafana.

  • $__timeFilter(datetimeColumn)— Memperluas ke datetimeColumn ≥ datetime(2018-06-05T18:09:58.907Z) and datetimeColumn ≤ datetime(2018-06-05T20:09:58.907Z) tempat dari dan ke datetimes berasal dari pemilih waktu Grafana.

  • $__timeFrom()— Mengembalikan datetime Dari dari pemilih Grafana. Contoh:datetime(2018-06-05T18:09:58.907Z).

  • $__timeTo()— Mengembalikan datetime Dari dari pemilih Grafana. Contoh:datetime(2018-06-05T20:09:58.907Z).

  • $__escapeMulti($myVar)— akan digunakan dengan variabel template multi-nilai yang berisi karakter ilegal. Jika $myVar memiliki dua nilai berikut sebagai string'\\grafana-vm\Network(eth0)\Total','\\hello!', maka itu meluas ke:@'\\grafana-vm\Network(eth0)\Total', @'\\hello!'. Jika menggunakan variabel nilai tunggal tidak perlu untuk makro ini, lepas dari variabel inline sebagai gantinya:. @'\$myVar'

  • $__contains(colName, $myVar)— akan digunakan dengan variabel template multi-nilai. Jika $myVar memiliki nilai'value1','value2', itu meluas ke:colName in ('value1','value2').

    Jika menggunakan Semua pilihan, centang kotak centang Sertakan Semua Opsi dan di bidang Kustom semua nilai, masukkan nilai berikut:all. Jika $myVar memiliki nilaiall, makro malah akan diperluas ke1 == 1. Untuk variabel template dengan banyak opsi, ini meningkatkan kinerja kueri dengan tidak membangun klausa “where.. in” yang besar.

Variabel bawaan Azure Log Analytics

Ada juga beberapa variabel Grafana yang dapat digunakan dalam kueri Azure Log Analytics:

  • $__interval- Grafana menghitung butir waktu minimum yang dapat digunakan untuk mengelompokkan berdasarkan waktu dalam kueri. Ia mengembalikan butir waktu seperti 5m atau 1h yang dapat digunakan dalam fungsi bin; misalnya,summarize count() by bin(TimeGenerated, $__interval). Untuk informasi lebih lanjut tentang variabel interval, lihatMenambahkan variabel interval.

Templating dengan variabel untuk Azure Log Analytics

Setiap kueri Log Analytics yang mengembalikan daftar nilai dapat digunakan di bidang Kueri dalam tampilan edit Variabel. Ada juga satu fungsi Grafana untuk Log Analytics yang mengembalikan daftar ruang kerja.

Untuk informasi tentang template dan variabel template, lihatTemplate dan variabel.

Nama Penjelasan
workspaces() Mengembalikan daftar ruang kerja untuk langganan default.
workspaces(12345678-aaaa-bbbb-cccc-123456789aaa) Mengembalikan daftar ruang kerja untuk langganan tertentu (parameter dapat dikutip atau tidak dikutip).

Tabel berikut menunjukkan contoh query variabel.

Kueri Deskripsi
subscriptions() Mengembalikan daftar langganan Azure.
workspaces() Mengembalikan daftar ruang kerja untuk langganan default.
workspaces("12345678-aaaa-bbbb-cccc-123456789aaa") Mengembalikan daftar ruang kerja untuk langganan tertentu.
workspaces("$subscription") Dengan variabel template untuk parameter berlangganan.
workspace("myWorkspace").Heartbeat \| distinct Computer Mengembalikan daftar mesin virtual.
workspace("$workspace").Heartbeat \| distinct Computer Mengembalikan daftar mesin virtual dengan variabel template.
workspace("$workspace").Perf \| distinct ObjectName Mengembalikan daftar objek dari tabel Perf.
workspace("$workspace").Perf \| where ObjectName == "$object" \| distinct CounterName Mengembalikan daftar nama metrik dari tabel Perf.

Kode xample berikut menunjukkan query deret waktu menggunakan variabel.

Perf | where ObjectName == "$object" and CounterName == "$metric" | where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo() | where $__contains(Computer, $computer) | summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer | order by TimeGenerated asc

Penautan mendalam dari panel Grafana ke editor kueri Log Analytics di Azure Portal

Pilih deret waktu di panel untuk melihat menu konteks dengan tautan ke Lihat di Portal Azure. Memilih tautan itu membuka editor kueri Azure Log Analytics di Portal Azure dan menjalankan kueri dari panel Grafana di sana.

Jika saat ini Anda tidak masuk ke Portal Azure, maka tautan akan membuka halaman login. Tautan yang disediakan berlaku untuk akun apa pun, tetapi hanya menampilkan kueri jika akun Anda memiliki akses ke ruang kerja Azure Log Analytics yang ditentukan dalam kueri.

Peringatan Azure Log Analytics

Grafana alert didukung untuk Application Insights. Ini bukan dukungan Azure Alerts. Untuk informasi selengkapnya tentang peringatan di ruang kerja Grafana, lihat. Grafana memperingatkan

Menanyakan layanan Application Insights Analytics

Jika Anda mengubah jenis layanan ke Insights Analytics, editor serupa dengan layanan Log Analytics akan tersedia. Layanan ini juga menggunakan bahasa Kusto, sehingga instruksi untuk kueri data identik denganMenanyakan layanan Azure Log Analytics, kecuali Anda meminta data Application Insights Analytics sebagai gantinya.