Auth0 Metric Streams(Beta)でRPSをNew Relicで監視してみた

Auth0 Metric Streams(Beta)でRPSをNew Relicで監視してみた

2026.04.08

Auth0 Metric Streams

Auth0に Metric Streams という新機能が登場しました(現在Beta)。

Auth0テナントのAPIリクエスト数(メトリクス)を、外部の監視プラットフォームに自動でストリーミングする機能です。

項目 内容
送信メトリクス Authentication / Management APIリクエスト数の集計値
送信間隔 10秒ごと(秒単位の粒度)
対応先 Datadog(ネイティブのコネクタあり)、New Relic / Splunk 等(OTLP経由)
プロトコル OTLP(OpenTelemetry Protocol)
必要プラン Auth0 Enterprise

https://auth0.com/docs/deploy-monitor/metric-streams

何が嬉しいか

Auth0にはRPS(秒あたりAPIリクエスト数)の上限があり、契約プランに応じてプロビジョニングされます。しかし、Auth0のダッシュボードにはRPSの推移をリアルタイムに表示する画面がありません。

従来の確認手段は

  • Oktaへの問い合わせ
  • APIレスポンスに含まれる X-RateLimit-Remaining ヘッダーによる残数

いずれも「今どのくらいRPSを消費しているか」をリアルタイムに把握できるものではありませんでした。

Metric Streamsを使えば、Auth0のAPIリクエスト数がNew Relic等の監視プラットフォームに自動で流れ込むため、RPSの推移を常時モニタリングし、レートリミットへの到達を事前に検知できるようになります。

検証シナリオ

本記事では、Metric Streams を New Relic に接続し、以下を確認します。

  1. Auth0 → New Relic へのメトリクス送信設定
  2. Auth0 CLIでAPIトラフィックを発生させる
  3. New Relic上でメトリクスが確認できることを確認する

前提条件

項目 内容
Auth0 Enterpriseプラン(Metric Streams利用に必要)
監視プラットフォーム New Relic
検証ツール Auth0 CLI、curl

やってみた

(New Relic)Api Key の作成

Auth0からOTLPでメトリクスを受け取るためのキーを作成します。

  1. New Relicにログイン → Administration > API Keys
  2. Create a key をクリック

auth0-metric-streams_1

auth0-metric-streams_2

  1. 以下を入力して作成
項目
Account 対象アカウント
Key type Ingest - License
Name auth0-metric-streams

auth0-metric-streams_3

  1. 作成されたキーの値をコピー(再表示不可)

auth0-metric-streams_4

New RelicのOTLPエンドポイント はリージョンで決まります。ログイン後のURLで判別できます。

ログインURL OTLPエンドポイント
one.newrelic.com https://otlp.nr-data.net
one.eu.newrelic.com https://otlp.eu01.nr-data.net

後ほど使います。

(Auth0)Metric Stream の作成

  1. Auth0 Dashboard → Monitoring > Metric Streams
  2. Create Metric Stream → OpenTelemetry を選択

auth0-metric-streams_5

auth0-metric-streams_6

auth0-metric-streams_7

  1. 以下を入力して保存
項目
Name newrelic-metric-streams
Protocol HTTP
OTLP Endpoint https://otlp.nr-data.net
Authentication Method API Key
Header Name api-key
API Key NRで作成したIngest License Key

auth0-metric-streams_8

保存すると自動的に有効化されます。

auth0-metric-streams_9

トラフィックを発生させてデータを確認する

実際にアプリを作成してもいいですが、Auth0 CLIを使ってコマンドでテストします。

Auth0 CLIでテナントに接続する

# 対話式ログイン
auth0 login

# M2Mアプリケーションを使ったマシンログイン
auth0 login \
  --domain <テナントドメイ> \
  --client-id <M2MアプリのCLIENT_ID> \
  --client-secret <M2MアプリのCLIENT_SECRET>

M2Mアプリケーションは、Auth0 Dashboard → Applications で作成し、Auth0 Management APIへの権限を付与しておきます。

Management APIのトラフィックを発生させる

# アプリケーション一覧を取得
auth0 apps list

# ユーザー一覧を取得
auth0 api get "/api/v2/users" --query "per_page=1"

Authentication APIのトラフィックを発生させる

curl -s -X POST "https://<テナントドメイン>/oauth/token" \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": "<M2MアプリのCLIENT_ID>",
    "client_secret": "<M2MアプリのCLIENT_SECRET>",
    "audience": "https://<テナントドメイン>/api/v2/",
    "grant_type": "client_credentials"
  }'

Universal Loginのトラフィックを発生させる

実際ユーザーがログインするときのトラフィックも気になります。

auth0 test login <アプリケーションのCLIENT_ID>

これでブラウザでUniversal Loginが開きます。ログインすると、内部的に複数のAuthentication APIコールが発生し、Metric Streamsに反映されます。

New Relicでデータを確認する

New Relicの Query Your Data で以下のNRQLを実行します。

auth0-metric-streams_10

全メトリクスの確認

SELECT * FROM Metric WHERE metricName LIKE 'auth0%' SINCE 30 minutes ago

auth0-metric-streams_11

Authentication APIのRPS推移

SELECT sum(auth0.api_request.count)
FROM Metric
WHERE api = 'API_AUTHENTICATION'
SINCE 30 minutes ago
TIMESERIES

auth0-metric-streams_12

確認できたデータ

実際に届いたメトリクスには以下のタグが含まれていました。

タグ 説明
api API_AUTHENTICATION / API_MANAGEMENT APIの種類
operation_name POST /oauth/token, get /api/v2/clients HTTPメソッドとパス
operation_result OPERATION_RESULT_SUCCESS / FAILURE 成功/失敗
tenant my-tenant テナント名
client_id abc123... アプリケーションID(Authentication APIのみ)
country_code JP リクエスト元の国
grant_type client_credentials OAuthグラントタイプ(Authentication APIのみ)

Management API、Authentication API(client_credentials)、Universal Login経由のAuthentication API

いずれのトラフィックもNew Relicに届くことが確認できました。

まとめ

Auth0 Metric Streams を New Relic に接続し、APIリクエスト数がリアルタイムに監視できることを確認しました。
設定自体は数分で完了し、データも数分以内に届き始めます。現在Betaですが、GAされるのが楽しみです!

この記事をシェアする

関連記事