New Relic FAQ - よくある質問と解決方法

New Relicの導入・運用でよく遭遇する質問を分野別に整理し、実践的な解決方法を提供します。困ったときの最初の参照先としてご活用ください。

🎯 このFAQの使い方

  • 🚀 導入前: プラン選択・コスト関連の質問を確認
  • ⚙️ 設定時: セットアップ・エージェント関連の質問を確認
  • 📊 運用時: データ・監視・アラート関連の質問を確認
  • 🔧 困った時: トラブルシューティング関連の質問を確認

🚀 導入・プラン関連

Q1. New Relicは無料で使えますか?

A1. はい、無料プランがあります。

yaml
無料プラン(Free Tier)の内容:
- データ保持: 8日間
- 月間データ取り込み: 100GB
- ユーザー数: 1名
- 基本的な監視機能が利用可能

有料プランへの移行タイミング:
- チームでの利用(2名以上)
- データ保持期間延長(最大13ヶ月)
- 高度なアラート・ダッシュボード機能

Q2. どのプランを選べばよいですか?

A2. 組織規模と用途で選択します。

yaml
プラン選択の指針:
スタートアップ(5名以下):
  → Standard ($99/月) または Pro ($349/月)
  
中規模企業(10-50名):
  → Pro ($349/月) または Enterprise ($1,000/月)
  
大企業(50名以上):
  → Enterprise ($1,000/月) + カスタム契約

Q3. 他社ツールとの費用比較はどうですか?

A3. 一般的にミドルレンジの価格帯です。

yaml
監視ツール費用比較(100GB/月での概算):
Datadog: $15,000-20,000/年
New Relic: $12,000-15,000/年  
AppDynamics: $18,000-25,000/年
Dynatrace: $16,000-22,000/年

New Relicの優位性:
- 価格透明性が高い
- 追加ホスト課金なし
- データ統合プラットフォーム

Q4. 契約期間の縛りはありますか?

A4. 月額払いなら縛りなし、年額払いなら割引があります。

yaml
契約オプション:
月額払い: いつでも解約可能(割引なし)
年額払い: 10-20%割引(年間契約必要)
Enterprise: カスタム契約(通常3年)

⚙️ セットアップ・エージェント関連

Q5. エージェントのインストールで失敗します

A5. 権限とネットワーク設定を確認してください。

bash
# よくある失敗原因と対処法

# 1. 権限不足
sudo を付けてインストール
sudo npm install newrelic --save

# 2. ファイアウォール設定
以下のドメインへのHTTPS(443)通信を許可:
- collector.newrelic.com
- *.nr-data.net

# 3. プロキシ環境
環境変数でプロキシ設定:
export HTTPS_PROXY=http://proxy.company.com:8080

Q6. データが表示されないのはなぜですか?

A6. エージェント設定とライセンスキーを確認してください。

javascript
// Node.js の場合の確認手順

// 1. ライセンスキー確認
console.log(process.env.NEW_RELIC_LICENSE_KEY);

// 2. エージェント初期化確認(require文は最初に配置)
require('newrelic'); // ← これが最初の行にあるか確認

// 3. アプリ名設定確認
// newrelic.js ファイル内
app_name: ['My App Name'], // 設定されているか確認

Q7. Kubernetes環境でのインストール方法は?

A7. Helmチャートまたはマニフェストで簡単にインストールできます。

yaml
# Helmでのインストール
helm repo add newrelic https://helm-charts.newrelic.com
helm install newrelic-bundle newrelic/nri-bundle \
  --set global.licenseKey=YOUR_LICENSE_KEY \
  --set global.cluster=your-cluster-name

# マニフェストでのインストール
apiVersion: v1
kind: ConfigMap
metadata:
  name: newrelic-config
data:
  newrelic.yml: |
    common: &default_settings
      license_key: 'YOUR_LICENSE_KEY'
      app_name: 'K8s App'

Q8. 複数環境(dev/staging/prod)での設定方法は?

A8. 環境変数と設定ファイルで分離します。

yaml
# 環境別設定例
Development:
  NEW_RELIC_APP_NAME: "MyApp-Dev"
  NEW_RELIC_LOG_LEVEL: "debug"
  
Staging:
  NEW_RELIC_APP_NAME: "MyApp-Staging"
  NEW_RELIC_LOG_LEVEL: "info"
  
Production:
  NEW_RELIC_APP_NAME: "MyApp-Production"
  NEW_RELIC_LOG_LEVEL: "error"

📊 データ・監視関連

Q9. メトリクスとイベントの違いは何ですか?

A9. データの性質と用途が異なります。

yaml
メトリクス(Metrics):
- 数値データの時系列
- : CPU使用率、応答時間、スループット
- 用途: トレンド分析、アラート

イベント(Events):
- 特定時点での出来事
- : デプロイ、エラー、ユーザーアクション
- 用途: 根本原因分析、コンテキスト理解

Q10. NRQLクエリがエラーになります

A10. よくある構文エラーを確認してください。

sql
-- ❌ よくあるエラー例
SELECT count() FROM Transaction WHERE appName = MyApp
-- エラー: 文字列をクォートで囲む必要がある

-- ✅ 正しい書き方
SELECT count(*) FROM Transaction WHERE appName = 'MyApp'

-- ❌ 時間指定のエラー
SINCE 1 hour ago UNTIL now
-- エラー: nowは不要

-- ✅ 正しい書き方  
SINCE 1 hour ago

Q11. カスタムメトリクスが多すぎて費用が心配です

A11. サンプリングと集約で最適化できます。

python
# カスタムメトリクス最適化例
import newrelic.agent

# ❌ 高頻度で細かいメトリクス
for user_id in users:
    newrelic.agent.record_custom_metric(f'User/{user_id}/login', 1)

# ✅ 集約されたメトリクス
total_logins = len(users)
newrelic.agent.record_custom_metric('Users/TotalLogins', total_logins)

Q12. アラートの通知が多すぎます(アラート疲れ)

A12. 重要度別の設定と通知頻度の調整が必要です。

yaml
アラート最適化戦略:
Critical (即時対応必要):
  - 通知: SMS + Slack
  - : サービス全停止、重大セキュリティ

Warning (監視必要):
  - 通知: Slack のみ
  - : 応答時間微増、エラー率微増

Info (情報共有):
  - 通知: 日次レポート
  - : デプロイ通知、使用量情報

🔧 パフォーマンス・トラブルシューティング

Q13. アプリケーションが重くなった原因を特定したい

A13. APMの分散トレーシングで詳細分析します。

yaml
分析手順:
1. APM > Distributed tracing で遅いトレース特定
2. 各スパンの実行時間を確認
3. ボトルネックとなる処理を特定
4. データベースクエリ or 外部API呼び出しをチェック

よくあるボトルネック:
- N+1クエリ問題
- 非効率なJOIN処理  
- 外部APIのタイムアウト
- 画像/ファイルの処理

Q14. メモリリークを検出・修正したい

A14. ヒープダンプとメトリクス推移で分析します。

javascript
// Node.js メモリリーク検出例
const newrelic = require('newrelic');

// メモリ使用量を定期監視
setInterval(() => {
  const used = process.memoryUsage();
  newrelic.recordCustomMetric('Memory/HeapUsed', used.heapUsed);
  newrelic.recordCustomMetric('Memory/HeapTotal', used.heapTotal);
}, 60000);

// 疑わしい処理でメモリ計測
function suspiciousFunction() {
  const start = process.memoryUsage().heapUsed;
  // 処理実行
  processLargeData();
  const end = process.memoryUsage().heapUsed;
  
  newrelic.recordCustomMetric('Memory/SuspiciousFunction', end - start);
}

Q15. データベースのパフォーマンス問題を調査したい

A15. データベース監視とスロークエリ分析を活用します。

yaml
データベース分析手順:
1. APM > Databases で遅いクエリを特定
2. クエリの実行時間と頻度を確認
3. EXPLAIN で実行計画を分析
4. インデックス追加 or クエリ最適化

改善例:
クエリ実行時間: 2.3秒 → 0.05秒(96%改善)
対策: user_idにインデックス追加

Q16. フロントエンドの表示が遅い原因を知りたい

A16. Browser監視とCore Web Vitalsで分析します。

javascript
// Core Web Vitals の確認と改善
Browser > Core Web Vitals で以下を確認:

LCP (Largest Contentful Paint):
- 目標: 2.5秒以下
- 改善策: 画像最適化、CDN利用

FID (First Input Delay):  
- 目標: 100ms以下
- 改善策: JavaScript最適化、コード分割

CLS (Cumulative Layout Shift):
- 目標: 0.1以下  
- 改善策: 画像サイズ指定、動的コンテンツ最適化

🔐 セキュリティ・コンプライアンス関連

Q17. 機密データがNew Relicに送信されないか心配です

A17. データ制御とフィルタリング機能で保護できます。

yaml
セキュリティ対策:
1. Obfuscation(難読化)設定:
   - クレジットカード番号自動マスク
   - パスワード自動除外
   
2. Custom Attributes フィルタ:
   - 特定の属性を送信除外
   - 正規表現でパターン除外
   
3. GDPR対応:
   - EU地域でのデータ保存
   - 個人データの削除要求対応

Q18. SOC2/ISO27001に対応していますか?

A18. はい、複数のコンプライアンス認証を取得しています。

yaml
New Relicの認証:
- SOC 2 Type II
- ISO 27001
- FedRAMP Authorized
- HIPAA対応オプション

監査対応機能:
- 詳細なアクセスログ
- ユーザー権限管理
- データ暗号化(転送時・保存時)

Q19. ユーザー権限をどう管理すればよいですか?

A19. 役割ベースアクセス制御(RBAC)で細かく設定できます。

yaml
権限管理ベストプラクティス:
Admin: 
  - 設定変更、課金管理
  - 人数: 1-2名

User:
  - ダッシュボード閲覧、基本操作  
  - 人数: 開発者・運用担当者

Restricted:
  - 特定アプリケーションのみ閲覧
  - 人数: 関係者のみ

💰 コスト・使用量関連

Q20. 予想以上に費用が高くなっています

A20. データ使用量の分析と最適化を行います。

yaml
コスト最適化手順:
1. Manage your data でデータソース別使用量確認
2. 不要なエージェント・統合を無効化
3. サンプリング率を調整(100% → 10%など)
4. 古いダッシュボード・アラートを削除

一般的な高コスト原因:
- カスタムメトリクスの大量送信
- ログの過剰収集
- 不要な Synthetics チェック

Q21. データ保持期間を延長したいです

A21. プランアップグレードまたは追加購入で対応できます。

yaml
データ保持期間:
Free: 8日間
Standard: 30日間  
Pro: 3ヶ月
Enterprise: 最大13ヶ月

延長オプション:
- Extended Data Retention アドオン
- カスタム保持期間(Enterprise)
- データエクスポート機能

Q22. 使用量を自動監視したいです

A22. 使用量アラートとダッシュボードで監視できます。

sql
-- データ使用量監視のNRQLクエリ例
SELECT sum(GigabytesIngested) FROM NrDailyUsage 
WHERE productLine = 'DataPlatform' 
SINCE 30 days ago 
FACET usageMetric

🔗 統合・連携関連

Q23. SlackやPagerDutyとの統合方法は?

A23. Webhookまたは専用統合で簡単に設定できます。

yaml
主要な統合先:
Slack:
  - アラート通知
  - インシデント情報共有
  - ダッシュボード共有

PagerDuty:
  - エスカレーション管理
  - オンコール自動割り当て

Jira:
  - インシデントチケット自動作成
  - PIR(障害報告)連携

Q24. 既存のPrometheusデータを移行したいです

A24. OpenTelemetryまたは直接統合で可能です。

yaml
# Prometheus統合の設定例
integrations:
  prometheus:
    config_file_paths:
      - /etc/prometheus/prometheus.yml
    transformations:
      - description: "Convert Prometheus metrics"
        rename_attributes:
          job: "service.name"

Q25. AWSの他サービスとの連携は?

A25. AWS統合により自動でメトリクス収集できます。

yaml
対応AWSサービス(一例):
- EC2: インスタンス監視
- RDS: データベース性能
- Lambda: サーバーレス監視  
- ELB: ロードバランサー
- CloudFront: CDN監視
- S3: ストレージ使用量

🆘 緊急時・障害対応

Q26. New Relicのサービス自体に障害が発生した場合は?

A26. ステータスページで情報確認し、バックアップ監視を用意します。

yaml
障害対応手順:
1. New Relic Status Page を確認
   https://status.newrelic.com/

2. 代替監視手段の確認:
   - CloudWatch(AWS)
   - Azure Monitor(Azure)
   - 自社監視ツール

3. エスカレーション:
   - Enterprise プランはSLA保証
   - 優先サポート対応

Q27. 重要なアラートが届かなかった場合は?

A27. 通知設定とログを確認し、冗長化を検討します。

yaml
アラート信頼性向上策:
1. 複数通知チャネル設定:
   - Slack + メール + SMS

2. アラート条件の見直し:
   - 閾値の適切性確認
   - 評価期間の調整

3. 通知配信ログ確認:
   - Alerts & Applied Intelligence > Activity

4. 外部監視の併用:
   - Pingdom等の外形監視
   - 独立した監視システム

📚 学習・サポート関連

Q28. New Relicを効率的に学習するには?

A28. 公式学習リソースと実践的コンテンツを活用します。

yaml
推奨学習パス:
1. 公式資料:
   - New Relic University(無料コース)
   - 公式ドキュメント
   
2. 実践的コンテンツ:
   - New Relic クイックスタートガイド
   - 学習ロードマップ
   - Part1-5 詳細コンテンツ

3. コミュニティ:
   - New Relic Explorer's Hub
   - GitHub Examples

Q29. サポートにはどう連絡すればよいですか?

A29. プランに応じたサポートチャネルがあります。

yaml
サポートレベル:
Free/Standard:
  - コミュニティフォーラム
  - ドキュメント・チュートリアル

Pro:
  - メールサポート(営業時間内)
  - レスポンス時間: 24時間以内

Enterprise:
  - 24/7 電話・メールサポート
  - 専任カスタマーサクセス
  - レスポンス時間: 1時間以内(重要度により)

Q30. ベストプラクティスやTipsが知りたいです

A30. 実践者のナレッジとコミュニティ事例を参考にします。

yaml
ベストプラクティス学習源:
1. New Relic公式ブログ
2. 監視エンジニアのQiita記事
3. DevOpsコミュニティ事例
4. この学習コンテンツの実践例

実践的Tips:
- 段階的導入(一度にすべて設定しない)
- チーム内でのナレッジ共有
- 定期的な設定見直し
- インシデント対応後のPIR実施

🔗 関連リンク

学習コンテンツ

詳細ガイド

New Relic 公式


📝 このFAQについて

作成日: 2025年7月20日
対象読者: New Relic利用者・検討者
更新方針: よくある質問の追加、解決方法の改善を継続的に実施

💡 ヒント: 解決しない問題がありましたら、公式サポートまたはコミュニティフォーラムをご利用ください。