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

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

このガイドでは、オブザーバビリティパイプラインのワークフロー内で、単一の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 として保存し、クラウドアプリのログをシミュレートします。

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 を使用して、アプリがログを送信する様子をシミュレートします。

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

期待されるレスポンス​

Response
{
"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. イベントが即座に表示されます。
Live tail output
[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-Archive と Slack-Alerts にルーティング。
  5. Save & Deploy。

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

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

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

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

  • Remapping: remap meta.customer_id to a top-level attribute for easier filtering and faceting.
  • Parsing: extract error codes or transaction IDs from raw message strings using a Grok parser.
  • Enrichment: add a team_owner tag based on the service name.
  • Masking: obfuscate customer_id if it's personally identifiable information (PII).

トラブルシューティング​

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

今後の手順​

今後の手順​