pplication Insights 料金節約術 - Web ページ解析編
Intro はじめに
Azure Application Insights は、監視サービスである Azure Monitor の機能のひとつで、インフラ層よりも上のアプリケーション層のパフォーマンスや状態を監視します。
サーバーサイドのアプリケーションログだけでなく、ウェブページのページビューやパフォーマンス解析も可能です。Google Analytics や Adobe Analytics の役割、といったほうが伝わりやすいかもしれません。
出典: https://docs.microsoft.com/ja-jp/azure/azure-monitor/app/app-insights-overview
この記事では、この機能を使うときの料金を節約する方法を紹介します。
Application Insights の料金
Application Insights の料金は、おおまかに以下の2つのパラメータで決まります。
- ログをボリュームに書きこむ量:データインジェスト(GB あたり〇〇円)
- ログを保持する期間:データ保持期間 Data Retention(ひと月、GBあたり〇〇円)
詳細は、公式ドキュメント Azure Monitor の価格 を参考に。さらに、 料金計算ツールで見積もってみると想像つきやすいかもしれません。
上記2つのうち、後者のデータ保持期間は後から ワークスペースの設定を変更することで調整できます が、前者のデータインジェストはあらかじめログ収集時に調整する必要があります。また、そもそも収集する量を小さくすることで、長期間保持したときの料金も抑えることができます。
How to configure 設定方法
Web ページ解析は、ページに以下のような <script>
タグのスニペットを埋め込むことでログデータが Azure へ送られます。
<script type="text/javascript">
!function(T,l,y){
...
cfg: { // Application Insights Configuration
instrumentationKey: "YOUR_INSTRUMENTATION_KEY_GOES_HERE"
/* ...Other Configuration Options... */
}});
</script>
※ スクリプトの多くを省略しています。正しいスニペットはドキュメントを見てください。
https://docs.microsoft.com/ja-jp/azure/azure-monitor/app/javascript
このスクリプト上の cfg
に最低限必要な instrumentationKey
が設定されていますが、この箇所に以降で説明する構成を行っていくことで、このスクリプトが送信するログの量を小さくすることができます。
構成フィールドの意味やすべての一覧はドキュメントを参照ください。以下にデータインジェスト量に影響がありそうなフィールドを抜粋していきます。デフォルトで送信しないようになっているものもありますが、関連しそうなものは明示的に書きます。 太字になっている箇所が、デフォルト値と異なるものです。
名前 | Default | 最小となる設定値 |
---|---|---|
disableExceptionTracking | false | true |
disableTelemetry | false | true |
enableDebug | false | false |
loggingLevelConsole | 0 | 0 |
loggingLevelTelemetry | 1 | 0 |
samplingPercentage | 100 | 100 ※これを変更するとサンプリングされるためデフォルト値のまま |
disableAjaxTracking | false | true |
disableFetchTracking | true | true |
disableCorrelationHeaders | false | true |
correlationHeaderExcludedDomains | undefined |
string[] ※対象外ドメインを指定 |
disableCookiesUsage | false |
true ※ただしcookieデータを扱わないだけでデータインジェスト量はそれほど変わらないはず |
設定サンプル
とりあえずこれを構成すれば限りなく最小に近づきます。ただし、本来必要としていたログがオフになってしまうと本末転倒ですので注意してください。
cfg: { // Application Insights Configuration
instrumentationKey: "YOUR_INSTRUMENTATION_KEY_GOES_HERE",
disableExceptionTracking: true,
disableTelemetry: true,
loggingLevelTelemetry: 0,
disableAjaxTracking: true
}});
Author And Source
この問題について(pplication Insights 料金節約術 - Web ページ解析編), 我々は、より多くの情報をここで見つけました https://qiita.com/hoisjp/items/e889b76fb9cb76344b68著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .