可観測性

PrometheusとOpenTelemetryを使い、個々の訪問者を追跡せずに集約トラフィック、エラー、ダウンロード、ページ利用状況を確認します。

Prometheusメトリクスエンドポイント

[metrics]
enabled = true
listen = "127.0.0.1:9100"

OTLP出力設定

FLUXHEIM_OTLP=enabled
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_METRIC_EXPORT_INTERVAL=5000

可観測性compose stackはWebサイトサービスにこれを設定します。設定値 FLUXHEIM_OTLP=disabled を使うと、同じバイナリをmetrics/traces exportなしで実行できます。

バージョン 1.6.37 では、host-network のポートが他の runner プロセスと競合した場合に、Prometheus と Jaeger の一時起動を新しいポートで再試行します。これにより、ローカルの observability smoke がより安定します。

ラベルは低カーディナリティに保ちます: ルートグループ、言語、状態クラス、ダウンロード成果物、GitHubターゲットが有用です。生のIPアドレスやユーザー識別子は使いません。

ダッシュボードに出すもの

シグナル重要な理由
ルート別リクエストどの公開ページとドキュメントが使われているかを示します。
ロケール別リクエストどの言語により多くの手入れが必要かを示します。
ステータスクラス個々のユーザーを追跡せずにエラーを示します。
Download clicksどのリリース成果物が有用かを示します。
GitHubクリック集計どの外部プロジェクトリンクが重要かを示します。

プライバシー境界

  • 生のリクエストログではなく集約カウンターとヒストグラムを使います。
  • Do not label metrics with IP addresses, user agents, or full URLs.
  • PrometheusとOTLPリスナーはloopbackまたは内部ネットワークに置きます。
  • トラッキング動作をプライバシーとCookieページで見えるようにします。
日本語