簡體   English   中英

無法將日志從 kinesis firehose 發送到 opensearch

[英]Unable to send logs from kinesis firehose to opensearch

我有一個工作流程,其中:

  • 所有 cloudwatch 日志都將流式傳輸到 Kinesis Firehose Delivery Stream。
  • 從 Kinesis Firehose Delivery Stream 發送到 Opensearch。

但是, Kinesis 無法將數據放入 opensearch 並返回錯誤

The Amazon OpenSearch Service cluster returned a JsonParseException. Ensure that the data being put is valid.

我已經嘗試了所有可用的 Lambda firehose 藍圖來轉換記錄,但沒有運氣。

任何建議表示贊賞。

謝謝你。

我舉了一張 AWS 票並得到了這個回復

我了解到您正在實施以下數據流:

Logger Lambda--> Cloudwatch 日志組--> Firehose(Lambda 轉換)--> Streaming to Opensearch

您遇到來自 OpenSearch 服務的以下錯誤消息:

-- 錯誤消息:Amazon OpenSearch Service 集群返回了 JsonParseException。 確保放置的數據有效。 錯誤代碼:OS.JsonParseException

根據錯誤消息,它表明發送到 OpenSearch 集群的數據不是有效的 JSON object。Cloudwatch 日志組將在一條記錄中針對 firehose 發送多個日志,這導致無效的 JSON 被發送到 OpenSearch 集群,因為 OpenSearch 僅接受單個 JSON object 作為數據格式。 同時,Firehose 不允許傳回比傳遞給其轉換 Lambda function 的記錄更多的記錄。因此,無法使用當前管道。

AWS 支持建議的解決方法

  1. CloudWatch 日志 -> 運動數據 Stream -> Lambda -> Firehose -> OpenSearch
  2. CloudWatch 日志 -> Lambda -> Firehose -> OpenSearch
  3. CloudWatch 日志(訂閱過濾器)-> OpenSearch

我想知道您對此的看法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM