メインコンテンツへスキップ
LogBrew は、HTTP 経由の OpenTelemetry プロトコル(OTLP)を受け付けます。OpenTelemetry SDK、OpenTelemetry Collector、その他の OTLP エクスポーターから、ログ、トレース、メトリクスを LogBrew に送信できます。LogBrew SDK は必要ありません。 LogBrew は、OTLP のデータを SDK のデータと同じように保存します。ダッシュボード、CLI、MCP サーバーでも同じように読み取れます。使用量、プランの上限、レート制限も同じように適用されます。

エンドポイント

リクエストの本文は application/x-protobuf または application/json で送信します。本文は Content-Encoding: gzip で圧縮できます。 プロジェクトの取り込みキーは、次の2つのヘッダーのどちらかで送信します。
  • x-logbrew-key: lbw_ingest_...
  • Authorization: Bearer lbw_ingest_...
サービスには server キーを使います。キーの種類については、プロジェクトキーの種類を参照してください。

OpenTelemetry SDK を設定する

OpenTelemetry SDK は、標準の OTEL_* 環境変数を読み取ります。ベースのエンドポイントを設定します。/v1/logs、/v1/traces、/v1/metrics は SDK が追加します。
キーはシークレットストアに保管します。ソース管理には入れないでください。

OpenTelemetry Collector を設定する

otlphttp エクスポーターを追加します。ベースのエンドポイントを設定します。シグナルのパスはエクスポーターが追加します。

LogBrew での OTLP データの扱い

LogBrew は、次のリソース属性をイベントのコンテキストとして読み取ります。 その他のリソース属性と計装スコープは、各イベントのメタデータに残ります。 LogBrew は、単調増加ではないデルタの合計を拒否します。ログレコードとスパンはトレース ID とスパン ID を保持するため、ログはそのトレースの中に表示されます。 LogBrew は、データを保存する前に認証情報を [redacted] に置き換えます。対象は、キーが認証情報を表す属性の値です。たとえば、authorization、cookie、password、secret、api_key、または末尾が token のキーです。process.command_args、process.command_line、URL 内のユーザーとパスワード、token、code、key、signature などの URL のクエリの値も対象です。その他のシークレットは送信しないでください。

上限

SDK のデータと同じレート制限とプランの上限も適用されます。リクエストのレコードが多すぎる場合、LogBrew は先頭のレコードを保存し、残りを拒否します。バッチを小さくして送信してください。

レスポンス

LogBrew は、リクエストと同じエンコーディングでレスポンスを返します。 アカウントがプランの上限に達すると、LogBrew はすべてのレコードを拒否し、200 を返します。メッセージにはリセットの時刻が含まれます。エクスポーターは、リセットまで再試行しません。 LogBrew は、拒否したレコードをアカウントの使用量で数えます。拒否したレコードは sdk_dropped_events に表示され、理由は otlp_rejected_record、プランの上限に達した場合は usage_limit_exceeded です。拒否されたレコードは使用量に含まれません。 再送されたリクエストのレコードは、再び保存されません。LogBrew は、再送されたレコードを内容で見分けます。

データが届いたことを確認する

ログ、スパン、メトリクスのいずれかを1件送信します。次に、読み取りキーで読み戻します。テストイベントを読み戻すの手順に従います。 何も届かない場合は、エクスポーターのログを確認します。OTLP のレスポンスには、拒否されたリクエストやレコードごとの理由が示されます。