日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Azure Application Insights REST API使用教程

發(fā)布時(shí)間:2023/12/4 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Azure Application Insights REST API使用教程 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文是Azure Application Insights REST API的簡(jiǎn)單介紹,并會(huì)包含一個(gè)通過(guò)Python消費(fèi)API的示例/小工具。

新加入的team中的一項(xiàng)工作是制作日常的運(yùn)維報(bào)表,制作方式是手工前往portal.azure.com,在網(wǎng)頁(yè)中多次執(zhí)行不同的查詢語(yǔ)句、導(dǎo)出excel,之后再人工進(jìn)行合并、分組、匯總、分析等等。這是一個(gè)繁瑣的過(guò)程,其中大部分步驟其實(shí)不值得花費(fèi)人工,應(yīng)該交給程序。為了自動(dòng)化這一過(guò)程,降低報(bào)表的制作成本,我嘗試使用了Azure Application Insights REST API查詢數(shù)據(jù),使用python客戶端進(jìn)行處理、輸出。下面把相關(guān)的一些知識(shí)和經(jīng)驗(yàn)寫在這里。

本文鏈接:https://www.cnblogs.com/hhelibeb/p/11543295.html

原創(chuàng)內(nèi)容,轉(zhuǎn)載請(qǐng)注明

Application Insights

Application Insights是Azure平臺(tái)的監(jiān)控功能的一部分,用于收集、分析和處理來(lái)自Azure或其它本地環(huán)境的遙測(cè)數(shù)據(jù)。它包含強(qiáng)有力的分析工具,可以幫助你發(fā)現(xiàn)問(wèn)題、診斷問(wèn)題、理解用戶在app上的行為,可以支持你持續(xù)地改進(jìn)應(yīng)用的性能和可用性。它可以和DevOps過(guò)程集成,和很多開發(fā)工具有連接點(diǎn)。

它支持多種語(yǔ)言和框架,比如.NET, Java, 和Node.js等。

更多信息,參考:What is Application Insights?

Application Insights REST API

除了在Azure中使用外,Application Insights收集的數(shù)據(jù)也可以通過(guò)REST API獲取,這使得你可以用自己的其它應(yīng)用來(lái)使用相關(guān)數(shù)據(jù)。API可以分為3種:

  • Metrics:?用于查詢聚合結(jié)果,比如一定時(shí)間范圍內(nèi)的系統(tǒng)異常總數(shù)量。

  • Events:?使用OData語(yǔ)法訪問(wèn)event數(shù)據(jù),支持$filter, $orderBy, $search, $apply, $top, $skip and $format,可以返回單獨(dú)的event數(shù)據(jù)或者event集的聚合數(shù)據(jù)。

  • Query:?允許用戶發(fā)送和在Application Insights Analytics中一樣的Query查詢數(shù)據(jù),返回?cái)?shù)據(jù)的同時(shí)也會(huì)返回?cái)?shù)據(jù)的schema。這是我用到的類型。

  • 格式

    API的格式如下,

    其中,

  • hostname:?api.applicationinsights.io

  • resource: Application ID ,也就是你的Application Insights app的唯一標(biāo)識(shí)符,可以在app的API Access選項(xiàng)中看到,見下圖。(注意:這不是Instrumentation Key,不要用錯(cuò))

  • api-version:?路徑中需要包含API versions,Beta或v1。

  • area: 3中查詢類型之一metrics, events或query。

  • path:?查詢的詳細(xì)信息,比如要查詢哪個(gè)metric。?

  • parameters:?和path相關(guān)的具體參數(shù)。

  • (這里是有關(guān)Public API format的部分,此外還有Azure API format)

    認(rèn)證

    需要使用上文提到的Application ID和下面提到的API Key來(lái)訪問(wèn)API,否則調(diào)用接口會(huì)失敗,返回認(rèn)證錯(cuò)誤的消息,比如,

    AuthorizationRequiredError:"Valid authentication was not provided"。

    在API Access選項(xiàng)下選擇Create API key,填寫描述并勾選"Read telemetry"。

    點(diǎn)擊Generate key,會(huì)得到一個(gè)key字符串。注意,在這里必須保存key,因?yàn)殛P(guān)閉頁(yè)面之后,無(wú)法通過(guò)任何方式再查詢到生成的key。如果key丟失,只能重建另一個(gè)key。

    訪問(wèn)

    有了Application ID和API key,就可以訪問(wèn)API了。

    這個(gè)頁(yè)面有一個(gè)很好的例子,可以參考:

    GET/Query

    可以用postman之類的工具測(cè)試http請(qǐng)求。

    自己寫的query工具

    因?yàn)槌绦蚩赡苄枰獙?duì)不同的Application Insight的不同的API執(zhí)行不同的Query,因此,基本的處理思路是在配置文件中配置相關(guān)信息,程序從配置文件中讀取需要執(zhí)行的全部query,逐一查詢后,返回結(jié)果列表。

    下面是json格式的配置文件(profile.json)和python代碼。

    配置文件

    說(shuō)明,

    • host:固定值http://api.applicationinsights.io

    • apps:Application Insight相關(guān)數(shù)據(jù)。

    • apis:Api相關(guān)數(shù)據(jù)。

    • queries:需要執(zhí)行的query。

    • default_filter:默認(rèn)的查詢條件,目前只有默認(rèn)時(shí)間功能,例子里的條件是最近7個(gè)整天。

    查詢

    查詢代碼如下:

    基本思路是從配置文件加載queries,逐個(gè)放入任務(wù)列表中,最后統(tǒng)一并發(fā)執(zhí)行、獲取結(jié)果。

    其中使用了request發(fā)送http請(qǐng)求、asyncio實(shí)現(xiàn)并發(fā)。

    總結(jié)

    本文是我關(guān)于Azure Application Insights REST API的知識(shí)和實(shí)踐的總結(jié)。這不是Azure Application Insights REST API的全部,可以參考微軟文檔以獲取更多信息。

    總結(jié)

    以上是生活随笔為你收集整理的Azure Application Insights REST API使用教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。