
Auth0 Metric Streams(Beta)でRPSをNew Relicで監視してみた
Auth0 Metric Streams
Auth0に Metric Streams という新機能が登場しました(現在Beta)。
Auth0テナントのAPIリクエスト数(メトリクス)を、外部の監視プラットフォームに自動でストリーミングする機能です。
| 項目 | 内容 |
|---|---|
| 送信メトリクス | Authentication / Management APIリクエスト数の集計値 |
| 送信間隔 | 10秒ごと(秒単位の粒度) |
| 対応先 | Datadog(ネイティブのコネクタあり)、New Relic / Splunk 等(OTLP経由) |
| プロトコル | OTLP(OpenTelemetry Protocol) |
| 必要プラン | Auth0 Enterprise |
何が嬉しいか
Auth0にはRPS(秒あたりAPIリクエスト数)の上限があり、契約プランに応じてプロビジョニングされます。しかし、Auth0のダッシュボードにはRPSの推移をリアルタイムに表示する画面がありません。
従来の確認手段は
- Oktaへの問い合わせ
- APIレスポンスに含まれる
X-RateLimit-Remainingヘッダーによる残数
いずれも「今どのくらいRPSを消費しているか」をリアルタイムに把握できるものではありませんでした。
Metric Streamsを使えば、Auth0のAPIリクエスト数がNew Relic等の監視プラットフォームに自動で流れ込むため、RPSの推移を常時モニタリングし、レートリミットへの到達を事前に検知できるようになります。
検証シナリオ
本記事では、Metric Streams を New Relic に接続し、以下を確認します。
- Auth0 → New Relic へのメトリクス送信設定
- Auth0 CLIでAPIトラフィックを発生させる
- New Relic上でメトリクスが確認できることを確認する
前提条件
| 項目 | 内容 |
|---|---|
| Auth0 | Enterpriseプラン(Metric Streams利用に必要) |
| 監視プラットフォーム | New Relic |
| 検証ツール | Auth0 CLI、curl |
やってみた
(New Relic)Api Key の作成
Auth0からOTLPでメトリクスを受け取るためのキーを作成します。
- New Relicにログイン → Administration > API Keys
- Create a key をクリック


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

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

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 の作成
- Auth0 Dashboard → Monitoring > Metric Streams
- Create Metric Stream → OpenTelemetry を選択



- 以下を入力して保存
| 項目 | 値 |
|---|---|
| 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 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を実行します。

全メトリクスの確認
SELECT * FROM Metric WHERE metricName LIKE 'auth0%' SINCE 30 minutes ago

Authentication APIのRPS推移
SELECT sum(auth0.api_request.count)
FROM Metric
WHERE api = 'API_AUTHENTICATION'
SINCE 30 minutes ago
TIMESERIES

確認できたデータ
実際に届いたメトリクスには以下のタグが含まれていました。
| タグ | 例 | 説明 |
|---|---|---|
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されるのが楽しみです!






