New Relic Azure統合設定とAzure Monitor連携
Azure環境での統合監視は、マイクロソフトのクラウドサービスと New Relic の監視プラットフォームを組み合わせることで、包括的な可視性を実現できます。
この記事では、Azure初心者にも理解しやすいよう、GUI操作を中心とした実践的な設定手順を解説します。複雑なスクリプトやテンプレートは最小限に抑え、まずは基本概念の理解を重視します。
なぜAzure統合が必要なのか
従来のオンプレミス環境とは異なり、Azure環境では Virtual Machine だけでなく、SQL Database、App Service、Storage Account など多数のマネージドサービスが連携します。
これらのサービスを個別に監視するのは現実的ではありません。New Relic の Azure統合により、すべてのサービスを統一ダッシュボードで効率的に管理できます。
監視の2つのアプローチ
Azure環境でのNew Relic監視は、大きく2つの方法で実現できます。
Infrastructure Agent(エージェント型)
Virtual Machine内に専用ソフトウェアをインストールして、内部から詳細な情報を収集します。
取得できる情報
- CPU、メモリ、ディスクの詳細な使用状況
- 実行中のアプリケーションプロセス
- システムログとアプリケーションログ
- カスタムメトリクス
Azure統合(API型)
Azure Resource Manager API を通じて、外部からAzureサービスの状態を取得します。
取得できる情報
- Azure Monitorのメトリクス
- SQL Database、App Service、Storageの稼働状況
- 請求・コスト情報
- リソースタグ情報
設定の全体的な流れ
Azure統合の設定は3つのステップで完了します。まずはこの全体像を把握しておきましょう。
Step 1: サービスプリンシパルの準備
New Relic が Azure の API にアクセスするための認証情報(サービスプリンシパル)を作成します。
Azure Portal での操作手順
Azure Active Directory にアクセス
- Azure Portal にログイン
- 「Azure Active Directory」を選択
アプリ登録の作成
- 左メニューから「アプリの登録」を選択
- 「新規登録」ボタンをクリック
- 名前:
NewRelic-Integrationなどの分かりやすい名前を入力
クライアントシークレットの生成
- 作成されたアプリを選択
- 「証明書とシークレット」→「新しいクライアントシークレット」
- 有効期限を設定(24か月推奨)
必要な権限の付与
- サブスクリプションレベルで「閲覧者」ロールを割り当て
- 「アクセス制御(IAM)」から設定
認証情報の確認
設定完了後、以下の4つの情報を New Relic 設定時に使用します。
- テナント ID: Azure AD の識別子
- アプリケーション ID: 作成したアプリの識別子
- クライアントシークレット: 生成されたパスワード
- サブスクリプション ID: 監視対象の Azure サブスクリプション
Step 2: Virtual Machine へのエージェントインストール
Azure VM Extension を使った方法(推奨)
Azure Portal から簡単にインストールできます。以下の手順で実施します。
仮想マシンを選択
- 監視したい VM のページを開く
- 左メニューから「拡張機能とアプリケーション」を選択
New Relic 拡張機能の追加
- 「追加」ボタンをクリック
- 「New Relic Infrastructure」を検索して選択
ライセンスキーの入力
- New Relic ライセンスキーを入力
- インストールを実行
PowerShell を使った一括インストール
複数の VM に一度にインストールしたい場合は、PowerShell を使用します。
# 基本的なインストールコマンド例
Install-Module -Name Az -Force
Set-AzVMExtension -ResourceGroupName "MyResourceGroup" `
-VMName "MyVM" -Name "NewRelicAgent" `
-Publisher "NewRelic.Infrastructure" `
-Type "NewRelicAgent" -TypeHandlerVersion "1.0"Step 3: New Relic での Azure 統合設定
New Relic 管理画面での操作
統合設定ページにアクセス
- New Relic ダッシュボードにログイン
- 「Infrastructure」→「Azure」を選択
- 「Add an Azure account」をクリック
Azure 認証情報の入力
- テナント ID
- アプリケーション ID
- クライアントシークレット
- サブスクリプション ID
- アカウント名(管理用の任意の名前)
監視対象サービスの選択
- Virtual Machines、SQL Database、App Service などから必要なサービスを選択
- データ取得間隔を設定(通常は5分間隔)
実践的な運用指針
段階的な導入アプローチ
Azure環境は多くのサービスが連携するため、一度に全てを監視すると情報過多になりがちです。段階的な導入が効果的です。
監視優先度の設定指針
限られた予算内で最大の効果を得るため、ビジネスへの影響度で優先順位を決めましょう。
| 優先度 | Azure サービス | 監視理由 |
|---|---|---|
| 高 | Virtual Machines, SQL Database | アプリケーションのコア部分 |
| 中 | App Service, Application Gateway | ユーザー体験に直結 |
| 低 | Storage Account, Key Vault | 間接的な影響 |
重要メトリクスの設定
Azure 環境で特に注目すべきメトリクスは以下です。
- Virtual Machines: CPU使用率、メモリ使用率、ディスクI/O
- SQL Database: DTU使用率、接続数、ブロッキングプロセス数
- App Service: 応答時間、HTTP エラー率、インスタンス数
コスト最適化のポイント
Azure 統合では、データ取得頻度とサービス数に応じてコストが変動します。以下の方法でコスト最適化が可能です。
データ取得間隔の調整
- 本番環境: 5分間隔(標準)
- 開発環境: 15〜30分間隔
- テスト環境: 必要に応じて無効化
リソースグループによるフィルタリング
本番環境のリソースグループのみに監視対象を限定することで、不要なデータ取得を回避できます。
よくあるトラブルと解決方法
Q: メトリクスが表示されない
A: 以下を順番に確認してください
- サービスプリンシパルの権限設定が正しいか
- 対象のサブスクリプションが選択されているか
- Azure Monitor でメトリクスが生成されているか
Q: 一部のサービスのデータが欠けている
A: Azure サービスによってメトリクス生成タイミングが異なります
- 使用されていないサービスはメトリクスが生成されません
- 初回設定後、データ表示まで最大30分程度かかる場合があります
Q: コストが予想以上に高い
A: 以下で最適化できます
- 監視対象サービスの絞り込み
- データ取得間隔の延長
- 開発・テスト環境の監視無効化