New Relic Infrastructure Agent 概要とアーキテクチャ

はじめに

New Relic Infrastructure Agentは、サーバーやコンテナ、クラウドサービスを包括的に監視するための軽量なエージェントです。エージェントを導入すると、システムの健全性、パフォーマンス、リソース使用状況をリアルタイムで把握できます。

この記事では、Infrastructure Agentの基本概念からアーキテクチャ、提供される監視機能まで、全体像を詳しく解説します。自社のインフラ監視戦略を検討する際の判断材料として活用できるでしょう。

Infrastructure Agentの全体像

監視の仕組み(初心者向け解説)

Infrastructure Agentの動作は、シンプルに3つのステップで理解できます:

初心者向けポイント:

  • エージェントは「見張り番」のような役割です
  • 常にサーバーの状態をチェックして、異常があればすぐに知らせてくれます
  • インストールするだけで基本的な監視が始まります

Infrastructure Agentの全体像

監視の仕組み(初心者向け解説)

Infrastructure Agentの動作は、シンプルに3つのステップで理解できます:

初心者向けポイント:

  • エージェントは「見張り番」のような役割です
  • 常にサーバーの状態をチェックして、異常があればすぐに知らせてくれます
  • インストールするだけで基本的な監視が始まります

Infrastructure Agentとは

基本概念

New Relic Infrastructure Agentは、各ホストにインストールされる監視用のソフトウェアです。エージェントは常駐プロセスとして動作し、システムのメトリクスを収集してNew Relicプラットフォームに送信します。

エージェントの主な特徴として、軽量設計により最小限のシステムリソースで動作することが挙げられます。また、エージェントレス監視では取得できない詳細なメトリクスを収集できるため、より精密な監視が可能です。

監視対象範囲

Infrastructure Agentが監視できる要素は幅広く、物理サーバー、仮想マシン、コンテナ、クラウドインスタンスなど、多様な環境に対応しています。具体的には、CPUやメモリなどのハードウェアリソース、ネットワークトラフィック、ディスクI/O、プロセス情報などを包括的に監視します。

さらに、各種ミドルウェアやデータベースとの統合も可能で、Apache、Nginx、MySQL、PostgreSQLなどの詳細メトリクスも同時に収集できます。

アーキテクチャの詳細

エージェントの内部構造

Infrastructure Agentは、モジュラー設計により拡張性と保守性を確保しています。コアエンジンが基本的なシステムメトリクスを収集し、プラグインシステムによって特定のサービスやアプリケーションの監視機能を追加できます。

アーキテクチャ図解

データフローの詳細

  1. 収集フェーズ: エージェントが20秒間隔(デフォルト)でメトリクスを収集
  2. バッファリング: 収集したデータを内部バッファに保存(最大120秒分)
  3. 圧縮・暗号化: データをgzip圧縮し、TLS 1.2以上で暗号化
  4. 送信: HTTPS経由でNew Relic Ingest APIへ送信
  5. リトライ機能: 送信失敗時は自動的に再試行(最大3回)

データ収集は効率的な間隔で実行され、収集されたメトリクスは内部バッファに一時保存されます。その後、定期的にNew Relicプラットフォームに安全に送信されます。

セキュリティとデータ保護

セキュリティアーキテクチャ

セキュリティ機能の詳細

エージェントとNew Relicプラットフォーム間の通信は、TLS 1.2以上の暗号化により保護されています。認証には以下の2種類のキーが使用されます:

  • License Key: Infrastructure Agentの認証に使用(Ingest License Key)
  • API Key: 管理操作やダッシュボード設定に使用(User API Key)

データプライバシー設定

機密性の高い情報を保護するための基本設定:

yaml
# newrelic-infra.yml(要点抜粋)
license_key: YOUR_LICENSE_KEY  # 環境変数での管理を推奨
strip_command_line: true  # コマンドライン引数を除外

# 特定プロセスの除外
exclude_matching_processes:
  - ".*password.*"
  - ".*secret.*"

セキュリティ機能の詳細

エージェントとNew Relicプラットフォーム間の通信は、TLS 1.2以上の暗号化により保護されています。認証には以下の2種類のキーが使用されます:

  • License Key: Infrastructure Agentの認証に使用(Ingest License Key)
  • API Key: 管理操作やダッシュボード設定に使用(User API Key)

データプライバシー設定

機密性の高い情報を保護するための基本設定:

yaml
# newrelic-infra.yml(要点抜粋)
license_key: YOUR_LICENSE_KEY  # 環境変数での管理を推奨
strip_command_line: true  # コマンドライン引数を除外

# 特定プロセスの除外
exclude_matching_processes:
  - ".*password.*"
  - ".*secret.*"

エージェントが収集するデータは、設定により制御できます。機密性の高い情報は収集対象から除外するなど、セキュリティポリシーに応じた運用が可能です。

パフォーマンス最適化

Infrastructure Agentは、監視対象システムへの影響を最小限に抑えるよう設計されています。

リソース使用量の実測値

パフォーマンスチューニングのポイント

設定項目デフォルト値軽量化設定詳細監視設定
サンプリングレート20秒60秒10秒
プロセス監視有効Top20のみ全プロセス
ネットワーク監視10秒30秒5秒
ログレベルinfoerrordebug
CPU使用率<1%<0.5%1-2%
メモリ使用量30-50MB20-30MB50-100MB

最適化のベストプラクティス

環境別の設定調整が重要です:

  • 本番環境: サンプリングレートを長めに設定(30-60秒)
  • 開発環境: 詳細な監視のため短めに設定(10-20秒)

基本的な最適化設定例:

yaml
# 不要な機能の無効化
enable_process_metrics: false  # プロセス監視が不要な場合
payload_compression: true  # データ圧縮を有効化

リソース使用量の実測値

パフォーマンスチューニングのポイント

設定項目デフォルト値軽量化設定詳細監視設定
サンプリングレート20秒60秒10秒
プロセス監視有効Top20のみ全プロセス
ネットワーク監視10秒30秒5秒
ログレベルinfoerrordebug
CPU使用率<1%<0.5%1-2%
メモリ使用量30-50MB20-30MB50-100MB

最適化のベストプラクティス

環境別の設定調整が重要です:

  • 本番環境: サンプリングレートを長めに設定(30-60秒)
  • 開発環境: 詳細な監視のため短めに設定(10-20秒)

基本的な最適化設定例:

yaml
# 不要な機能の無効化
enable_process_metrics: false  # プロセス監視が不要な場合
payload_compression: true  # データ圧縮を有効化

データ送信は圧縮技術により効率化され、ネットワーク帯域の消費も最小限に抑えられます。本番環境での継続的な監視が現実的です。

提供される監視機能

システムメトリクス監視

基本的なシステムメトリクスとして、CPU使用率、メモリ使用量、ディスク使用量、ネットワークトラフィックなどを継続的に監視します。これらの情報は、システムの健全性を判断する基礎データとなります。

プロセス単位の詳細監視も可能で、特定のアプリケーションやサービスのリソース消費状況を個別に追跡できます。パフォーマンス問題の原因特定が効率化されます。

インベントリ管理

Infrastructure Agentは、ホストの詳細な構成情報を自動的に収集します。インストールされているソフトウェアパッケージ、カーネルバージョン、ネットワーク設定などの情報が、定期的に更新されて管理されます。

この機能により、インフラ全体の構成状況を一元的に把握でき、セキュリティパッチの適用状況や設定の一貫性をチェックできます。

アラート機能

収集されたメトリクスに基づいて、柔軟なアラート設定が可能です。閾値ベースのアラートはもちろん、異常検知アルゴリズムによる動的なアラートも利用できます。

アラート発生時には、メール、Slack、PagerDutyなどの多様なチャネルに通知を送信できるため、迅速な対応が可能です。

統合可能なサービス

On-Hostインテグレーション

Infrastructure Agentは、同一ホスト上で動作する各種サービスとの統合が可能です。データベース、Webサーバー、キャッシュサーバーなどの専用メトリクスを収集できます。

統合機能を使うと、アプリケーションスタック全体の監視が一元化され、問題の関連性を把握しやすくなります。

クラウドサービス統合

AWS、Azure、Google Cloud Platformなどの主要クラウドプラットフォームとの統合も充実しています。Infrastructure Agentによるホストレベルの監視と、クラウドサービスの管理コンソール情報を組み合わせると、包括的な監視が実現できます。

サードパーティ製品連携

New Relicエコシステムの豊富な連携機能により、既存の監視ツールやログ管理システムとの統合も可能です。段階的な移行や既存投資の活用ができます。

導入時の考慮事項

システム要件

Infrastructure Agentは軽量設計ですが、安定した動作のためには最低限のシステム要件を満たす必要があります。サポートされているOS、必要なディスク容量、ネットワーク要件などを事前に確認することが重要です。

ライセンスと料金

New Relicの料金体系では、Infrastructure Agentによる監視対象ホスト数が課金対象となります。段階的な導入により、コストを適切に管理しながら監視範囲を拡大できます。

運用体制の整備

効果的な監視運用のためには、アラート対応フローの整備、ダッシュボードの設計、定期的なメトリクス分析などの運用体制を構築することが推奨されます。

バージョン管理とメンテナンス

エージェントバージョン管理

重要な考慮事項:

  • Infrastructure Agentは定期的にアップデートされ、新機能の追加やセキュリティ修正が含まれます
  • 本番環境では、事前にテスト環境でアップデートの動作確認を実施することを強く推奨
  • メジャーバージョンアップデートでは、設定ファイル形式や機能の変更が含まれる場合があります

継続的なメンテナンス

定期メンテナンス項目:

  • エージェントの最新バージョン確認(月次)
  • セキュリティアップデートの適用(重要度に応じて即座に対応)
  • 設定ファイルの見直しと最適化(四半期ごと)
  • 監視ルールとアラート設定の棚卸し(半年ごと)

互換性の確認

アップデート前の確認項目:

  • 既存の統合機能(On-Hostインテグレーション)との互換性
  • カスタム設定やプラグインの動作確認
  • OS およびプラットフォームサポート状況
  • New Relicプラットフォーム側の機能変更による影響

このセクションの記事一覧

以下はインフラストラクチャ監視に関する記事の完全なリストです。効果的な学習のための推奨順序で配置しています。

基礎知識

基本的なインストール

コンテナ・オーケストレーション

クラウド統合

  • AWS統合設定 - Amazon Web Services との統合による包括的な監視設定
  • Azure統合設定 - Microsoft Azure との統合設定とベストプラクティス
  • GCP統合設定 - Google Cloud Platform との統合による監視環境構築

高度な設定とリファレンス

まとめ

New Relic Infrastructure Agentは、軽量でありながら包括的なインフラ監視機能を提供する優れたソリューションです。モジュラー設計により拡張性が高く、様々な環境やサービスとの統合が可能です。

導入を検討する際は、監視要件の明確化、段階的な展開計画、運用体制の整備を並行して進めると、効果的なインフラ監視環境を構築できるでしょう。次回は、具体的なLinux環境でのインストール手順について詳しく解説します。


関連記事: Linux環境でのInfrastructure Agent導入関連記事: 設定ファイル完全リファレンス