失敗存儲:查看未成功的內容

作者:來自 Elastic?James Baiera?及?Graham Hudgins

了解失敗存儲,這是 Elastic Stack 的一項新功能,用于捕獲和索引之前丟失的事件。

想獲得 Elastic 認證嗎?看看下一期 Elasticsearch Engineer 培訓什么時候開始!

Elasticsearch 擁有豐富的新功能,幫助你為自己的用例構建最佳搜索解決方案。深入學習我們的示例筆記本,開始免費的云試用,或立即在本地運行 Elastic。


如果一棵樹在森林里倒下,而周圍沒有人,它會發出聲音嗎?答案是會的。就像一條日志消息被發出但未能處理進你的可觀測性平臺時,這條日志確實發生了 —— 而且如果它很重要,你幾乎肯定最終會聽說它。

Elastic 能夠適應系統發出的各種數據:日志、指標、跟蹤、自定義遙測等。但當這些數據因為模式變化、代理配置錯誤或某個異常服務發出意外字段而不符合預期格式時,它可能無法處理,并會悄無聲息地消失。

這種缺失本身就是一種信號。但它很難被檢測、很難調試、也很難報告。更糟的是,它把問題甩給了客戶端去查明原因。

這就是我們構建 失敗存儲 的原因:一種全新的方式,可以直接在 Elastic Stack 中捕獲、調試和分析失敗的事件。在這篇博客中,我們將介紹 Elastic 的失敗存儲,并解釋它如何提供數據攝取問題的可見性、幫助調試模式變化、讓團隊能夠監控數據質量并精準定位失敗模式。

關于失敗存儲

失敗存儲讓你能夠看到以前只有發送數據的客戶端和死信隊列才能看到的失敗事件。它通過將失敗的文檔捕獲并索引到專用的 ::failures 索引中來工作,這些索引與生產數據一起存在于你的數據流中。你可以按數據流啟用它,也可以通過一個集群設置在多個數據流中啟用。

重要性

團隊通常處于真實數據源的下游。他們不寫代碼,只是維持系統運行。當上游團隊發布的更改破壞了映射或引入了意外字段時,就會發生失敗。但如果無法訪問原始的失敗數據,調試就只能靠猜。

更糟的是,當數據無法被索引時,它就不存在于你的索引中 —— 這意味著更難評估影響。你無法追蹤哪個數據流失敗最頻繁,也無法量化管道損壞的程度。如果平臺從未接收到這些數據,你當然無法對缺失內容發出告警(除了當數據缺失時的告警)。

故障存儲使開發人員能夠了解哪些數據索引失敗以及失敗原因,從而為可觀測性工程師提供快速了解和修復數據提取故障所需的工具。由于故障存儲在 Elasticsearch 中,因此分類也非常迅速,無需從遠程客戶端或數據采集器收集信息。

開始使用

為新的數據流進行設置…

PUT _index_template/my-index-template
{"index_patterns": ["my-datastream-*"],"data_stream": { },"template": {"data_stream_options": {"failure_store": { // ?"enabled": true } }}
}

…或為現有數據流啟用

在 Kibana 的 Stack 管理中為單個數據流啟用失敗存儲,或使用 _data_stream API:

PUT _data_stream/my-existing-datastream/_options
{"failure_store": {"enabled": true}
}

通過集群設置啟用失敗存儲

如果你有大量現有數據流,可能希望在一個地方統一啟用它們的失敗存儲。無需單獨更新每個數據流的選項,只需在集群設置中將 data_streams.failure_store.enabled 設置為索引模式列表。任何匹配這些模式的數據流都將啟用失敗存儲。

PUT _cluster/settings
{"persistent" : {"data_streams.failure_store.enabled" : [ "my-datastream-*", "logs-*" ]}
}

失敗文檔響應

啟用失敗存儲后,以前會失敗的請求現在會有不同的處理方式。客戶端現在會收到 201 Created,而不是 400 Bad Request。特別是如果你使用自定義應用或我們的語言客戶端,請確保相應更新代碼。當文檔進入失敗存儲時,響應中會包含 failure_store: used 屬性。

{"_index": ".fs-logs-generic.otel-default-2025.07.31-000010","_id": "2K9IYpgBfukt97YIaUPG","_version": 1,"result": "created","_shards": {"total": 2,"successful": 1,"failed": 0},"_seq_no": 0,"_primary_term": 1,"failure_store": "used"
}

像處理其他日志一樣搜索和篩選失敗數據,支持 ES|QL 和 Kibana 工具:

  FROM logs-generic.otel-default::failures

失敗存儲中的數據包含所有上下文信息,使調試更簡單。每個 ::failures 索引都包含管道失敗的信息,以及具體的錯誤消息、堆棧跟蹤和錯誤類型,幫助你識別模式。

如果你遇到大量錯誤,不知道從哪里開始,可以使用 ES|QL 和 ML 功能。通過 ES|QL 暴露的數據,可以利用 ML 功能(如 CATEGORIZE)分析錯誤,幫助解析錯誤并提取模式。在我們的文檔中可以關于數據修復的技術。

使用你已經用于其他數據的數據流生命周期來控制成本和保留時間。如果沒有自定義保留策略,失敗存儲數據將保留 30 天。

通過失敗指標和按失敗百分比可排序的儀表板隨時間監控數據質量,發現需要調查的新問題區域。在文檔中可以關于數據質量監控的內容。

了解更多

失敗存儲從 Elastic 9.1 和 8.19 開始可用,并將在即將發布的版本中默認在 logs-*-* 索引上啟用。想了解更多,請查閱文檔獲取設置說明和最佳實踐。

原文:Failure store: see what didn’t make it - Elasticsearch Labs

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/919233.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/919233.shtml
英文地址,請注明出處:http://en.pswp.cn/news/919233.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于Spring Boot+Vue的萊元元電商數據分析系統 銷售數據分析 天貓電商訂單系統

🔥作者:it畢設實戰小研🔥 💖簡介:java、微信小程序、安卓;定制開發,遠程調試 代碼講解,文檔指導,ppt制作💖 精彩專欄推薦訂閱:在下方專欄&#x1…

Node.js/Python 實戰:封裝淘寶商品詳情 API 客戶端庫(SDK)

在開發電商相關應用時,我們經常需要與淘寶 API 交互獲取商品數據。直接在業務代碼中處理 API 調用邏輯會導致代碼冗余且難以維護。本文將實戰演示如何使用 Node.js 和 Python 封裝一個高質量的淘寶商品詳情 API 客戶端庫(SDK),使開…

【Docker】關于hub.docker.com,無法打開,國內使用dockers.xuanyuan.me搜索容器鏡像、查看容器鏡像的使用文檔

🔧 一、國內鏡像搜索替代方案 國內鏡像源網站 毫秒鏡像:支持鏡像搜索(如 https://dockers.xuanyuan.me),提供中文文檔服務(https://dockerdocs.xuanyuan.me),可直接搜索鏡像名稱并…

2025盛夏AI熱浪:八大技術浪潮重構數字未來

——從大模型革命到物理智能,AI如何重塑產業與人機關系🌟 引言:AI從“技術爆炸”邁向“應用深水區」代碼示例:AI商業化閉環驗證模型# 驗證AI商業化閉環的飛輪效應 def validate_ai_flywheel(compute_invest, app_adoption): re…

從希格斯玻色子到 QPU:C++ 的跨維度征服

一、引言:粒子物理與量子計算的交匯點在當代物理學和計算機科學的前沿領域,希格斯玻色子研究與量子計算技術的交匯正形成一個激動人心的跨學科研究方向。希格斯玻色子作為標準模型中最后被發現的基本粒子,其性質和行為對我們理解物質質量的起…

Elasticsearch:如何使用 Qwen3 來做向量搜索

在這篇文章中,我們將使用 Qwen3 來針對數據進行向量搜索。我們將對數據使用 qwen3 嵌入模型來進行向量化,并使用 Qwen3 來對它進行推理。在閱讀這篇文章之前,請閱讀之前的文章 “如何使用 Ollama 在本地設置并運行 Qwen3”。 安裝 Elasticsea…

Mybatis實現頁面增刪改查

一、改變路由警告 二、實現新增數據 1.UserMapper.xml 2.Controller層 注意:前端傳的是json對象,所以后臺也需要使用JSON 3.設置提交的表單 <el-dialog title"信息" v-model"data.formVisible" width"30%" destroy-on-close><el-form…

Rabbitmq+STS+discovery_k8s +localpv部署排坑詳解

#作者&#xff1a;朱雷 文章目錄一、部署排坑1.1. configmap配置文件1.2. pv文件1.3. sc文件1.4. serviceAccount文件1.5. headless-service文件1.6. sts文件二、RabbitMQ集群部署關鍵問題總結一、部署排坑 1.1. configmap配置文件 編輯cm.yaml 文件 apiVersion: v1 kind: C…

8.14 模擬

lc658. deque 定長滑窗class Solution { public:vector<int> findClosestElements(vector<int>& arr, int k, int x) {int n arr.size();int l 0, r 0;deque<int> dq;while (r < n) {dq.push_back(arr[r]);if (dq.size() > k) {// 核心&#xf…

JavaScript 核心語法與實戰筆記:從基礎到面試高頻題

一、面試高頻:apply 與 call 調用模式的區別 apply 和 call 的核心作用一致——改變函數內 this 的指向并立即執行函數,唯一區別是參數傳遞方式不同: apply:第二個參數需以數組形式傳入,格式為 函數名.apply(this指向, [參數1, 參數2, ...]) 示例:test.apply(param, [1,…

自動駕駛系統“測試”的“要求”與“規范體系”

讓數據真正閉環的&#xff0c;L4級自動駕駛仿真工具鏈-杭州千岑智能科技有限公司&#xff1a;RSim。 自動駕駛系統測試的要求與規范體系 自動駕駛技術作為汽車產業智能化轉型的核心領域&#xff0c;其測試驗證環節直接關系到技術的安全性和可靠性。隨著自動駕駛等級的提高&…

人工智能——CNN基礎:卷積和池化

一、CNN入門介紹1、卷積神經網絡&#xff08;Convolutional Neural Network&#xff0c;簡稱 CNN&#xff09;是一種專門為處理具有網格結構數據&#xff08;如圖像、音頻&#xff09;而設計的深度學習模型。在傳統的全連接神經網絡&#xff08;FNN&#xff09;中&#xff0c;輸…

適用監測農作物長勢和病蟲害的高光譜/多光譜相機有哪些?

面對農作物長勢分析和病蟲害監測&#xff0c;光譜技術在農業中得到了有效的應用。本篇文章給大家介紹下適合監測農作物長勢和病蟲害的高光譜/多光譜相機。農作物在遭受病蟲害侵襲時&#xff0c;其葉片的細胞結構、水分含量、色素組成會發生變化&#xff0c;從而導致農作物對不同…

深度學習——03 神經網絡(4)-正則化方法價格分類案例

4 正則化 4.1 概述模型擬合的3種狀態左邊&#xff08;Underfitting 欠擬合&#xff09;&#xff1a;模型太簡單&#xff0c;沒抓住數據規律。比如用直線硬套彎曲的數據&#xff0c;預測效果差&#xff0c;訓練誤差和測試誤差都大&#xff1b;中間&#xff08;Just right 擬合合…

java16學習筆記

Java16是一個重要的特性發布&#xff0c;它為JAVA帶來了許多JVM特定的更改和語言特定的更改。它遵循了自JavaJava10以來引入的Java發布步調&#xff0c;并于2021年3月發布&#xff0c;僅在Java15發布后的六個月內發布。 Java 16是一個非LTS版本。 338:Vector API (Incubator)…

useCallback 的陷阱:當 React Hooks 反而拖了后腿

我有一支技術全面、經驗豐富的小型團隊&#xff0c;專注高效交付中等規模外包項目&#xff0c;有需要外包項目的可以聯系我很多代碼庫到處都是 useCallback / useMemo。初衷是好的&#xff1a;減少不必要的重新渲染、穩定引用、提速。然而&#xff0c;用錯場景或鋪天蓋地地包一…

【IntelliJ IDEA】如何在pom.xml中去除maven中未使用的依賴

pom.xml中去除maven中未使用的依賴主要解決的問題一、怎么做&#xff1f;二、重點依賴類型解析說明三、什么時候做&#xff1f;四、有什么風險要注意的&#xff1f;五、補充一個快捷方法使用六、IDEA的terminal中如何才能使用命令mvn呢&#xff1f;主要解決的問題 你的項目中p…

安卓9.0系統修改定制化____關于自啟腳本的規律、編寫與實戰示例 推薦收藏【二】

在定制化ROM服務中,許多功能都需要通過自啟腳本來實現。上期博文詳細解析了腳本編寫的規律、權限設置以及常見錯誤踩坑的排查與修復方法,并逐行解釋了腳本代碼的含義。掌握這些基礎知識后,這期再以實例演示的過程來使我們使用更得心應手。。 通過博文了解?????? 1?…

選擇gpt-5還是claude-4-sonnect

了解我的朋友都知道&#xff0c;我是一個偽全棧工程師&#xff0c;一個人加AI編程工具打天下。 最近&#xff0c;gpt-5已經出來有一段時間了&#xff0c;cursor第一時間就支持了gpt-5模型&#xff0c;我第一時間就嘗試了gpt-5效果。說實話&#xff0c;gpt-5和claude-4-sonnect都…

自動化運維實驗(二)---自動識別設備,并導出配置

目錄 一、實驗拓撲 二、實驗目的 三、實驗步驟 實驗思路&#xff1a; 代碼部分&#xff1a; 四、實驗結果&#xff1a; 一、實驗拓撲 二、實驗目的 ssh遠程登錄后&#xff0c;識別設備類型&#xff08;華三、華為、銳捷、山石、飛塔、深信服等&#xff09;&#xff0c;再…