New Relic 一般的な問題と解決法 - トラブルシューティングの基本
New Relicを使い始めたり、日々運用していると、いろんな問題に出会うことがあります。でも安心してください。多くの問題はよくあるパターンなので、正しい手順で対応すればすぐに解決できます。ここでは、New Relicでよく起きる問題とその解決方法を整理して、効率的なトラブルシューティングのサポートをします。
トラブルシューティングの基本アプローチ
問題を特定する手順
New Relicで問題が起きたときは、まず何が起きているかを正確に把握することが大切です。データが表示されない、動作が遅い、アラートが鳴らないなど、具体的な現象をメモしておきましょう。
次に、問題がいつから起きているかを確認します。最近設定を変えた、アプリをデプロイした、サーバー構成を変更したなどが原因の可能性があります。
エラーログの確認も忘れずに行いましょう。New Relicエージェントのログ、アプリのログ、システムのログを順番にチェックして、エラーメッセージや警告を記録しておきます。
情報を整理しておく
問題を解決するためには、必要な情報をしっかり集めることが大切です。使っているOS、アプリのバージョン、エージェントのバージョン、設定ファイルの内容、ネットワークの構成などを整理してまとめておきましょう。
スクリーンショットやエラーメッセージのコピーも重要な情報源になります。問題を再現する手順を詳しくメモしておくと、原因を特定しやすくなります。
導入時によくある問題
API Keyの設定に関する問題
最もよくある問題の一つが、API Keyの設定ミスです。無効なキー、期限が切れたキー、権限が不足しているキーなどが原因で、エージェントがNew Relicに接続できないケースがあります。
こんなときは、まずNew RelicのアカウントでAPI Keyが有効かどうかを確認しましょう。アカウント設定でキーの状態をチェックし、問題があるようなら新しいキーを作り直します。
設定ファイルでキーが正しく記述されているかも確認ポイントです。環境変数で設定している場合は、大文字小文字や特殊文字の扱いに特に注意してください。
エージェントインストールの問題
エージェントのインストール失敗もよくある問題です。パッケージマネージャの設定が間違っていたり、権限が不足していたり、必要なソフトが入っていなかったりすることが主な原因です。
Linuxではリポジトリの設定やGPGキーの追加が正しくできているかを確認しましょう。Windowsでは管理者権限で実行したり、Windows Defenderなどのセキュリティソフトの除外設定をすることが大切です。
Dockerコンテナで使う場合は、ベースイメージの選択や必要なライブラリが入っているかどうかに注意してください。
ネットワーク接続の問題
ファイアウォールやプロキシ設定のせいで、エージェントがNew Relicのサーバーに接続できないことがあります。New Relicが使うドメインやポートを許可リストに追加する必要があります。
会社の環境ではプロキシサーバーを通した接続が必要になることが多く、プロキシの設定を詳しく確認する必要があります。SSL/TLS証明書の検証に関する設定もチェックしましょう。
データ収集に関する問題
メトリクス収集の不具合
一部のメトリクスが収集されない場合、エージェントの設定やアプリケーションの実装に問題がある可能性があります。設定ファイルで監視対象が正しく指定されているか、必要な権限が付与されているかを確認しましょう。
APMの場合、アプリケーションコードでエージェントが適切に初期化されているか、必要なモジュールがインポートされているかを検証します。カスタムメトリクスの場合は、送信間隔と量の制限に注意が必要です。
パフォーマンスデータの欠落
パフォーマンスデータが間欠的に欠落する場合、リソース不足やネットワークの不安定性が原因となることがあります。エージェントのメモリ使用量とCPU使用量を監視し、適切なリソースが確保されているかを確認します。
高負荷環境では、サンプリング設定の調整により、データ収集の効率化を図ることが効果的です。また、バッチ処理の設定を最適化することで、安定したデータ送信を実現できます。
カスタムイベントの問題
カスタムイベントが正しく記録されない場合、イベントの構造やデータ型に問題がある可能性があります。New Relicでは、イベント名や属性名に使用できる文字に制限があり、これらのルールを遵守する必要があります。
イベントのサイズ制限や送信頻度の制限にも注意を払いましょう。大きなイベントや頻繁な送信は、パフォーマンスに影響を与える可能性があります。
ダッシュボードと表示の問題
データ表示の遅延
ダッシュボードでのデータ表示に遅延が発生する場合、クエリの複雑さやデータ量が原因となることがあります。NRQLクエリの最適化により、表示速度を改善できる場合があります。
時間範囲の設定も重要な要素です。長期間のデータを一度に表示しようとすると、処理時間が増加します。適切な時間窓の設定により、必要な情報を効率的に表示できます。
グラフ表示の異常
グラフに異常な値やギャップが表示される場合、データ収集の設定やタイムゾーンの設定を確認しましょう。特に、サマータイム切り替え時期には、時刻関連の問題が発生する可能性があります。
単位の設定や集計方法の設定も、グラフ表示に影響を与える重要な要素です。適切な設定により、意味のある視覚化を実現できます。
アラート関連の問題
アラート通知の不具合
アラートが期待通りに発動しない場合、条件設定と閾値の確認が必要です。アラート条件が適切に定義されているか、評価期間と閾値が実際の状況に適合しているかを検証します。
通知チャネルの設定も重要なポイントです。メールアドレス、Slack設定、Webhookエンドポイントなどが正しく構成されているかを確認しましょう。
誤報の対処
頻繁な誤報は、閾値設定が不適切であることを示している可能性があります。ベースライン機能を活用して、動的な閾値設定を検討することで、より精度の高いアラートを実現できます。
ノイズフィルタリングやアラートの遅延設定により、一時的な変動による誤報を減らすことも効果的です。
パフォーマンス問題への対処
エージェントのオーバーヘッド
エージェントが本番システムに与える影響を最小限に抑えるため、設定の最適化が重要です。サンプリング率の調整、不要な機能の無効化、ログレベルの適切な設定などにより、オーバーヘッドを削減できます。
大量データ処理の最適化
大規模環境では、データ送信量とAPIリミットに注意を払う必要があります。データの集約、フィルタリング、バッチ処理の最適化により、効率的な監視を実現できます。
まとめ
New Relicでよく発生する問題の多くは、基本的な設定確認と体系的なアプローチにより解決できます。問題が発生した際は、慌てずに段階的に原因を特定し、適切な対処法を適用することが重要です。
定期的な設定レビューと予防的なメンテナンスにより、多くの問題を未然に防ぐことができます。次回は、より詳細なエージェント固有のトラブルシューティングについて解説します。
関連記事: エージェントトラブルシューティング関連記事: データが表示されない場合の対処法