NewRelic学習サイト

👦 対象読者

  • NewRelicを勉強したいが、何から始めればいいかわからない人

👀 概要

New Relicは、オブザーバビリティ(可観測性)プラットフォームです。 このプラットフォームを使用することで、システムの深い可視化が可能になり、使用している技術に関係なく、潜在的な問題を特定し解決するのに役立ちます。

最も重要なのは、システム全体の可視化とパフォーマンス管理を可能にする という点です。 アプリケーションパフォーマンス、インフラ監視、ブラウザの挙動を可観測な状態にします。

引用 : https://www.hitachi-solutions.co.jp/newrelic/

  • フロントエンドのレイヤー
  • バックエンドのレイヤー
  • インフラレイヤー

それらを包括的に確認し、「想定外のエラー」にも対応できるのがNewrelicなのです。

Note:そもそもオブザーバビリティとは?

オブザーバビリティとは、システムの内部状態を外部から観測可能にするための概念です。 ログ、メトリクス、トレースなどのデータを活用し、システムの挙動や問題の根本原因を迅速に特定できるようにします。 これにより、運用者は障害対応やパフォーマンス改善を効率的に行うことが可能となります。

オブザーバビリティで重要なのは透明度です。 「事前に予測していた起こり得るエラーをキャッチできる能力」ではなく「いまだに起きたことがないエラーを含めキャッチすることができ、何が起きているかを把握できる能力」といえます。

できること/できないこと

NewRelicでできること

New Relicには、以下のような多くの機能があります。

  • インフラ/バックエンド/フロントエンド
  • カスタマイズ
    • ダッシュボード:必要なデータのみを整理して表示できます。
    • アラート:アプリケーションやコードで異常が発生した際に通知を設定できます。
    • NRQL : オブザーバビリティを実施するために、NRQLは必要です。
  • インタラクティブなアプリケーションセキュリティテスト(IAST):コードを実行してアプリケーションの脆弱性を調査します。
  • インフラストラクチャの監視:コンテナやクラウドインフラの健康状態とパフォーマンスを監視します。
  • KubernetesとPixie:クラスターの健康状態やパフォーマンスを完全に可視化します。
  • ライブアーカイブ:NRDBにログやテレメトリデータを保存します。
  • ログ管理:大量のログデータを効率的に管理します。
  • ネットワークパフォーマンス監視:ネットワークデバイスのパフォーマンスを分析します。
  • モバイル監視:モバイルアプリのパフォーマンスを監視します。
  • Opentelemetry:アプリケーションやホストからデータを収集し、New Relicに送信します。
  • データ照会:NRQL(New Relic Query Language)を使用して詳細なデータを取得します。
  • AWS Lambda監視:サーバーレスAWS Lambda関数のパフォーマンスを監視します。
  • サービスレベル:サービスレベル指標(SLI)と目標(SLO)を設定して使用できます。
  • 合成監視:ユーザーの操作をシミュレートしてアプリやサービスを監視します。

NewRelicでできないこと

  • インフラやアプリケーションの自動修復や自動スケーリングの直接的な実行
  • サービスの構成変更やデプロイの自動化。NewRelic内のエラーを検知し原因を特定することは得意ですが、挙動を直接変更することは向いていません。
  • セキュリティ脆弱性の自動検出や修正。NewRelicのAPM機能を使えば、ある程度の脆弱性診断は可能ですが、侵入検知等はできません。
  • 独自の監視エージェント以外の外部ツールとの完全な統合
  • オンプレミス環境の詳細な可視化(クラウド環境に比べて制限あり)

NewRelicの学習法

NewRelic Univercity を活用しましょう。 無料とは思えないほどレベルの高い動画が置いてあります。

https://newrelic.com/jp/learn

NewRelicの画面イメージ

バックエンド : 【APM(Application Performance Monitoring)】機能を利用している場合

  • Web合計実行時間
  • Apdex score(ユーザーの満足度。これはNewRelicの用語ではなく、パフォーマンス関連の用語)
  • スループット(処理している作業量。単位はRPM Request per minutes)

  • ブレイクダウン

フロントエンド : 【ブラウザモニタリング】機能を利用している場合

  • PV数
  • Core Web Vital
  • User Ontime
  • Javascriptエラー発生率

NewRelicの始め方

NewRelicにサインアップ

まずはNewRelicアカウントにサインアップしてください。 個人開発レベルの小規模なアプリケーションでは無料プランも利用可能で、十分な機能を使えます。 サインアップ後、すぐにアプリケーションの監視を開始できます。

データの追加

New Relicにデータを追加して、分析を開始します。 ガイド付きインストールを使用すると、環境を自動的に検出し監視対象を選択できます。

Note:TerraformとNewRelic

NewRelicは手動で導入することも可能ですが、Terraformを使用して導入することが可能です。 (以下はterraformを使用し、NewRelicのブラウザモニタリング機能を実装しています。)


terraform {
  required_providers {
    newrelic = {
      source  = "newrelic/newrelic"
    }
  }
}

provider "newrelic" {
  account_id = <Your Account ID>
  api_key = <Your User API Key>    # Usually prefixed with 'NRAK'
  region = "US"                    # Valid regions are US and EU
}

resource "newrelic_browser_application" "foo" {
  name                        = "example-browser-app"
  cookies_enabled             = true
  distributed_tracing_enabled = true
  loader_type                 = "SPA"
}

データの分析

New Relicに接続されたアプリケーションのデータを分析し、問題を特定します。これにより、アプリケーションのパフォーマンスを最適化するための情報を得ることができます。

ダッシュボードの設定

ダッシュボードを作成して、必要なデータを視覚化できます。これにより、システムのリアルタイム状況を把握できます。

アラートの設定

アラートを設定して、システムのパフォーマンス変化を通知します。これにより、問題が発生する前に対処できます。

参考:New Relic公式ドキュメント

Dear My Frends.: 個人開発宣伝ラボ - 個人開発者が間違った施策で時間を溶かさないための、心理学と実務知見のナレッジ共有コミュニティ