Metrik Azure Resource Manager di Azure Monitor

Saat Anda membuat dan mengelola sumber daya di Azure, permintaan Akan diatur melalui sarana kontrol Azure, Azure Resource Manager. Artikel ini menjelaskan cara memantau volume dan latensi dari sarana kontrol yang diminta ke Azure.

Dengan metrik ini, Anda dapat memperhatikan lalu lintas dan latensi untuk permintaan sarana kontrol di seluruh langganan Anda. Misalnya, Anda sekarang dapat mencari tahu kapan permintaan Anda telah dibatasi atau gagal dengan memfilter kode status tertentu dengan memeriksa permintaan yang dibatasi dan memeriksa kesalahan server.

Metrik tersedia hingga tiga bulan hingga (93 hari) dan hanya melacak permintaan sinkron. Untuk skenario seperti pembuatan VM, metrik tidak menunjukkan kinerja atau keandalan operasi asinkron yang berjalan lama.

Mengakses metrik Azure Resource Manager

Anda dapat mengakses metrik sarana kontrol melalui REST API Azure Monitor, SDK, dan portal Microsoft Azure (dengan memilih metrik "Azure Resource Manager"). Untuk gambaran umum tentang Azure Monitor, lihat Azure Monitor Metrics.

Tidak ada proses pemilihan atau pendaftaran untuk mengakses metrik sarana kontrol.

Untuk panduan tentang cara mengambil pembawa token dan membuat permintaan ke Azure, lihat Referensi API REST Azure.

Definisi Metrik

Definisi untuk metrik Azure Resource Manager di Azure Monitor hanya dapat diakses melalui versi API pratinjau 2017-12-01. Untuk mendapatkan definisinya, Anda dapat menjalankan cuplikan berikut, dengan ID langganan menggantikan "00000000-0000-0000-0000-000000000000":

curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metricDefinitions?api-version=2017-12-01-preview&metricnamespace=microsoft.resources/subscriptions' \
--header 'Authorization: bearer {{bearerToken}}'

Cuplikan ini mengembalikan definisi untuk skema metrik. Terutama, skema ini menyertakan dimensi yang bisa Anda filter dengan API Monitor:

Nama dimensi Deskripsi
ResourceUri ID Sumber Daya lengkap untuk sumber daya tertentu.
RequestRegion Wilayah Azure Resource Manager tempat sarana kontrol Anda meminta tanah, seperti "EastUS2". Wilayah ini bukanlah lokasi sumber daya.
StatusCode Jenis respons dari Azure Resource Manager untuk permintaan sarana kontrol Anda. Nilai yang mungkin ada (tetapi tidak terbatas pada):
- 0
- 200
- 201
- 400
- 404
- 429
- 500
- 502
StatusCodeClass Kelas untuk kode status dikembalikan dari Azure Resource Manager. Potensi nilai:
- 2xx
- 4xx
- 5xx
Ruang nama Namespace layanan untuk Penyedia Sumber Daya, dalam huruf besar, seperti "MICROSOFT.COMPUTE"
ResourceType Jenis sumber daya apa pun di Azure yang telah Anda buat atau kirimi permintaan, dalam huruf besar, seperti "VIRTUALMACHINES"
Metode Metode HTTP yang digunakan dalam permintaan yang dibuat untuk Azure Resource Manager. Potensi nilai:
- DAPATKAN
- HEAD
- PUT
- POST
- PATCH
- HAPUS

Contoh

Sekarang, mari kita lihat beberapa skenario yang dapat membantu Anda menjelajahi metrik Azure Resource Manager.

Metrik sarana kontrol lalu lintas kueri dan latensi dilakukan melalui portal Microsoft Azure

Pertama, navigasikan ke bilah Azure Monitor di portal:

Cuplikan layar menavigasi ke halaman Monitor portal Azure dengan Jelajahi Metrik disorot.

Setelah memilih Jelajahi Metrik, pilih satu langganan, lalu pilih metrik Azure Resource Manager:

Cuplikan layar memilih satu langganan dan metrik Azure Resource Manager di portal Azure.

Lalu, setelah memilih Terapkan, Anda bisa memvisualisasikan metrik sarana kontrol Lalu Lintas atau Latensi dengan penyaringan dan pemisahan kustom:

Cuplikan layar visualisasi metrik di portal Azure, memperlihatkan opsi untuk memfilter dan memisahkan menurut dimensi.

Metrik sarana kontrol lalu lintas kueri dan latensi dilakukan melalu REST API

Setelah Anda diautentikasi dengan Azure, Anda dapat membuat permintaan untuk mengambil metrik sarana kontrol untuk langganan Anda. Dalam skrip, ganti "00000000-0000-0000-0000-000000000000" dengan ID langganan Anda. Skrip akan mengambil latensi permintaan rata-rata (dalam detik) dan jumlah permintaan total untuk jangka waktu dua hari, dipecah berdasarkan interval satu hari:

curl --location --request GET "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=average,count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z" \
--header "Authorization: bearer {{bearerToken}}"

Dalam kasus metrik Azure Resource Manager, Anda dapat mengambil jumlah lalu lintas menggunakan metrik Latensi dan termasuk agregasi 'hitung'. Anda akan melihat respons JSON untuk permintaan tersebut:

{
    "cost": 5758,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Latency",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Latency",
                "localizedValue": "Latency"
            },
            "displayDescription": "Latency data for all requests to Azure Resource Manager",
            "unit": "Seconds",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0,
                            "average": 0.19345163584637273
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0,
                            "average": 0.28294792353328935
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

Jika hanya ingin mengambil jumlah lalu lintas, Anda dapat menggunakan metrik Lalu lintas dengan agregasi 'hitung':

curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Traffic&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z' \
--header 'Authorization: bearer {{bearerToken}}'

Respons untuk permintaan tersebut adalah:

{
    "cost": 2879,
    "timespan": "2021-11-01T00:00:00Z/2021-11-03T00:00:00Z",
    "interval": "P1D",
    "value": [
        {
            "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Insights/metrics/Traffic",
            "type": "Microsoft.Insights/metrics",
            "name": {
                "value": "Traffic",
                "localizedValue": "Traffic"
            },
            "displayDescription": "Traffic data for all requests to Azure Resource Manager",
            "unit": "Count",
            "timeseries": [
                {
                    "metadatavalues": [],
                    "data": [
                        {
                            "timeStamp": "2021-11-01T00:00:00Z",
                            "count": 1406.0
                        },
                        {
                            "timeStamp": "2021-11-02T00:00:00Z",
                            "count": 1517.0
                        }
                    ]
                }
            ],
            "errorCode": "Success"
        }
    ],
    "namespace": "microsoft.resources/subscriptions",
    "resourceregion": "global"
}

Untuk dimensi pendukung metrik, Anda perlu menentukan nilai dimensi untuk melihat nilai metrik terkait. Misalnya, jika Anda ingin fokus pada Latensi untuk permintaan yang berhasil ke ARM, Anda perlu menyaring dimensi StatusCodeClass dengan 2XX.

Jika Anda ingin melihat jumlah permintaan yang dibuat dalam langganan Anda untuk sumber daya Jaringan, seperti Virtual Networks dan Load Balancers, Anda perlu menyaring dimensi Namespace untuk MICROSOFT.NETWORK.

Permintaan Ujian Yang Dibatasi

Untuk menampilkan hanya permintaan yang terbatas, Anda perlu menyaring hanya 429 respons kode status. Untuk panggilan REST API, penyaringan dilakukan melalui properti $filter dan dimensi StatusCode dengan menambahkan: $filter=StatusCode eq '429' seperti yang terlihat di akhir permintaan dalam snippet berikut:

curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCode%20eq%20%27429%27' \
--header 'Authorization: bearer {{bearerToken}}'

Anda juga dapat memfilter langsung di portal: Cuplikan layar pemfilteran Kode Status HTTP ke 429 respons hanya di portal Azure.

Kesalahan Server Ujian

Mirip dengan melihat permintaan yang terbatas, Anda menampilkan semua permintaan yang mengembalikan kode respons kesalahan server dengan penyaringan respons 5xx saja. Untuk panggilan REST API, penyaringan dilakukan melaluiproperti $filter dan dimensi StatusCodeClass dengan menambahkan: $filter=StatusCodeClass eq '5xx' seperti yang terlihat di akhir permintaan dalam cuplikan berikut ini:

curl --location --request GET 'https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.insights/metrics?api-version=2021-05-01&interval=P1D&metricnames=Latency&metricnamespace=microsoft.resources/subscriptions&region=global&aggregation=count,average&timespan=2021-11-01T00:00:00Z/2021-11-03T00:00:00Z&$filter=StatusCodeClass%20eq%20%275xx%27' \
--header 'Authorization: bearer {{bearerToken}}'

Anda juga dapat menyelesaikan pemfilteran kesalahan server generik dalam portal dengan mengatur properti filter ke 'StatusCodeClass' dan nilainya menjadi '5xx', mirip dengan apa yang dilakukan dalam contoh pembatasan.

Langkah berikutnya