Privacy Proxy は OpenTelemetry Protocol(OTLP) ↗ でテレメトリデータをエクスポートします。このデータを受け取るエンドポイントを設定し、オブザーバビリティ基盤へ転送できます。
オンボーディング時に、OpenTelemetry コレクターのエンドポイントを Cloudflare に伝えます。
- Endpoint URL: テレメトリデータの送信先 HTTPS エンドポイントです。
- Authentication: コレクターへの認証に必要なヘッダーまたは認証情報です。対応する認証の種類は、ベアラートークンヘッダー、カスタムヘッダーベースの認証、相互 TLS(mTLS)です。
Cloudflare は、このエンドポイントへテレメトリをエクスポートするよう、Privacy Proxy インスタンスを設定します。
Privacy Proxy は次のテレメトリシグナルをエクスポートします。
| シグナル | 説明 |
|---|---|
| Metrics | 接続数、リクエスト率、レイテンシのヒストグラム、エラー率 |
| Traces | プロキシの処理時間を示すリクエスト単位のトレースです。トレースはリクエストの約 1% をサンプリングします。 |
Privacy Proxy は、利用パターンとパフォーマンスの把握に役立つメトリクスをエクスポートします。
| メトリクス | 説明 |
|---|---|
privacy_proxy_connections_total |
プロキシ接続の合計数 |
privacy_proxy_connections_active |
現在アクティブな接続 |
privacy_proxy_connections_duration_seconds |
接続時間のヒストグラム |
| メトリクス | 説明 |
|---|---|
privacy_proxy_requests_total |
処理した CONNECT リクエストの合計 |
privacy_proxy_requests_by_status |
レスポンスステータスコードでグループ化したリクエスト |
privacy_proxy_bytes_sent_total |
宛先へ送信したバイトの合計 |
privacy_proxy_bytes_received_total |
宛先から受信したバイトの合計 |
| メトリクス | 説明 |
|---|---|
privacy_proxy_connect_latency_seconds |
宛先への接続確立にかかる時間 |
privacy_proxy_first_byte_latency_seconds |
宛先から最初のバイトを受け取るまでの時間 |
Privacy Proxy は、クライアント側で処理レイテンシを測れるよう、レスポンスに Server-Timing ヘッダーを付けます。ヘッダー形式の詳細は HTTP ヘッダー を参照してください。
Server-Timing: proxy;dur=12.5dur の値は、プロキシが加えた処理時間(ミリ秒)です。プロキシのパフォーマンスを監視するクライアント側の SLI(Service Level Indicator)として、このヘッダーを使います。
Grafana で Privacy Proxy のメトリクスを可視化する手順です。
- Privacy Proxy からデータを受け取る OpenTelemetry コレクターを設定します。
- コレクターから Prometheus へメトリクスをエクスポートします。
- Prometheus をデータソースにして Grafana ダッシュボードを作成します。
# Request rate over time
rate(privacy_proxy_requests_total[5m])
# 95th percentile connection latency
histogram_quantile(0.95, rate(privacy_proxy_connect_latency_seconds_bucket[5m]))
# Error rate
sum(rate(privacy_proxy_requests_by_status{status=~"5.."}[5m])) / sum(rate(privacy_proxy_requests_total[5m]))- OpenTelemetry のドキュメント ↗ — OpenTelemetry の概念と設定について、さらに確認します。
- GraphQL Analytics API — Cloudflare の GraphQL API でメトリクスをプログラムからクエリします。