Rumah > pangkalan data > Redis > teks badan

Cara menggunakan kod Python untuk mendapatkan nilai penunjuk pemantauan Azure Redis

WBOY
Lepaskan: 2023-05-28 11:16:28
ke hadapan
953 orang telah melayarinya

Penerangan Masalah

Melalui halaman pemantauan Metrik, kita boleh mengetahui status berjalan dan pelbagai penunjuk sumber semasa (seperti Redis). Bagaimana jika kita perlu memuat turun penunjuk secara setempat atau menjana data JSON dan mengimportnya ke platform pemantauan pihak ketiga? Bolehkah Azure mengeksport pelbagai data penunjuk melalui kod Python atau skrip Powershell?

如何使用Python代码获取Azure Redis的监控指标值

Penyelesaian

Ya! Arahan PowerShell boleh menggunakan Get-AzMetric atau arahan senarai metrik monitor az untuk mendapatkan nilai Metrik sumber.

  • Get-AzMetric: Dapatkan nilai metrik sumber https://docs.microsoft.com/en-us/powershell /module /az.monitor/get-azmetric?view=azps-5.4.0&viewFallbackFrom=azps-5.2.0

  • senarai metrik az monitor: Senaraikan metrik nilai untuk sumber https://docs.microsoft.com/en-us/cli/azure/monitor/metrics?view=azure-cli-latest#az_monitor_metrics_list

Menggunakan kod Python, anda boleh menggunakan API REST Metrik untuk melaksanakan

  • Metrik – Senarai: Menyenaraikan nilai metrik untuk sumber . https://docs .microsoft.com/en-us/rest/api/monitor/metrics/list

  • Daftarkan aplikasi dalam AAD untuk mendapatkan Token Akses untuk mengakses Redis Metrics dalam kod Python: (Gunakan Program ini didaftarkan ke platform identiti Microsoft: https://docs.azure.cn/zh-cn/active-directory/develop/quickstart-register-app)

Nota: Anda mesti log masuk ke Azure terlebih dahulu untuk menggunakan Powershell. Gunakan arahan Connect-AzAccount -Environment AzureChinaCloud atau az cloud set –nama AzureChinaCloud dan log masuk az.

Untuk menggunakan kod Python, anda perlu mendapatkan Token untuk mengakses Redis Metrics terlebih dahulu. Untuk mendapatkan Token, anda boleh mendaftarkan aplikasi dalam Azure AD, dan kemudian memberi aplikasi kebenaran pembaca dalam kawalan akses Redis untuk membaca data Metris.

Langkah pelaksanaan

Python

Langkah 1: Daftar aplikasi AAD, salin ID aplikasi, kata laluan akses pelanggan

  • Log masuk ke platform Azure, masukkan halaman AAD, klik Pendaftaran apl: https://portal.azure.cn/?l=en.en-us#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps

  • Klik butang "Pendaftaran Baharu", masukkan nama aplikasi, biarkan nilai lain sebagai lalai, klik Simpan

  • Selepas penciptaan berjaya, masukkan halaman aplikasi , import ke halaman "Sijil & rahsia", buat Rahsia Pelanggan yang anda perlu gunakan dan salinnya Langkah ketiga memerlukan penggunaan

  • untuk menyalinnya pada halaman aplikasi ID Penyewa, ID Aplikasi perlu digunakan dalam langkah ketiga kod

Proses operasi khusus ditunjukkan dalam animasi berikut:

如何使用Python代码获取Azure Redis的监控指标值

Langkah 2: Berikan kebenaran untuk mendapatkan Metrik

Dalam Akses kawalan (IAM) halaman Redis, cari melalui nama aplikasi dalam langkah 1 dan berikan kebenaran Pembaca Pemantauan

如何使用Python代码获取Azure Redis的监控指标值

Nota: Jika kebenaran tidak diberikan, ralat serupa akan dilaporkan dalam kod:

Status Code:
Response Content: b'{“error”:{“code”:”AuthorizationFailed”,”message”:”The client ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’ with object id ‘xxxxxxxx-xxxx-xxxx-xxxx-36166b5f7276’ does not have authorization to perform action ‘microsoft.insights/metrics/read’ over scope ‘/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx-rg/providers/Microsoft.Cache/Redis/xxxx/providers/microsoft.insights’ or the scope is invalid. If access was recently granted, please refresh your credentials.”}}’

Kod Status:
Kandungan Respons: b'{"error ":{"code":"AuthorizationFailed","message":"Pelanggan 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ' dengan id objek 'xxxxxxxx-xxxx-xxxx-xxxx-36166b5f7276' tidak mempunyai kebenaran untuk melakukan tindakan 'microsoft.insights/metrics/read' melalui skop '/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/xxxx -rg/providers/Microsoft.Cache/Redis/xxxx/providers/microsoft.insights' atau skop tidak sah jika akses telah diberikan baru-baru ini, sila muat semula kelayakan anda."}}'

Langkah 3: Tulis kod Python, gunakan permintaan untuk menghantar psot, dapatkan permintaan

  • Terdapat dua bahagian utama dalam kod: satu adalah untuk mendapatkan Token Akses, dan satu lagi adalah untuk mendapatkan Data Metrik

  • Kandungan yang diserlahkan perlu digantikan dengan maklumat sumber yang sepadan dan maklumat yang disediakan dalam langkah pertama

  • Selepas memperoleh Token Akses Dalam kandungan Badan, grant_type ialah nilai tetap, iaitu client_credentials. Nilai sumber ialah titik akhir pengurusan Azure di China: https://management.chinacloudapi.cn

import requestsimport json##Part 1: Get Access Tokenaadurl="https://login.chinacloudapi.cn/<your aad tenant id>/oauth2/token"aadbody={&#39;grant_type&#39;:&#39;client_credentials&#39;,&#39;client_id&#39;:&#39;your aad client id&#39;,&#39;client_secret&#39;:&#39;your aad client secret&#39;,&#39;resource&#39;:&#39;https://management.chinacloudapi.cn&#39;}
rtoken= requests.post(aadurl, data=aadbody)##print(rtoken)objtoken = json.loads(rtoken.text)##print(obj[&#39;access_token&#39;])##Part 2: Get the Metrics Value by Tokenheaders = {&#39;content-type&#39;: "application/json",           &#39;Authorization&#39;: &#39;Bearer &#39;+objtoken[&#39;access_token&#39;]
        }

url= "https://management.chinacloudapi.cn/subscriptions/<subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Cache/Redis/<your redis name>/providers/microsoft.insights/metrics?api-version=2018-01-01&metricnames=expiredkeys,usedmemory"r = requests.get(url, headers=headers)print(&#39;Status Code: &#39; + str(r))print(&#39;Response Content: &#39; + str(r.content))
Salin selepas log masuk

Kesan operasi adalah seperti berikut :

如何使用Python代码获取Azure Redis的监控指标值

Powershell

  • Log masuk ke azure

  • Sediakan az arahan senarai metrik pantau

az cloud set --name AzureChinaCloud

az login

az monitor metrics list --resource /subscriptions/<your subscriptions>/resourceGroups/<resourceGroups>/providers/Microsoft.Cache/Redis/<your redis name> --metric usedmemory --aggregation Maximum --interval PT1M
Salin selepas log masuk

Kesan pelaksanaan adalah seperti berikut:

如何使用Python代码获取Azure Redis的监控指标值 如何使用Python代码获取Azure Redis的监控指标值

Atas ialah kandungan terperinci Cara menggunakan kod Python untuk mendapatkan nilai penunjuk pemantauan Azure Redis. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan