New Relic Infrastructure Agent 設定の基礎と最適化指針

New Relic Infrastructure Agentの 効果的な設定方法 を、初心者にも分かりやすく解説します。膨大な設定オプションに圧倒される前に、まずは「なぜその設定が必要なのか」「どんな場面で使うべきか」を理解しましょう。

初心者向けクイックスタート

最小限の設定で始める

まずはこの3ステップで十分です。詳細な設定は後から追加できます。

設定の基本的な考え方

Infrastructure Agentの設定は、監視の精度システムへの負荷 のバランスを取ることが重要です。すべての機能を有効にすれば良いというわけではありません。

設定の優先度マトリクス

設定レベル別アプローチ

レベル1: 最小限の必須設定

目的: まずは監視を開始する

設定項目必要性説明
ライセンスキー必須New Relicへの接続に必要
表示名推奨ダッシュボードでの識別用
基本監視間隔推奨データ収集頻度の調整

最小設定の完全な例

yaml
# /etc/newrelic-infra.yml - 最小限の設定例

# 必須設定(これだけで動きます)
license_key: YOUR_LICENSE_KEY  # 取得方法: New Relic UI > API Keys > Ingest - License

# 推奨設定(識別を簡単にするため)
display_name: "web-server-01"  # ダッシュボードで表示される名前

この設定で何ができるか:

  • CPU、メモリ、ディスク使用率の基本監視
  • ネットワーク統計の収集
  • New Relicダッシュボードでの表示

レベル2: 運用環境向け設定

目的: 実用的な監視環境を構築

設定カテゴリ効果適用場面
カスタム属性環境・チーム別の分類複数環境の管理
ログ統合一元的なログ管理トラブルシューティング
統合機能アプリケーション別監視本格運用環境

運用設定の設計指針

レベル3: 高度な最適化設定

目的: 大規模環境での効率的な運用

最適化項目効果注意点
データ送信頻度調整ネットワーク負荷軽減遅延の増加
メトリクス選択必要なデータのみ収集設定の複雑化
バッファリングネットワーク断続時の対応メモリ使用量増加

環境別設定戦略

開発環境

特徴: 実験・検証重視

項目設定方針理由
ログレベル詳細(verbose: 3)問題調査のため
監視間隔標準(15秒)リアルタイム性重視
統合機能積極的に有効化機能検証のため

本番環境

特徴: 安定性・効率性重視

項目設定方針理由
ログレベル最小限(verbose: 0)パフォーマンス重視
監視間隔最適化済み(30-60秒)システム負荷軽減
統合機能必要最小限安定性確保

大規模環境

特徴: スケーラビリティ重視

項目設定方針理由
バッチ送信有効化ネットワーク効率向上
メトリクス絞り込み厳選して収集データ量削減
地域別設定リージョン最適化レイテンシ最適化

重要な設定項目の詳細リファレンス

ライセンスキー管理(最重要)

セキュリティベストプラクティス

bash
# ⚠️ 推奨: 環境変数を使用(キーをファイルに直接書かない)
export NEW_RELIC_LICENSE_KEY="your-license-key-here"

# 環境変数を参照する設定ファイル作成
cat > /etc/newrelic-infra.yml << EOF
license_key: \${NEW_RELIC_LICENSE_KEY}
display_name: \$(hostname)
EOF

Linuxでの安全なキー管理

bash
# systemd サービスファイルで環境変数を設定
sudo tee /etc/systemd/system/newrelic-infra.service.d/override.conf << EOF
[Service]
EnvironmentFile=/etc/newrelic-infra/license.env
EOF

# 環境変数ファイルを作成(権限を制限)
echo "NEW_RELIC_LICENSE_KEY=your-license-key" | sudo tee /etc/newrelic-infra/license.env
sudo chmod 600 /etc/newrelic-infra/license.env
sudo chown root:root /etc/newrelic-infra/license.env

セキュリティ関連設定

設定項目推奨レベル設定例
ライセンスキー管理最高環境変数 or シークレット管理ツール
HTTPSプロキシproxy: "http://proxy:8080"
ローカル設定保護chmod 600 /etc/newrelic-infra.yml

パフォーマンス関連設定

設定項目影響度調整指針
メトリクス収集間隔用途に応じて15-300秒で調整
バッファサイズメモリとネットワークのバランス
同時接続数通常はデフォルトで十分

完全な設定ファイルリファレンス

プロダクション用設定ファイルの完全例

yaml
# /etc/newrelic-infra.yml - プロダクション用完全設定

# ==================== 基本設定 ====================
license_key: ${NEW_RELIC_LICENSE_KEY}  # 環境変数から取得
display_name: ${HOSTNAME}  # 環境変数から取得。省略するとホスト名が自動設定されます
verbose: 0  # 本番環境では通常レベル(0=normal, 1=verbose, 2=debug, 3=trace)

# ==================== ネットワーク設定 ====================
# プロキシ設定(企業環境で必要な場合)
proxy: ${HTTPS_PROXY}  # 例: http://proxy.company.com:8080

# SSL/TLS証明書設定(企業環境で必要な場合)
# ca_bundle_file: /etc/pki/ca-trust/source/anchors/company-ca.crt
# ca_bundle_dir: /etc/ssl/certs

# プロキシ認証が必要な場合
# proxy: http://username:[email protected]:8080

# コレクターURL(リージョン別設定)
# fedramp: true  # FedRAMP対応の場合
# collector_url: https://infra-api.eu01.nr-data.net  # EUリージョンの場合

# ==================== パフォーマンス設定 ====================
# サンプリングレート(秒単位)
metrics_network_sample_rate: 10  # ネットワークメトリクス
metrics_process_sample_rate: 20  # プロセスメトリクス
metrics_storage_sample_rate: 20  # ストレージメトリクス
metrics_system_sample_rate: 20   # システムメトリクス

# ==================== プロセス監視設定 ====================
# コマンドライン引数の除外(セキュリティ)
strip_command_line: true

# 特定プロセスの除外
exclude_matching_processes:
  - "sshd"       # SSH接続を除外
  - "systemd-*"  # systemd関連プロセスを除外

# ==================== ログ設定 ====================
log:
  file: /var/log/newrelic-infra/newrelic-infra.log
  to_stdout: false  # 標準出力への出力(コンテナ環境では true に設定)

# ==================== カスタム属性 ====================
custom_attributes:
  environment: ${ENVIRONMENT:-production}
  service: ${SERVICE_NAME:-web}
  team: ${TEAM:-infrastructure}
  region: ${AWS_REGION:-ap-northeast-1}
  datacenter: ${DATACENTER:-tokyo}
  deployment_method: ansible
  monitoring_tier: premium

# ==================== インベントリ収集設定 ====================
# インベントリ情報は自動的に1時間ごとに収集されます
# 無効化する場合のみ以下を追加:
# disable_inventory: true

# ==================== フィルタリング設定 ====================
# ネットワークインターフェースのフィルタリング
network_interface_filters:
  exclude:
    - "lo"          # ループバック
    - "docker.*"    # Dockerネットワーク
    - "veth.*"      # 仮想ネットワーク

# ファイルシステムのフィルタリング
file_devices_blacklist:
  - "tmpfs"       # 一時ファイルシステム
  - "devtmpfs"    # デバイスファイルシステム

# ==================== ホストエイリアス設定 ====================
# クラウド環境での動的ホスト名対応
host_aliases:
  - "${INSTANCE_ID}"
  - "${PRIVATE_IP}"

# ==================== 統合機能の設定 ====================
# 統合機能(On-Host Integrations)の設定は /etc/newrelic-infra/integrations.d/ に配置
# 例: /etc/newrelic-infra/integrations.d/nginx-config.yml
# 統合機能の一括無効化(必要に応じて):
# disable_all_plugins: true

カスタム属性の活用戦略

効果的な属性設計

実際の使用例

yaml
# カスタム属性の実用例
custom_attributes:
  # 環境識別
  env: production
  env_tier: gold  # gold, silver, bronze
  
  # サービス情報
  service: payment-api
  service_version: 2.1.0
  
  # チームと責任
  team: platform-engineering
  owner: [email protected]
  cost_center: CC-1234
  
  # 地理情報
  region: asia-pacific
  datacenter: tokyo-01
  rack: A-12
  
  # コンプライアンス
  pci_compliant: true
  gdpr_scope: true
  
  # SLAレベル
  sla_tier: 99.99
  backup_policy: daily

属性設計のベストプラクティス

属性タイプ活用場面
環境識別env: production環境別アラート設定
責任チームteam: backendインシデント時の通知先
サービス種別service: web-serverサービス別パフォーマンス分析
地理的情報region: asia-pacific地域別監視ダッシュボード

統合機能の選択指針

アプリケーション統合の優先順位

統合対象優先度導入タイミング
Webサーバー(Apache/Nginx)初期導入時
データベース(MySQL/PostgreSQL)初期導入時
キャッシュ(Redis/Memcached)安定稼働後
メッセージキュー(RabbitMQ)必要に応じて
コンテナ(Docker/Kubernetes)コンテナ環境の場合

統合機能の段階的導入

トラブルシューティング指針

よくある設定問題と対策

問題原因対策
データが表示されないライセンスキー・ネットワーク問題接続確認・認証情報確認
高いシステム負荷監視間隔が短すぎる間隔調整・メトリクス選択
統合機能が動作しない権限・設定ファイルの問題権限確認・設定検証

ログレベルの使い分け

レベル用途出力内容
0(通常)本番運用必要最小限の情報
1(詳細)設定調整時動作状況の詳細
2(デバッグ)問題調査時デバッグ情報
3(トレース)開発・調査時全ての処理詳細

パフォーマンス最適化のポイント

システムリソース使用量の最適化

監視品質とリソース使用量のバランス

監視頻度CPU負荷データ精度推奨環境
15秒最高開発・検証環境
30秒本番環境(高負荷)
60秒本番環境(標準)
300秒最低最低バックグラウンド監視

まとめ

New Relic Infrastructure Agentの設定は、段階的かつ目的に応じたアプローチ が成功の鍵です。

成功のポイント

  • 必要最小限から開始: 基本機能で安定稼働を確認
  • 環境に応じた最適化: 開発・本番・大規模環境の特性に合わせた調整
  • 継続的な見直し: 運用経験に基づく設定の改善
  • セキュリティ重視: 認証情報の適切な管理

次のステップ

基本設定が安定稼働したら、チームのワークフローに応じたカスタム属性や統合機能を段階的に追加していきましょう。一度にすべてを設定しようとせず、運用しながら最適化することが重要です。


関連記事: New Relic Infrastructure 基本機能関連記事: New Relic APM監視設定