導航:首頁 > 凈水問答 > kibana自定義過濾器

kibana自定義過濾器

發布時間:2025-06-17 02:23:08

A. 你居然還去伺服器上撈日誌,搭個日誌收集系統難道不香么

打造線上環境真實可用的日誌收集系統,ELK環境安裝為關鍵,藉助Elasticsearch、Kibana、Logstash搭建,採用最新版本的docker-compose腳本,簡化部署步驟。
分場景收集日誌,提升效率,將日誌分為四類,Logback配置解析,為實現分場景收集奠定基礎。在SpringBoot中自定義Logback配置,通過logback-spring.xml文件,實現個性化日誌管理。
默認配置滿足大部分需求,console-appender.xml提供標准控制台輸出配置,springProperty標簽從SpringBoot配置文件中獲取動態參數,如服務地址,靈活適應不同環境。
利用filter過濾器,控制日誌輸出,ThresholdFilter過濾掉低於指定級別的日誌,LevelFilter根據級別進行過濾,確保關鍵信息不被遺漏。Appender定義輸出形式,包含控制台、文件、網路等輸出渠道,靈活定製日誌展示方式。
針對框架內部日誌,調整級別設置,如將DEBUG級別日誌調整為INFO以上級別,優化日誌輸出,保持系統運行高效穩定。
Logstash配置詳解,實現分場景日誌收集,通過策略控制日誌流向特定輸出渠道。在SpringBoot中配置覆蓋Logback配置,如logging.level.root等,實現全局日誌級別調整。
Kibana進階使用,將搭建的ELK環境整合,利用Kibana進行日誌分析與搜索,掌握日誌可視化技巧,實現日誌數據的高效管理與利用。

B. Wireshark+Elasticsearch+Kibana打造流量回溯系統

流量回溯系統捕獲和分析數據流程,一般由以下幾個步驟組成:
1.數據包捕獲 -記錄網路上的數據包流量。
2.協議解析 -解析不同的網路協議和欄位。
3.搜索和可視化 -詳細或匯總瀏覽數據。

從 Wireshark 3.0.0rc1 開始,TShark可以使用 -G elastic-mapping 選項,生成Elasticsearch映射文件,存儲在Elasticsearch中並進行瀏覽,使得TShark解析結果可以在在Kibana中進行搜索和可視化。
下面,我將展示如何使用Wireshark和Elastic Stack來建立流量回溯系統:

Packetbeat 可以配置為捕獲實時網路數據包,並使用 -I 選項從捕獲文件中讀取數據包。它可以識別和解析許多應用程序級協議,例如HTTP,MySQL和DNS,以及常規流信息。但packetbeat對報文採用會話方式分析,不能對一個個報文單獨分析,傾向於應用層,對網路層面分析不足,並且支持的協議有限,tshark的2000多種存在明顯差距。

Wireshark是最受歡迎的數據包捕獲和分析軟體,它可以識別 2,000多個協議,其中包含200,000多個欄位 。除GUI界面操作外,它還提供命令行實用程序 tshark 來捕獲實時流量以及讀取和解析捕獲文件。作為其輸出, tshark 可以生成報告和統計信息,還可以分析不同文本格式的數據包數據。

自2.2版( 2016年9月發布 )以來, tshark 支持的 Elasticsearch Bulk API 的JSON格式輸出。

將在 eth0 網路介面上實時捕獲數據包,並以Elasticsearch Bulk API格式輸出到文件 packets.json 。

將從捕獲文件 capture.pcap 中讀取數據包,並作為JSON格式輸出為Elasticsearch Bulk API格式到文件 packets.json 。

將從捕獲文件 capture.pcap 中讀取數據包,過濾HTTP協議指定欄位,並作為JSON格式輸出為Elasticsearch Bulk API格式到文件 packets.json 。

將從捕獲文件 capture.pcap 中讀取數據包,過濾HTTP協議指定欄位,並增加"|"分隔符以txt格式輸出到文件 packets.txt 。

從5.0版開始,Elasticsearch提出了Ingest Pipeline的概念。一個pipeline 由一系列線程組成,這些可以對數據進行許多不同的更改。

Pipeline示例如下:

該Pipeline只是簡單更改數據包將被寫入的Elasticsearch索引(默認值為 packets-YYYY-MM-DD )。要在導入數據時使用此管道,請在URL中指定它:

有關更多信息,請參見 Ingest模塊文檔 和新的攝取方式- 第1 部分 , 第2部分 。

Filebeat和Logstash都有等效的配置選項,用於在將數據發送到Elasticsearch時指定接收Pipeline。

Logstash是Elastic Stack的一部分,並用作數據處理線程。它可以用來讀取Elasticsearch Bulk API格式的數據,並在將數據發送到Elasticsearch之前對數據執行更復雜的轉換和充實。

配置示例為:
logstash.conf

grok過濾器從,格式為「 protocol:protocol:protocol 」的 frame_frame_protocols 欄位(例如「 eth:ethertype:ip:tcp:http 」 )中提取最內層的網路協議名稱,到頂級「 protocol 」欄位中。

Wireshark解析的原始數據包含大量欄位,這些欄位種絕大多數不會搜索或匯總,因此在所有這些欄位上創建索引通常不是正確的選擇。
欄位太多會降低索引和查詢速度, Elasticsearch 5.5開始,默認會將索引中的欄位數限制為1000 。另外, tshark -T ek 無論原始數據欄位值是文本還是數字,包括時間戳和IP地址,均輸出為字元串。
如果要指定正確的數據類型,將數字索引為數字,將時間戳作為時間戳等,防止索引欄位激增,應顯式指定Elasticsearch映射。

Elasticsearch映射例子如下:

要將 tshark -T ek 的輸出數據導入到Elasticsearch中,有以下幾種方式。

Filebeat非常輕巧,可以監視一組文件或目錄中是否有任何新文件,並自動對其進行處理。讀取Tshark輸出文件並將數據包數據發送到Elasticsearch。

示例配置如下所示:
filebeat.yml

與Filebeat一樣,Logstash可以監視目錄中的新文件並自動對其進行處理。與Filebeat相比,它比Elasticsearch Ingest Pipeline可以更廣泛地轉換數據。

有關Logstash配置的示例,請參見3.1轉換數據的部分。

在Kibana中,您現在可以瀏覽數據包並在它們之上構建儀錶板。

*網路數據詳細視圖,包括一個表格,該表格在可擴展的行中顯示原始數據包數據

*顯示網路協議分布的餅圖

由於來自Wireshark的網路數據具有與syslog等不同的數據格式,因此更改Kibana中的某些設置(「管理」選項卡->「 Kibana高級設置」)很有意義。

Kibana配置如下:

參考

C. logstash 分割 Nginx 指定分隔符日誌

在Nginx的日誌管理中,通過特定的分隔符對日誌進行定製化處理。默認的Nginx日誌格式可以根據需要進行調整,以便於後續的分析和處理。

Logstash作為數據處理工具,其Dissect過濾器發揮了關鍵作用。與常規的拆分方法不同,Dissect能夠對字元串值應用一組分隔符,而不是單一的正則表達式,從而保證了快速且精確的拆分過程。這種方式避免了復雜的正則匹配,提高了效率。

要觀察和分析這些處理後的數據,可以通過Kibana的Discover模塊,選擇JSON格式,直觀地查看和探索數據內容。Kibana的可視化界面為數據分析提供了強大的工具,使我們能夠深入理解日誌信息的結構和內容。

最後,分享一下Logstash的配置文件,它詳細地定義了如何使用Dissect過濾器處理Nginx日誌,以便於其他用戶參考和實現類似的功能。

D. Elasticsearch:和 LIamaIndex 的集成

Elasticsearch與LLamaIndex集成:構建私有數據框架


LLamaIndex是一個開源的數據框架,專為LLM應用程序設計,用於處理和訪問特定領域的私有數據。通過GitHub可以獲取該項目的源代碼以構建多樣化的應用程序。


為了在Docker中設置Elasticsearch,首先,您可以參考"如何在Docker上運行Elasticsearch 8.x"的教程,啟動單節點實例。使用docker-compose啟動,不啟用安全配置,如下所示:


.env
docker-compose.yml

通過命令行啟動後,Elasticsearch和Kibana就安裝並運行了,但請注意,生產環境不建議使用這種配置。


在應用設計階段,我們將使用Jupyter notebook進行。首先安裝Python依賴:


安裝Python依賴的命令

接著創建.env文件,配置OpenAI key:


.env

連接到Elasticsearch時,可以使用以下示例代碼:


連接Elasticsearch的代碼示例

然後,載入文檔並使用Elasticsearch構建VectorStoreIndex,如文檔 pau_graham_essay.txt所示:


在進行基本查詢和元數據過濾時,可以利用這些結構進行文本檢索。例如,搜索 "weather is so beautiful" 會得到特定結果。然而,自定義過濾器和覆蓋查詢是Elasticsearch的高級功能,LLamaIndex目前僅支持ExactMatchFilters,其他復雜過濾器可能需要直接在Elasticsearch中使用。


想要深入了解和實踐,可以訪問我的GitHub項目:github.com/liu-xiao-guo/semantic_search_es,查看相關文件。


繼續深入學習高級文本檢索技術,如句子窗口檢索,將有助於您更好地利用Elasticsearch和LLamaIndex。

E. Elasticsearch:語義搜索快速入門

在本文中,我們將使用互動式 Jupyter Notebook 和 Elasticsearch 的 Python 客戶端,介紹如何實現基本操作。首先,我們將通過 Sentence Transformers 進行文本嵌入的語義搜索,整合傳統的基於文本的搜索與語義搜索,形成混合搜索系統。使用模型自帶的功能進行文本向量化,而無需依賴 Elasticsearch 的 ingest pipeline,這一方法完全免費。若需使用 ingest pipeline 進行向量化,推薦參考文章 「Elasticsearch:使用 huggingface 模型的 NLP 文本搜索」。

在進行實際操作之前,請確保已安裝好自己的 Elasticsearch 及 Kibana,參考安裝指南進行操作。在使用最新的 Elastic Stack 8.10 進行演示時,記得記錄安裝過程中所需的信息。本次演示中,我們將使用 Python 來展示操作過程,需安裝相應的 Elasticsearch Python 客戶端包 elasticsearch。JupyterNotebook 將是本次演示的平台。

接下來,我們將創建應用並展示如何設置嵌入模型。以 all-MiniLM-L6-v2 為例,這是 sentence_transformers 庫的一部分,可在 Huggingface 上了解更多關於此模型的信息。隨後,初始化 Elasticsearch 客戶端,確保其與部署連接成功。

為了驗證 Elasticsearch 查詢的基礎知識,我們將攝入一些數據。數據集包含書籍索引,具體信息將在當前項目的根目錄下通過 books.json 文件提供。基於此數據,我們將創建一個 Elasticsearch 索引,並上傳測試數據。執行命令後,可在 Kibana 中查看結果。

為了方便閱讀 API 調用返回的嵌套 JSON,我們將創建一個名為 Pretty_response 的函數,以生成人類可讀的輸出。在此基礎上,我們執行查詢,對與給定查詢相似的書籍進行語義搜索。通過嵌入查詢並執行搜索,我們實現了這一目標。

在查詢過程中,我們利用過濾器上下文對結果進行細化。它主要用於過濾結構化數據,如使用過濾器上下文來回答特定問題。每當查詢子句傳遞給過濾器參數時(例如布爾查詢中的 filter 或 must_not 參數),過濾器上下文將生效。了解更多關於過濾器上下文的信息,可參閱 Elasticsearch 文檔。

通過向查詢中添加關鍵字過濾器,我們可以縮小結果范圍。例如,僅包含「publisher」欄位等於「addison-wesley」的文檔。利用生成的密集向量嵌入,我們檢索類似於「Best javascript books?」的熱門書籍,基於它們的 title 向量,並以「addison-wesley」作為出版商。高級過濾在 Elasticsearch 中提供多種運算符,用於根據特定欄位、范圍或條件精確細化搜索結果。

最後,我們將研究兩種搜索演算法的組合:用於文本搜索的 BM25 和用於最近鄰搜索的 HNSW。結合多種排名方法,如 BM25 和生成密集向量嵌入的 ML 模型,可以實現最佳排名結果。這種方法能夠利用每種演算法的優勢,提高整體搜索性能。倒數排名融合 (RRF) 是一種先進的排名演算法,用於組合不同信息檢索策略的結果,支持開箱即用的一流混合搜索。

完整演示的 Jupyter 文件可從指定地址下載。請注意,本文為 CSDN 博主「Elastic 中國社區官方博客」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載時需附上原文出處鏈接及本聲明。

閱讀全文

與kibana自定義過濾器相關的資料

熱點內容
對甲苯胺樹脂合成 瀏覽:355
濾芯用完怎麼加水 瀏覽:466
凈水器接頭什麼牌子最好 瀏覽:402
活性炭濾芯耗材多少錢 瀏覽:971
超濾管國產 瀏覽:141
紡織廢水pac加葯量一般是多少 瀏覽:428
福建中效袋式過濾器 瀏覽:19
南京公司水處理葯劑 瀏覽:776
離子交換樹脂的交換容量定義 瀏覽:403
碾磨機廢水 瀏覽:515
電鍍廢水如何消除cod 瀏覽:175
廣饒草西污水處理廠 瀏覽:980
英山縣污水改造 瀏覽:375
礦泉水廠廢水 瀏覽:244
化糞池前污水管直徑多少 瀏覽:846
低溫潤滑油蒸餾過濾 瀏覽:112
英非尼迪空調濾芯在哪裡 瀏覽:730
雲浮生活污水多少錢 瀏覽:557
清洗華帝熱水器水垢視頻 瀏覽:631
檸檬酸鈉除水垢的劑量 瀏覽:266