かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Azure Functions のログを Application Insights で見てみよう

Azure Functions のポータルのログを見るための仕組みっぽいモニターを開いたら Application Insights の使用をお勧めされたので使ってみます。

Azure Functions の作成時に Application Insights の ON/OFF が指定できるので、そこで指定するのが一番楽です。ですが、作ってしまったよ!というときでも後から追加できるのでやってみましょう。

Application Insights の作成

日本のリージョンは選択できないので適当なところに作ります。

作ったらブレードの概要のところにインストルメーテンション キーが表示されるので、それを控えておきます。

Functions へキーの設定

Function App を開いてアプリケーション設定を開きます。 アプリ設定にAPPINSIGHTS_INSTRUMENTATIONKEYを追加しましょう。値は先ほど取得したインストルメーテンション キーの値です。

これで Application Insights との連携は完了です。適当に関数をガンガン呼び出すスクリプトを走らせて Application Insights を覗くと動いてるのが確認できます。因みに、ちゃんと Function App が構成できてると、こんな風に構成済みの機能に Application Insights が追加されます。

f:id:okazuki:20170821001516p:plain

確認

開くと以下のような感じの画面になります。動いてる感が出てますね。

f:id:okazuki:20170821001726p:plain

メトリックス エクスプローラーを開いて適当にグラフを追加しましょう。HTTP要求実行時間とか。(最初から追加されてたっけ…?)

f:id:okazuki:20170821001907p:plain

グラフを選択するといい感じに結果が表示されます。

f:id:okazuki:20170821002039p:plain

下にスクロールすると、個別のログが出てきます。

f:id:okazuki:20170821003006p:plain

個別のログを選ぶと詳細が出ます。

f:id:okazuki:20170821003105p:plain

このトレース ステートメントがログに記録された要求をぽちっとすると要求の詳細が見えます。

f:id:okazuki:20170821003233p:plain

もう1段掘り下げると、この要求のすべてのトレースというのが出てきます。こいつをクリックすると同じ要求内のログが出てきます。

f:id:okazuki:20170821003430p:plain

いい感じ。

まとめ

ということで Application Insights を ON にしておくと色々はかどりそうです。アラート出すようにしたり、ログにクエリかけたりできるっぽい(勉強しなきゃ…)のでガンガン使いましょう。