NewRelicでAzureのリソースを収集し、Azure利用料を可視化する。

# ◆概要
- NewRelicのAzureインテグレーションを使って、連携してみる。
- その後、Dashboardsを作成し、でAzureの利用料を可視化する。

# ◆前提
- NewRelicのアカウント、Azureアカウントがあること<br>※今回は弊社の検証アカウントを使用する

# ◆NewRelicとAzureを連携する。
* 連携方法はNewRelicのアカウントより[Add Data]→[Microsoft Azure]を選択すると、導入ウィザードのページに遷移し、その通りに準備を行うと連携が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/e5bff1dd-7b3c-5503-4323-532e83004225.png)
※以下公式Knowledge参照でも可
https://docs.newrelic.com/jp/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/

## Step1:サブスクリプションIDとテナントIDの取得
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/30e8935b-ba18-28fc-e66a-21b2bca582fc.png)
* 対象AzureアカウントのサブスクリプションIDとテナントIDを控えておく<br>→NewRelicのナレッジだとAzure CLIで確認しなさいと記載してますが、別に何でも良いです。<br>
## Step2:アプリケーションの登録
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/0c977041-37eb-98c1-98e5-58bd09dcf917.png)
1. AzurePortalより[Microsoft Entra ID（旧Azure AD)]→[アプリの登録]→[新規登録]を選択<br>→以下の画像赤枠部を入力し、「登録」ボタンを押下<br>※[名前]は任意の値で構わない。<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/3392c40f-4f22-59e5-e26a-733a466f8201.png)
1. 登録されたアプリケーションのアプリケーションIDを控えておく
1. 登録されたアプリケーションのメニューより[証明書とシークレット]を選択<br>→[新しいクライアントシークレット]を選択し、クライアントシークレットを作成<br>※説明や有効期限は任意で構わない<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/a453876c-3603-e05d-d794-6b15449e9819.png)<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/82309644-4a3c-0f01-509f-94f203ee3e3a.png)
1. 作成されたクライアントシークレットの[値]を控えておく　※値は作成時にしかコピーできないので、注意
## Step3:作成したアプリケーションに参照権限を付与
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/b4436154-6a00-1587-c4b7-8dbcf2f516dd.png)
1. 対象サブスクリプションより、[アクセス制御（IAM）]→[ロールの割り当ての追加]を選択<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/bff2f01e-e0e1-ac50-5935-284a65f53cc4.png)
1. ロールは[閲覧者]を選択<br>※NewRelicの記述だと[Reader]になってますが、日本語表記だと翻訳されて上記なので、注意<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/acdd3e59-1c94-e67a-8c61-6f55443f2a30.png)
1. メンバーで先に作成したアプリケーションを選択する。<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/819f5bef-579d-202c-e676-eb491c0ff725.png)
1. 最後に[レビューと割り当て]ボタンを押下し、権限を付与<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/6d61b25f-f01c-1188-5052-6dfed3a1a35b.png)

## Step4:いざ、アカウント連携
* これまで控えておいた各種ID/値を入力し、[Next]へ ※名前は任意の名前に
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/4e287f47-6797-707f-ac6f-4a2d954f3b9a.png)

## Step5:サービスの選択
* 収集するAzureサービスを選択し、[Next]ボタンを選択<br>→成功すると、以下のようなポップアップが表示される。<br>※今回はAzureMonitorとCostManagementのみを選択<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/fe46abb0-af56-5ee0-cd55-84a8c5182680.png)
<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/ccb85387-8cd8-8712-38d6-b87517026ae2.png)
* 成功すると、選択したサービスがAzureの一覧に表示される。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/ad21d342-78dc-96e9-5943-8fa75e78f537.png)

補足：
各種サービスの[Configure]を選択すると、ポーリングの間隔や収集するリソースの指定が可能です。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/a621254f-b7c0-3525-82b6-48e8ab3deb8b.png)

# ◆ダッシュボードを作成し、コストを可視化してみる。
* NewRelicとAzureの連携は可能になったので、ダッシュボードを作成してみる。<br>→今回はNewRelicがテンプレートとして用意してあるダッシュボードを使ってみる。

1. NewRelicアカウントより[Dashboards]→[Create a new dashboard]を選択<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/57ae3cf2-ec5b-963a-fb25-d4bc60686eec.png)
1. [Browse pre-built dashboards]を選択<br>→[Add Data]画面へ遷移する。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/e61b1416-075e-38f9-43e1-d2ae16ab502b.png)
1. [Azure]から[Azure Cost Management]を選択![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/a3414c8c-7e53-b8f7-d298-ecf0de4f5818.png)
1. ダッシュボード作成ウィザードにて[Done]を選択<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/af0edbe7-cd66-8e70-3f36-bdb7f17c7fff.png)
1. ダッシュボードが作成される。<br>→[View Dashboards]を選択すると、実際に作成されたダッシュボードが表示されます。![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/01e47cc5-da94-d2d8-01fd-62c1bc8aba6b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/f4afb159-2a78-75c1-28c0-59b159ed3571.png)

## 補足：可視化してみての分析・改善
* ダッシュボードを作って終わりではなく、これを活用しないと意味が無いので、作成したダッシュボードで収集した情報を分析してみる。
* [Cost Per Service]を見ると、どのサービスがコストがかかっているか分かる。以下では2位にBackupがある。<br>→古いバックアップファイルなどが残ってないか？ハウスキープしている？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/7fa8cc21-6811-ecb0-1300-281ed29df2c0.png)
* [Cost Per Resource Group]を見ると、どのリソースグループにコストがかかっているか分かる。<br>→各リソースグループの管理者に利用料が高い旨を連携し、是正をお願いしてみようなど動きに役立てる。<br>※余談ですが、私の検証用リソースグループが5番目に高い状況。。<br>心当たりが無かったので、確認したところ、過去の検証時に取得していたバックアップファイルがRecovery Servicesに残っていたためでした。。<br>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2774397/cd15accb-6e18-5a65-c839-803293150531.png)