Metric Streams (ベータ)
Auth0のリアルタイムメトリクスを監視プラットフォームにストリーミングして、APIのパフォーマンスを追跡し、レート制限の問題を特定し、エラーのトラブルシューティングを迅速化できます。Metric Streamsは、DatadogとのNativeな連携と、New RelicやSplunkなどのプラットフォーム向けのOpenTelemetry Protocol (OTLP) の両方をサポートしています。監視できる内容
Auth0 API の利用状況に関する主要なメトリクスを追跡できます。- API リクエスト量: Authentication API と Management API への総リクエスト数を監視します。
- エラー率: 連携に影響するクライアントエラーとサーバーエラーを特定します。
- レート制限の発生: アプリケーションがレート制限にかかったタイミングを検出します。
- 地理的分布: 国別のトラフィック傾向を分析します。
- 認証フロー: グラントタイプや接続の利用状況を追跡します。
活用例
レート制限の問題を特定する
レート制限に達しているAPIやエンドポイントを監視することで、連携を調整したり、レート制限ティアにアップグレードしたりできます。API 障害のトラブルシューティング
メトリクスを API、オペレーション、失敗の種類 (レート制限、異常検知、または一般的なエラー) で絞り込むことで、エラーの根本原因をすばやく特定できます。プランのキャパシティ
ピーク時の利用量、平均RPS、パーセンタイル指標を分析して、ワークロードに適したレート制限ティアを見極めます。前提条件
メトリックストリームを設定する前に、以下が必要です。-
Auth0 Management API へのアクセス: 次の権限を持つマシンツーマシン (M2M) アプリケーションを作成します。
read:event_streamscreate:event_streamsupdate:event_streamsdelete:event_streamsread:event_deliveriesupdate:event_deliveries
- Auth0 CLI: API コマンドを使用してメトリックストリームを設定するには、Auth0 CLIをインストールします。
- 監視プラットフォームのアカウント: サポート対象の送信先のいずれかで有効なアカウント。
メトリクス リファレンス
auth0.api_request.count
詳細なフィルタリングと集計タグを使用して、Auth0 テナントへの API リクエスト数をカウントします。新しいメトリクスは 10 秒ごとに生成され、1 秒単位の粒度で提供されます。利用可能なタグ
Metric Streams には、システムの過負荷を防ぐために、エッジで Auth0 の Web Application Firewall (WAF) によってキャッシュまたはブロックされた API 呼び出しは含まれません。
列挙値
apiAUTHENTICATION- Authentication API へのリクエストMANAGEMENT- Management API へのリクエスト
SUCCESS- リクエストは正常に完了しましたFAILURE- リクエストはクライアントエラーまたはサーバーエラーにより失敗しました
operation_result が FAILURE の場合のみ存在)
RATE_LIMIT- リクエストがレート制限を超過しましたANOMALY_DETECTION- Auth0 の攻撃対策によってブロックされましたCLIENT_SERVER_ERROR- HTTP 4xx または 5xx エラー
サポート対象の送信先
Metric Streams は、以下の監視プラットフォームに対応しています。Datadog
Datadog のメトリクス API との Native 連携
New Relic
OpenTelemetry Protocol (OTLP) 経由でストリーミング
Splunk
OpenTelemetry Protocol (OTLP) 経由でストリーミング
Datadog を設定する
Datadog 独自のメトリクス API を使用して、Auth0 のメトリクスを Datadog に直接送信します。前提条件
- 有効なDatadogアカウント
- Datadog の API キー (Datadog の Organization Settings > API Keys で生成)
- ご利用の Datadog サイト (
app.datadoghq.comの場合はUS1、app.datadoghq.euの場合はEU、us3.datadoghq.comの場合はUS3などのリージョン識別子)
メトリックストリームを作成
- Auth0 Dashboard
- CLI
メトリックストリーム に移動します。
- Auth0 Dashboard で、Monitoring > メトリックストリーム に移動します。
- + Create Metric Stream を選択します。
- Datadog を選択します。
- Name: わかりやすい名前を入力します (例:
datadog-production) 。 - Datadog Site: ドロップダウンから Datadog のリージョンを選択します。
US1: app.datadoghq.comUS3: us3.datadoghq.comUS5: us5.datadoghq.comEU: app.datadoghq.euAP1: ap1.datadoghq.com
- Datadog API Key: Datadog の API キーを貼り付けます。
- Save を選択します。
DatadogでVerify
数分で、Auth0のメトリクスがDatadogに表示されます。Metrics > Explorer に移動し、auth0.api_request.count を検索すると、データを確認できます。
ストリームの管理
- Auth0 Dashboard
- CLI
すべてのストリームを表示する:
- Auth0 Dashboard の Monitoring > Metric Streams に移動します。
- 設定済みのすべてのストリームが、Destination、Status、Name、Subscriptions とともに一覧表示されます。
- 一覧からストリーム名を選択します。
- 設定を更新します。
- Save を選択します。
- Status 列の Toggle switch を使用して、ストリームを有効または無効にします。
- ストリームを無効にすると、メトリクスの送信は停止しますが、設定は保持されます。
- 一覧からストリーム名を選択します。
- 設定ページの下部にある Delete を選択します。
- 削除を確認します。
New Relicを設定する
OpenTelemetry Protocol (OTLP) を使用して、Auth0のメトリクスをNew Relicに送信します。New Relicの資格情報を取得する
1
OTLP エンドポイントを確認する
リージョンごとのエンドポイントを確認するには、New RelicのOTLPドキュメントを参照してください。
- US:
https://otlp.nr-data.net - EU:
https://otlp.eu01.nr-data.net
2
Ingestライセンスキーを作成する
- [ユーザーメニュー] > API Keys に移動します。
- Create a key を選択します。
- Key Type = Ingest - License を選択します。
- わかりやすい名前と必要に応じてメモを入力します。
- Create a key を選択します。
- APIキーをすぐにコピーします。後の手順で必要になり、あとで再表示することはできません。
メトリックストリーム を作成
- Auth0 Dashboard
- CLI
Metric Streams に移動します。
- Auth0 Dashboard > Monitoring > Metric Streams に移動します。
- + Create Metric Stream を選択します。
- OpenTelemetry を選択します。
- Name: わかりやすい名前を入力します (例:
newrelic-production) 。 - Protocol: ドロップダウンから HTTP を選択します。
- OTLP Endpoint: New Relic の OTLP エンドポイント を貼り付けます (例:
https://otlp.nr-data.net) 。 - Authentication Method: ドロップダウンから API Key を選択します。
- Header Name:
api-keyを入力します。 - API Key: 前の手順でコピーした New Relic の Ingest License Key を貼り付けます。
- Save を選択します。
Splunk を設定する
OpenTelemetry Protocol (OTLP) を使用して、Auth0 のメトリクスを Splunk Observability Cloud にストリーミングします。Splunkの資格情報を取得する
1
OTLPエンドポイントを確認する
エンドポイントを確認するには、SplunkのOTLP HTTP Exporterドキュメントを参照してください。エンドポイントの形式は次のとおりです。
<REALM> はSplunkのレルム (例: us1、eu0、jp0) に置き換えてください。2
アクセストークンを作成する
- 設定 > アクセストークン > New Token に移動します。
- わかりやすい名前を入力します。
- Authorization Scope を INGEST に設定します (必須) 。
- トークンの有効期限を設定します。
- Create を選択します。
- トークンの値をコピーし、安全な場所に保管します。この値は後の手順で必要になります。
メトリックストリームを作成
- Auth0 Dashboard
- CLI
Metric Streams に移動します。
- Auth0 Dashboard > Monitoring > Metric Streams に移動します。
- + Create Metric Stream を選択します。
- OpenTelemetry を選択します。
- Name: わかりやすい名前を入力します (例:
splunk-production) 。 - Protocol: ドロップダウンから HTTP を選択します。
- OTLP Endpoint: Splunk の OTLP エンドポイントを貼り付けます (例:
https://ingest.us1.signalfx.com/v2/datapoint/otlp) 。 - Authentication Method: ドロップダウンから API Key を選択します。
- Header Name:
X-SF-TOKENを入力します。 - API Key: Splunk のアクセストークンを貼り付けます (上記のステップ 2) 。
- Save を選択します。
メトリクスのカーディナリティを理解する
カーディナリティとは、メトリクスによって生成される一意の時系列の数を指します。カーディナリティが高いほど、監視コストも増加します。トラブルシューティング
メトリクスが表示されない
ストリームのステータスを確認する:- Auth0 Dashboard
- CLI
- Auth0 Dashboard > Monitoring > Metric Streams に移動します。
- 一覧から対象のメトリックストリームを探します。
- Status 列が Enabled になっていることを確認します。
- ストリーム名を選択して詳細設定を表示し、設定内容を確認します。
- Datadog: API キーが有効であり、site URL が Datadog のリージョンと一致していることを確認します
- OTLP destinations: エンドポイント URL、認証トークン、ヘッダー名が正しいことを確認します
監視コストが高い場合
想定以上にコストがかかっている場合は、次の点を確認してください。- クエリやダッシュボードで使用しているタグを見直します。
- 集計から
client_idとconnection_idを除外することを検討します。 - 監視プラットフォームでサンプリングやフィルタリングを利用し、取り込まれるメトリクスを減らします。
- 粒度の細かいタグではなく、
apiやoperation_resultのような上位レベルのタグで集計します。