メインコンテンツまでスキップ

クラウドアプリのログをパイプラインにルーティングする

このガイドでは、オブザーバビリティパイプラインのワークフロー内で、単一のJSONログイベントをシミュレート、送信、および検証する方法を説明します。

目標: 模擬アプリログを取り込み、パイプラインに到達したことを確認し、Splunk、Elastic、S3などのデスティネーションへのルーティングの準備を整えます。

なぜ重要なのか

複雑なパースルールを作成したり、高価なセキュリティ情報イベント管理(SIEM)ツールにデータをルーティングしたりする前に、取り込みパスを検証する必要があります。 このワークフローにより、以下を確認できます。

  1. APIトークンが機能していること。
  2. パイプラインがJSON構造を受け入れていること。
  3. データをリアルタイムで確認できること。

始める前に

以下を準備してください。

  • APIトークンingest権限を持つもの)。
  • 一意のストリームID(プラットフォームUIから取得)。
  • ターミナルアクセスcurlを実行するため)またはPostman

パイプラインの概要

パイプラインアーキテクチャのスクリーンショット

1. ストリームの作成または選択

オブザーバビリティプラットフォームで以下の操作を行います。

  1. Streams > Management に移動します。
  2. New Stream をクリックするか、default-logs を選択します。
  3. Stream ID(例:st_12345)をコピーします。
  4. (任意)リテンションポリシーを設定します。デフォルトは通常7日間です。

2. サンプルログイベントの作成

以下を app-log.json として保存し、クラウドアプリのログをシミュレートします。

{
"timestamp": "2025-11-15T08:30:00Z",
"service": "payment-gateway",
"level": "ERROR",
"message": "Transaction failed: Gateway timeout",
"transaction_id": "txn_998877",
"meta": {
"region": "us-east-1",
"customer_id": "cus_554433"
}
}
注記

適切なインデックス作成を確実にするため、timestamp は国際標準化機構(ISO)8601形式のままにしてください。

3. ログイベントの送信

curl を使用して、アプリがログを送信する様子をシミュレートします。

export STREAM_ID="your_stream_id_here"
export API_TOKEN="your_api_token_here"

curl -X POST "https://api.observability-platform.com/v1/streams/ingest" \
-H "Authorization: Bearer $API_TOKEN" \
-H "Content-Type: application/json" \
-H "X-Stream-Id: $STREAM_ID" \
-d @app-log.json

期待されるレスポンス

{
"status": "accepted",
"ingest_id": "evt_abc12345",
"accepted_items": 1
}

status: accepted と表示されれば、パイプラインはデータを受信しています。

4. ライブデータビューアーでのログの確認

  1. プラットフォームUIで Explore または Live Tail に移動します。
  2. ストリーム(st_12345)を選択します。
  3. フィルタ service == "payment-gateway" を追加します。
  4. イベントが即座に表示されます。
[ERROR] 2025-11-15T08:30:00Z service=payment-gateway msg="Transaction failed..."

5. デスティネーションへのログのルーティング

データが流れ始めたら、ルーティングルールを作成します。

  1. Pipelines > Routing Rules に移動します。
  2. New Rule をクリックします。
  3. フィルタ: level == "ERROR"
  4. アクション: S3-ArchiveSlack-Alerts にルーティング。
  5. Save & Deploy

再度 curl リクエストを送信します。

  • S3バケットを確認します。
  • Slackチャンネルを確認します。

6. パイプラインの最適化

フローが機能するようになったら、以下の追加を検討してください。

  • パース: customer_id を最上位のフィールドとして抽出します。
  • 付与: service 名に基づいて team_owner タグを追加します。
  • マスク: customer_id が個人を特定できる情報(PII)である場合、難読化します。

トラブルシューティング

エラーコード考えられる原因 / 解決策
401 UnauthorizedAPIトークンの権限を確認してください。
400 Bad RequestJSONの構文を確認してください。
404 Not FoundX-Stream-Id が正しいか確認してください。
タイムスタンプの問題協定世界時(UTC)ISO 8601形式を使用していることを確認してください。
データが表示されない新しいログを除外するアクティブなフィルタがないか確認してください。

次のステップ