ElasticSearch 可觀測性最佳實踐

ElasticSearch 概述

ElasticSearch 是一個開源的高擴展的分布式全文檢索引擎,它可以近乎實時的存儲、檢索數據;本身擴展性很好,可以擴展到上百臺服務器,處理 PB 級別(大數據時代)的數據。ES 也使用 Java 開發并使用 Lucene 作為其核心來實現所有索引和搜索的功能,但是它的目的是通過簡單的 RestFul API 來隱藏 Lucene 的復雜性,從而讓全文檢索變得簡單。

所以,ElasticSearch 的監控顯得尤為重要,可以幫助我們進行性能優化、資源管理、容量規劃、故障檢測和預防,及時發現和解決問題,確保系統的高效和穩定運行。

  • 實時性:ElasticSearch 能夠實時地存儲、檢索和分析數據,使得用戶能夠快速獲得最新的搜索結果和分析數據;
  • 分布式:ElasticSearch 采用分布式架構,能夠水平擴展,處理 PB 級結構化或非結構化數據,同時具有高可用性和容錯性;
  • 多樣化的搜索和分析功能:ElasticSearch 支持全文搜索、結構化查詢、過濾、地理空間查詢和復雜的分析功能。

觀測云

觀測云是一個統一實時監測平臺,它提供全面的系統可觀測性解決方案,幫助用戶快速實現對云平臺、云原生、應用及業務的監控需求。觀測云的核心功能包括:基礎設施監測,日志采集和分析,用戶訪問監測(RUM),應用性能監測(APM),服務可用性監測(撥測),安全巡檢,智能監控等等。

DataKit 提供 ElasticSearch 指標和日志的采集,安裝好 DataKit 之后,開通 ElasticSearch 采集器,即可采集 ElasticSearch 指標和日志到觀測云。

部署 DataKit

登錄觀測云控制臺,點擊「集成」 -「DataKit」 - 「Linux」,拷貝第 2 步中的安裝命令。

安裝完成后,DataKit 會提示您使用 datakit monitor 來檢查 DataKit 的運行狀態,如下圖所示:

采集器配置

指標采集配置

Tips: ElasticSearch 版本 >= 6.0.0

適用于虛擬機部署的 ElasticSearch 監控,使用主機安裝方式安裝 DataKit 后,在?/usr/local/datakit/conf.d/db?目錄下,復制?elasticsearch.conf.sample?為?elasticsearch.conf

# 根據實際情況進行修改,如果有賬號密碼,可進行如下配置
servers = ["http://user:pass@localhost:9200"]
# 若賬號密碼有特殊字符,也可以在這里添加賬號密碼# HTTP Basic Authenticationusername = "xxx"password = "yyy"# 重啟DK
datakit service -R
日志采集配置

采集 ElasticSearch 的日志,可在 elasticsearch.conf 中 將 files 打開,并寫入 ElasticSearch 日志文件的絕對路徑。

[[inputs.elasticsearch]]...
[inputs.elasticsearch.log]
files = ["/path/to/your/file.log"]

開啟日志采集以后,默認會產生日志來源(source)為 elasticsearch 的日志。

執行?datakit monitor?顯示如下:

關鍵指標

指標描述單位
status_code集群狀態count
os_cpu_percent集群CPU使用率count
os_mem_used_percent集群內存使用率count
jvm_mem_heap_used_percent集群堆內存使用率count
number_of_data_nodes數據節點count
number_of_pending_tasks待處理任務數count
active_primary_shards活躍主分片count
active_shards活躍分片count
initializing_shards初始化中分片count
relocating_shards遷移中的分片count
indices_lifecycle_error_count錯誤狀態索引count
unassigned_shards未分配的分片count
primaries_docs_count主分片文檔數量count
primaries_docs_deleted主分片已刪除文檔數量count
total_docs_count文檔數量count
total_docs_deleted已刪除文檔數量count
total_flush_total_time_in_millisflush總時間ms
total_refresh_totalflush總數count
total_store_size_in_bytes存儲大小B
total_merges_current_docs當前正在運行的文檔合并數count
total_merges_total_docs合并文檔的總數count
total_indexing_index_current當前正在運行的索引操作數count
total_indexing_index_total索引操作的總數count
total_search_query_current當前查詢數count
total_search_query_total總查詢數count
total_search_query_time_in_millis執行查詢操作花費時間ms
total_search_fetch_time_in_millis執行獲取操作花費時間ms

視圖

登錄觀測云控制臺,點擊「場景」 -「新建儀表板」,模板庫系統視圖中,輸入 “ElasticSearch ”, 選擇“ElasticSearch 監控視圖”,點擊“確定”。

監控器

  • 查詢耗時過長

  • 當前文檔存儲空間不足

  • 集群狀態異常

  • 查詢拒絕率過高

總結

通過觀測云監控 ElasticSearch 關鍵指標,可以幫助我們優化查詢、提前容量規劃及告警,及時響應和處理出現的各種問題,同時對于系統優化和業務開展提供了數據支撐。

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

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

相關文章

Excel處理控件Spire.XLS系列教程:C# 在 Excel 中添加或刪除單元格邊框

單元格邊框是指在單元格或單元格區域周圍添加的線條。它們可用于不同的目的,如分隔工作表中的部分、吸引讀者注意重要的單元格或使工作表看起來更美觀。本文將介紹如何使用 Spire.XLS for .NET 在 C# 中添加或刪除 Excel 單元格邊框。 安裝 Spire.XLS for .NET E-…

前端Wind CSS面試題及參考答案

目錄 標準盒模型與 IE 盒模型的區別是什么?如何通過 box-sizing 屬性切換這兩種盒模型? 如何計算一個元素在標準盒模型下的總寬度(包含 margin、padding、border)? 父元素高度塌陷的原因是什么?請列舉至少 3 種清除浮動的方法。 方法一:使用 clear 屬性 方法二:使用…

基于 ECharts 實現動態圖表渲染支持10萬+數據點實時更新方案

引言 實現支持10萬數據點實時更新的動態圖表渲染確實具有挑戰性,尤其是在性能和用戶體驗方面。以下是一些關鍵點和應用場景: 關鍵挑戰 性能優化: 渲染性能:大量數據點會導致瀏覽器渲染壓力大,可能引發卡頓。數據處理…

裝飾器模式 (Decorator Pattern)

裝飾器模式 (Decorator Pattern) 是一種結構型設計模式,它動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾器模式相比生成子類更為靈活。 一、基礎 1 意圖 動態地給一個對象添加一些額外的職責。 就增加功能來說,裝飾器模式相比生成子類更為靈活。 2 適用場景 當…

【Java】TCP網絡編程:從可靠傳輸到Socket實戰

活動發起人小虛竹 想對你說: 這是一個以寫作博客為目的的創作活動,旨在鼓勵大學生博主們挖掘自己的創作潛能,展現自己的寫作才華。如果你是一位熱愛寫作的、想要展現自己創作才華的小伙伴,那么,快來參加吧&#xff01…

藍橋杯C++基礎算法-0-1背包

這段代碼實現了一個經典的0-1 背包問題的動態規劃解法。0-1 背包問題是指給定一組物品,每個物品有其體積和價值,要求在不超過背包容量的情況下,選擇物品使得總價值最大。以下是代碼的詳細思路解析: 1. 問題背景 給定 n 個物品&am…

html5炫酷的科技感3D文字效果實現詳解

炫酷的科技感3D文字效果實現詳解 這里寫目錄標題 炫酷的科技感3D文字效果實現詳解項目概述核心技術實現1. 3D文字效果2. 故障藝術效果(Glitch Effect)3. 動態網格背景4. 掃描線效果5. 粒子效果 性能優化考慮技術難點與解決方案項目總結擴展優化方向 項目…

車道保持中車道線識別

需要讓小車保持車道行駛,首先需要進行車道線識別。 也可參看論文(上傳到資源里):自動駕駛汽車車道檢測與預測的技術解析-基于圖像處理和Hough變換的方法 1 車道識別流程 想進行車道線識別,并且希望在圖像中選擇一個特…

英偉達有哪些支持AI繪畫的 工程

英偉達在AI繪畫領域布局廣泛,其自研工具與第三方合作項目共同構建了完整的技術生態。以下是其核心支持AI繪畫的工程及合作項目的詳細介紹: 一、英偉達自研AI繪畫工具 1. GauGAN系列 技術特點:基于生成對抗網絡(GAN)&…

驅動開發的引入

1.引入 Linux內核的整體架構本就非常龐大,其包含的組件也非常多。而我們怎樣把需要的部分都包含在內核中呢? 一種方法是把所有需要的功能都編譯到Linux內核中。這會導致兩個問題,一是生成的內核會很大,二是如果我們要在現有的內核中新增或刪…

AI日報 - 2025年3月24日

🌟 今日概覽(60秒速覽) ▎🤖 AGI突破 | Lyra生物序列建模架構效率驚人 在100生物任務中達最優,推理速度提升高達12萬倍 ▎💼 商業動向 | OpenAI用戶破4億,Meta與Reliance探討AI合作 生態擴展與全…

VMware上對CentOS7虛擬機進行磁盤擴容、縮容

在VMware 17 Pro上對CentOS 7虛擬機進行磁盤擴容,同時保證原先部署的軟件正常使用,可以按照以下步驟進行操作: 一、擴容 步驟一:關閉虛擬機并在VMware中擴展磁盤容量 關閉虛擬機:在VMware Workstation 17 Pro中&…

.gitignore使用指南

.gitignore使用指南 目錄 什么是.gitignore為什么需要.gitignore如何創建.gitignore文件.gitignore文件的語法規則 忽略單個文件忽略目錄忽略特定類型的文件不忽略特定文件或目錄遞歸匹配 示例.gitignore文件注意事項更多特殊場景匹配規則 忽略多個特定后綴的文件忽略特定目錄…

OpenCV旋轉估計(3)幫助構建一個最大生成樹(Maximum Spanning Tree)函數findMaxSpanningTree()

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::detail::findMaxSpanningTree 是 OpenCV 中用于圖像拼接工作流的一個函數,它幫助構建一個最大生成樹(Maximum Spanni…

Android在kts中簡單使用AIDL

Android在kts中簡單使用AIDL AIDL相信做Android都有所了解,跨進程通信會經常使用,這里就不展開講解原理跨進程通信的方式了,最近項目換成kts的方式,于是把aidl也換成了統一的方式,其中遇到了很多問題,這里…

論文閱讀:2024-NAACL Semstamp、2024-ACL (Findings) k-SemStamp

總目錄 大模型安全相關研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Semstamp: A semantic watermark with paraphrastic robustness for text generation https://aclanthology.org/2024.naacl-long.226/ k-SemStamp: A Clustering-Based Semantic Wate…

物化視圖詳解:數據庫性能優化的利器

物化視圖(Materialized View)作為數據庫性能優化的核心手段,通過預計算和存儲查詢結果,顯著提升了復雜查詢的效率。本文將深入剖析物化視圖的工作原理、應用場景及最佳實踐,幫助企業在合適的場景中充分發揮其性能優勢。…

快速入手:Nacos融合SpringCloud成為注冊配置中心

快速入手:Nacos融合SpringCloud成為注冊配置中心 前言安裝Nacos項目搭建添加配置啟動類添加注解運行項目服務調用RestTemplate 模式FeignClient 模式 Gateway 網關 前言 Spring Cloud是一系列框架的集合,提供了微服務架構下的各種解決方案,如…

2025年2月-3月后端go開發找工作感悟

整體感悟 目標 找工作首先要有一個目標,這個目標盡可能的明確,比如我要字節、拼多多之類的公司,還是要去百度、滴滴這樣的,或者目標是創業公司。但是這個目標是會動態調整的,有可能我們的心態發生了變化,一…

Python | 如何在Pandas中刪除常量列

在數據分析中,經常會遇到數據集中始終具有常量值的列(即,該列中的所有行包含相同的值)。這樣的常量列不提供有意義的信息,可以安全地刪除而不影響分析。 如: 在本文中,我們將探索如何使用Pyth…