New Relic の Azure Monitor 統合のデータ確認で困ったらここを確認！

　New Relic で Azure Monitor のデータを確認する際の Tips を紹介します。New Relic の Azure Monitor 統合を活用すると Azure が提供するサービスのメトリクスを New Relic に取り込むことができます。

 この記事では、取り込んだデータをどのように確認するかを中心に紹介します。Azure Monitor のデータをどうやって New Relic に取り込むかについてはこちらのブログで紹介されているので参考にしてください。

https://qiita.com/ume67026265/items/b62f2c79473ccb6947a5

# 今回のポイント
この記事で紹介しているポイントは、次の3つです。
1. **Azure Monitor から取り込んだメトリクスの探し方を知る**
 Azure Monitor統合で取り込んだメトリクスデータをどこで確認するのかについて2つの方法を紹介します。

2. **目的のメトリクスが見つからない時の確認方法がわかる**
 Azure Monitorの他のメトリクスは取り込まれているのに一部のメトリクスが見つからないということがよくあります。そんな時に何を確認すれば良いのかを紹介します。
 
3. **Azure Monitor と New Relic のメトリクスで値が異なる時に確認するポイントがわかる**
 表示されているチャートを比較すると値の乖離が大きいということがありますが、比較する際の条件設定が間違っていることが多いです。その際に確認するポイントを紹介します。

:::note info
最新のアップデートの詳細はこちら
[New Relic アップデート一覧
](https://newrelic.com/jp/blog/nerdlog/new-relic-update  "New Relic アップデート一覧")
:::

:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::

# New Relic で Azure Monitor のメトリクスを確認
## そもそもどんなメトリクスが対象なの？
　New Relic の Azure Monitor 統合の特徴の一つが **Azure Monitor でサポートされているすべての Azure サービスからのメトリックの取り込み** です。これは、Azure上にサービスが追加されたり、Azure Monitor がサポートしているメトリクスが追加されたりした際、その変更に追従して New Relic へデータを取り込むことができるということです。
　この特徴があるため取り込まれるメトリクスの一覧を確認する際には Azure のドキュメントを確認する必要があります。

https://learn.microsoft.com/en-us/azure/azure-monitor/essentials/metrics-supported

　サポートされるメトリクスの一覧があるのでその中から目的のサービスを探してください。赤枠の **Metrics** から選択すると各リソースが持っているメトリクスを確認できます。
![Azure_Metrics.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/069a7dd9-2c72-3a4a-d4c8-56b40d744e4f.png)


## New Relic のどこで確認できるの？
### Azure Monitor 統合で作成されたのリソースごとの Entity から確認する
　New Relic の **All Capabilities** から **Azure** を選択すると Azure Monitor 統合で作成された　Azure のリソースの Entity が一覧で表示されます。

<img width="400" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/20f5d383-ffa2-0e2d-944b-2b8db681f3cd.png">

<img width="300" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/d7559b3d-036b-708a-e96c-a39a302a14f1.png">

　リストから Azure のリソースを選択して左側のメニューから Metrics を選択すると Azure Monitor 統合で取得したメトリクスを確認することができます。
![AzureMonitor-Metrics.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/028bf494-694b-44b1-cbb5-354165450d4e.png)

　また、**Metrics Explorer** を選択すると選択したリソースから取得されたメトリクスの一覧が表示されます。リソース単位のメトリクスを確認する際にはこの画面が大変便利です。
 ![AzureMonitor-MetricsExplorer.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/e3fba188-4862-dd11-9ad3-f75ec9294ca4.png)

### Data Explorer
　**Query Your Data** もしくは **Metrics & Events** から Data Explorer にアクセスできます。**Metrics** を選択して、*azure* と検索すると Azure Monitor 統合で取得したメトリクスの一覧を表示することができます。
メトリクス名を選択すると右にそのメトリクスを取得するためのNRQLとチャートが表示されます。
![AzureMonitor-Metrics&Events.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/4ab2c588-4435-6e6b-6eb2-78e2c7acf396.png)

　**Dimensions** でデータの項目を選択すると選んだ項目ごとにデータがグループ化されます。この画像の場合は *azure.metricNamespace* でグループ化してデータを集計しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/715cc362-3e6b-5940-540b-3a100c588586.png)

### NRQL（New Relic Query Language）
　最後に紹介するのが最も自由度の高い NRQL と使って参照する方法です。**Data Explorer** で確認したいメトリクスを見つけたら**Edit this query** から NRQL をカスタマイズしていきます。
 ![スクリーンショット 2024-09-15 23.31.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/094105dc-1bb2-d4fc-4a36-6d5be316ac95.png)

　使用できる属性名やメトリクス名、値は入力補完で候補が表示されるのでこの機能を活用しながらクエリを作成していくと簡単にデータを加工することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/c700f27c-6c11-a1f1-812d-4da844b70f5c.png)

NRQL を使い方を学びたいという方はこちらの記事も確認してみてください。

https://qiita.com/khara-nrkk/items/88927d8ddfcd63f25f61


# Azure Monitor から取り込んだメトリクスの探し方
## メトリクス名って何が設定されているの？
　Azure Monitor 統合で取り込んだメトリクスには、どういったメトリクス名が設定されているのでしょうか。大きく２つの要素で構成されています。1つは Azure のリソースタイプのプレフィックスです。例えば、*Microsoft.Compute/virtualMachines* だと *azure.compute.virtualmachines* が使用されています。
変換されているのは主に下記の3つです。
1. Microsoft. → azure.
2. "/" → "."
3. 全て小文字に変換される

これらの変換を行なってプレフィックスが作成されます。

2つ目が元になっている Azure のメトリクス名です。例えば、*Microsoft.Compute/virtualMachines + Percentage CPU* だと New Relic 上では *azure.compute.virtualmachines.PercentageCPU* というメトリクス名になります。大文字小文字はそのまま保持されて空白が削除されている形です。

これを基準にメトリクスを探していくと目的のメトリクスもすぐに見つかります。

メトリクスの命名規則については下記のドキュメントで紹介されているので参考にしてください。

https://docs.newrelic.com/jp/docs/infrastructure/microsoft-azure-integrations/get-started/azure-integration-metrics/


# Azure Monitor のメトリクスを確認する際のTips
## 探しているメトリクスが見つからない
　メトリクス名がわかれば Data Explorer で探すのは簡単です。ですが、目的のメトリクスが見つからないことがあります。そんな時に確認するポイントを紹介します。
### 時間帯を変更してみる
　Data Explorer で表示される時間はデフォルトで **30 min** に設定されています。ここで設定した時間にデータが存在するメトリクスだけが Data Explorer に表示されるため、目的のメトリクスが見つからない場合は、*7 days* 等に変更して確認してみてください。
 ![time-range.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/7e1221c2-fc0a-88e6-96df-4ce76a045145.png)

### Azure Monitor 上で値があるか確認してみる
　探しているメトリクスが Azure Monitor 上で表示されているか確認してみてください。New Relic に取り込まれるメトリクスは Azure Monitor に値が保存されているもののみです。値がなければ Data Explorer でも表示されないため、注意してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/38cb032a-86bc-d62c-8a1b-d41d1b258585.png)


## Azure Monitor と値が違うときはここを確認
### 集計関数は同じものを使っているか確認してみる
　New Relic と Azure Monitor でメトリクスの値が異なるケースが発生することがあります。こういった場合、それぞれで設定されている集計関数を改めて確認ことで有効です。New Relic のメトリクスは、**Average** や **Latest** が設定されていることが多いですが、Azure Monitor では **合計(Total)** が設定されていることがあるため、注意が必要です。

![average.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/1422ed10-22d4-a201-e218-fd6f1f01b802.png)

![Azure-Monitor-Total.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3043202/66b9434b-26d4-c9a7-1892-b65a3c22a404.png)

# 最後に
　New Relic に Azure Monitor のデータを取り込むことでツールを横断することなく、New Relic 上でサービス全体の状態を確認することができるようになります。ぜひ、New Relic の Azure Monitor 統合を試してみてください！


:::note info
最新のアップデートの詳細はこちら
[New Relic アップデート一覧
](https://newrelic.com/jp/blog/nerdlog/new-relic-update  "New Relic アップデート一覧")
:::

:::note info
無料のアカウントで試してみよう！
[New Relic フリープランで始めるオブザーバビリティ！](https://qiita.com/ktst79/items/5ee74b34e6adb8a7a6fa)
:::