この記事では、AzureのアプリケーションInsightsのRESTのAPIを簡単に紹介され、そして例のPython APIの/ガジェットの方法により、消費者が含まれます。
新しいジョブが異なるページにクエリを複数回実行し、生産方法は、手のportal.azure.comを行って、日常の運用および保守の報告を行うチームに追加され、輸出は、グループ化、合併後に手動その後、Excel、およびコンパイル、分析など。これは、ステップのほとんどは労働は、プログラムに引き渡されるべきで本当に価値がないような面倒なプロセスです。、このプロセスを自動化し、生産コストのレポートを軽減するために、私は、処理および出力用のPythonクライアントを使用して、データを照会するためのAzureアプリケーションInsightsのREST APIを使用するようにしてください。ここでは、関連する知識と経験のいくつかはここに書き込みます。
このリンク:https://www.cnblogs.com/hhelibeb/p/11543295.html
オリジナルコンテンツは、明記してください
アプリケーションの洞察
アプリケーション洞察アズールまたは他のローカル環境から、解析・処理テレメトリデータを収集するための監視機能アズールプラットフォームの一部です。それはあなたが問題を特定し、問題を診断し、アプリのユーザーの行動を理解するのに役立つことができる強力な分析ツールが含まれている、あなたは、アプリケーションのパフォーマンスと可用性の継続的な改善をサポートすることができます。それができるとDevOpsチームプロセス統合、および開発ツールには、多くの接続ポイントを持っています。
それは、このようなように、.NETやJava、Node.jsのとなど複数の言語やフレームワークをサポートしています。
詳細については、を参照してください:アプリケーションの洞察は何ですか?
アプリケーションInsightsのREST API
アズールの使用に加えて、収集したアプリケーションInsightsのデータはまた、あなたがデータを使用するように、他のアプリケーションを使用することを可能にするREST APIを、を介して取得することができます。APIは、3種類に分けることができます。
-
メトリック:このような特定の時間範囲内の異常の総数としてクエリの重合結果、。
-
イベント:使用のOData $フィルタ、$ ORDERBY、$の検索をサポートするために、イベントデータにアクセスするための構文 $適用、$トップ、$スキップして$形式、 別のイベントは、イベント・データまたは集約されたデータセットを返すことがあります。
-
問い合わせは:ユーザーが送信してにすることを可能にするアプリケーションInsightsの解析とクエリクエリデータ、返されたデータは、スキーマのデータを返します。これは私が使用するタイプです。
フォーマット
API形式、
https://{hostname}/{api-version}/apps/{resource}/{area}/[path]?[parameters]
その中でも、
- ホスト名: api.applicationinsights.io
- リソース: アプリケーションID 、アプリケーションの洞察アプリの一意の識別子である、あなたはアプリでAPIアクセスオプションを見ることができ、以下を参照してください。(注:これは、計装キーはありませんが、間違っていない操作を行います)
- APIバージョン:パスが含まれている必要がありますAPIのバージョン、ベータ版またはV1を。
- エリア:1つのクエリの種類の指標、イベントやクエリで3。
- パス:このようなクエリメトリックについての詳細クエリについて。
- パラメータ:特定のパスに関連するパラメータ。
(ここに加えて、公開API形式上のセクションであるAzureのAPI形式)
認証します
アプリケーションIDは、上記および下記のAPIにアクセスするためのAPIキーを言及した、またはコール・インタフェースに障害が発生し、例えば、認証エラーメッセージを返す必要です
APIアクセスオプションでAPIキーを作成する]を選択し、説明を記入して「読み取りテレメトリ」をご確認ください。
キーの生成]をクリックし、キーの文字列になります。その注意キーを保存する必要があり、ここでページを閉じた後、もはや任意の手段によって生成されたキーを照会することはできませんので、。キーを紛失した場合にのみ、別のキーを再構築します。
アクセス
アプリケーションIDとAPIキーを使用すると、APIにアクセスすることができます。
このページには、良い例を持っている、あなたはを参照することができます:
ポストマンは、このようなテストhttpリクエストなどのツールを使用することができます。
独自のクエリツールを書きます
プログラムが別の問合せアプリケーションのインサイトごとに異なる実行するためにさまざまなAPIが必要な場合がありますので、そのため、基本的な考え方は、構成ファイル内の構成情報を扱うことで、プログラムは、クエリのすべて1つの1件の問い合わせにより、コンフィギュレーション・ファイルから実行されるように読み込み、結果に戻るリストに。
以下は、JSON設定ファイル形式(profile.json)とPythonコードです。
プロファイル
{ "application_insight" :{ "ホスト": "api.applicationinsights.io" 、 "アプリ" :{ "私のアプリ-洞察力" :{ "ID": "d1e9f429-c437-6034b32df878" 、 "説明":「それを例"で、 "APIは" :{ "exception_monitor" :{ "説明": "日報" 、 "キー": "01234qwerrttyypolmknbshjdfggu" 、 "バージョン": "V1" } } } }、 "クエリ" OPERATION_NAMEは"AdapterV1 \" \」含んでいる場合、 "タイムスタンプ": "time_field_name" } ]、 "default_filter":{ "TIME_RANGE": "間(EODを(現在の()、-8).. EODを(現在の()、-1))" } } }
説明、
- ホスト:固定値http://api.applicationinsights.io
- アプリケーション:アプリケーションのインサイトデータ。
- API:API関連データ。
- クエリ:クエリが実行されます。
- default_filter:デフォルトのクエリ、最近7日間の条件の例では、時間の唯一のデフォルトの機能、。
お問い合わせ
次のようにクエリのコードは次のとおりです。
インポート要求が インポートJSONの インポートをasyncio 非同期 DEF request_get(URL、ヘッダ名): リターン {名:json.loads(requests.get(URL、ヘッダー= ヘッダ)の.text)} 非同期 DEF __execute_query (設定): default_filter = configの[ " default_filter " ] http_requests = [] のためのクエリで設定[ " クエリ" ]: アプリ = configの[ " アプリケーション" ] [クエリ[ "アプリ" ]] API =アプリ[ " のAPI " ] [クエリ[ " API 」] query_url = F ''」のhttps:// {設定[ "ホスト"]} / {API [ "バージョン"]} /アプリ/ ?{アプリ[ "ID"]} /クエリのクエリ= {問合せ[ "ステートメント"]} '' ' であれば、クエリ[ " time_field_name " ] と default_filter [ " TIME_RANGE " ]: query_url = query_url + F ''' と{クエリ【 "time_field_name"]} {default_filterの[」TIME_RANGE "]} '' ' ヘッダー = { 'X-APIキー':API [ " キー" ]} http_requests.append(request_get(query_url、ヘッダ、クエリ[ " 名前" ])) リターン 待つ asyncio.gather(* http_requests) デフEXECUTE_QUERY(): オープンで(' profile.json ' ' R ' :CONFIG_FILEなど) query_config = json.load(CONFIG_FILE)[ " application_insight " ] 戻り asyncio.run(__execute_query(query_config))
基本的な考え方は、結果を取得し、設定ファイルのクエリ、タスクリストに一つずつ、そして最終的に統一された同時実行からロードされます。
前記リクエスト送信httpリクエスト、ASYNCIOの同時実行。
概要
この記事では、私の知識と実践AzureのアプリケーションInsightsのREST APIのをまとめたものです。このすべては、AzureのアプリケーションInsightsのRESTのAPIはありませんが、詳細については、Microsoftのドキュメントを参照してください。