一個完整的日志收集方案:Elasticsearch + Logstash + Kibana+Filebeat (二)

📄 本地 Windows 部署 Logstash 連接本地 Elasticsearch 指南

? 目標

  • 在本地 Windows 上安裝并運行 Logstash
  • 配置 Logstash 將數據發送至本地 Elasticsearch
  • 測試數據采集與 ES 存儲流程

🧰 前提條件

軟件版本要求安裝說明
Java17+Oracle JDK 下載 或 OpenJDK
Elasticsearch8.x / 7.xElasticsearch 下載
Logstash與 ES 版本一致Logstash 下載

💡 確保 Elasticsearch 已成功啟動,并監聽 http://localhost:9200


📦 步驟一:下載與解壓

  1. 下載 Logstash:
  • 訪問 Logstash 下載頁面
  • 選擇 ZIP 包(如 logstash-8.x.x.zip
  1. 解壓到本地路徑,例如:
    C:\elk\logstash-8.x.x
    

?? 步驟二:配置 Logstash

1. 創建配置文件

C:\elk\logstash-8.x.x\config 目錄下新建一個配置文件 logstash-to-es.conf,內容如下:

input {beats {port => 5044}
}filter {grok {match => { "message" => "%{TIMESTAMP_ISO8601:timestamp} \[%{DATA:thread}\] %{LOGLEVEL:level} %{DATA:logger} - %{GREEDYDATA:message}" }}
}output {elasticsearch {hosts => ["https://localhost:9200"]index => "springboot-logs-%{+YYYY.MM.dd}"ssl_enabled => truessl_verification_mode => "full"ssl_certificate_authorities => ["D:/dev/dev2025/EC0601/elasticsearch-9.0.1/config/certs/http_ca.crt"]# 使用 API Key 認證 id:api_keyapi_key => "V6VUSpcBUPesLBBNVAlH:O7l1zeyOwQFfy9w5Af_JTA"}stdout {codec => rubydebug}
}
  • stdin: 從控制臺輸入日志
  • elasticsearch: 輸出到本地 ES,索引按天分割
  • stdout: 控制臺輸出處理結果(調試用)

Elasticsearch API Key 權限機制說明

Elasticsearch 的 API key 可以綁定一組權限(privileges),這些權限可以包括:

  • 集群權限(Cluster privileges)
  • 索引權限(Index privileges)
  • 應用程序權限(Application privileges)

API key 的權限不能直接繼承用戶的角色權限,但可以通過創建帶有特定權限的 API key 實現類似效果。


如何給 API key 添加權限

這里通過 REST API 創建帶權限的 API Key

你可以使用如下請求來創建一個具有特定權限的 API key:

POST /_security/api_key
{"name": "logstash_api_key","role_descriptors": {"logstash_writer": {"cluster": ["monitor", "manage_index_templates"],"index": [{"names": ["*"],"privileges": ["read", "write", "create_index"]}]}}
}

在這里插入圖片描述

🧾 參數說明:
字段含義
nameAPI key 的名稱,方便識別
role_descriptors定義該 API key 所擁有的權限描述符
cluster集群級別權限,如 monitor, manage_index_templates
index.names索引模式,如 "logs-*""*"
index.privileges索引級別的權限,如 read, write, create_index

?? 注意:Elasticsearch 7.10+ 支持 role_descriptors 方式創建 API key 權限。

?? 步驟三:啟動 Logstash

打開命令提示符(CMD),進入 Logstash 根目錄并執行:

 bin/logstash.bat -f config/logstash-sample.conf --log.level debug  

logstash-9.0.2/logs/logstash-plain.log 注意以下連接es的日志消息,確認output配置是否有問題

在這里插入圖片描述

📄 Windows 本地部署 Filebeat 連接 Logstash 操作指南

? 一、目標

本指南旨在幫助用戶在 本地 Windows 系統 上完成以下操作:

  • 安裝并配置 Filebeat
  • 將 Filebeat 采集的日志發送到 本地運行的 Logstash
  • 實現日志采集 → 發送 → 接收的完整流程

🧰 二、環境要求

組件版本建議下載地址
操作系統Windows 10 / Windows Server(支持 Win7 及以上)-
Logstash與 Filebeat 版本一致(如 9.0.2)Elastic 官網
Filebeat與 Logstash 版本一致(如 9.0.2)Elastic 官網

?? 建議使用相同版本的 Elastic Stack 組件以避免兼容性問題。


🔧 三、部署步驟

安裝 Filebeat

  1. 訪問 Filebeat 下載頁面

  2. 下載適用于 Windows 的 ZIP 包,如:

    filebeat-9.0.2-windows-x86_64.zip
    
  3. 解壓到本地目錄,如:

    D:\filebeat
    

配置 Filebeat

編輯 D:\filebeat\filebeat.yml 文件,進行如下配置:

📁 設置日志輸入路徑(inputs)
filebeat.inputs:- type: filestreampaths:- D:/dev/dev2025/EC0601/logs/springboot-ai-rag-demo.logenabled: truefields:log_type: springboot-appapp_name: springboot-ai-rag-demofields_under_root: truemultiline:pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'negate: truematch: afteroutput.logstash:hosts: ["localhost:5044"]
#output.elasticsearch:
#  hosts: [ "localhost:9200" ]
#  username: "elastic"
#  password: "elastic"
# 啟用 HTTP 狀態接口
http.enabled: true
http.port: 5066
logging.level: debug
logging.selectors: ["*"]

日志內容為spirngboot應用日志:
在這里插入圖片描述

可以在項目中配置將日志輸出到 D:\dev\dev2025\EC0601\logs\springboot-ai-rag-demo.log 文件中。

logging.file.path=D:/dev/dev2025/EC0601/logs
logging.file.name=${logging.file.path}/springboot-ai-rag-demo.log
logging.pattern.file=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.level.root=INFO
logging.level.com.example.demo=DEBUG 

在這里插入圖片描述

啟動 Filebeat

.\filebeat.exe -e

🔍 四、驗證數據是否到達 Logstash

方法一:查看 Logstash 相關日志, 確認 Filebeat 是否成功連接 Logstash。

在這里插入圖片描述


方法二:使用 Kibana 查看索引

在這里插入圖片描述

🧪 五、常見問題排查

問題現象可能原因解決方法
Filebeat 報錯無法連接 LogstashLogstash 未啟動或端口未監聽確認 Logstash 是否運行,使用 `netstat -ano
Filebeat 不采集日志路徑錯誤或權限不足檢查 paths 配置;嘗試以管理員身份運行 Filebeat
Logstash 收不到數據數據格式不匹配檢查 Logstash 的 grok 過濾規則是否適配日志格式
Filebeat 卡住不動日志文件過大或編碼問題嘗試小文件測試;檢查日志編碼是否為 UTF-8

📌 六、總結

后續可以根據需要擴展功能,例如:

  • 添加多輸入源(如 JSON、CSV)
  • 使用 TLS 加密通信
  • 輸出到遠程 Elasticsearch
  • 配置 為 Windows 服務自啟動
  • 把es作為ai-rag服務的向量數據庫,使用向量檢索等

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

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

相關文章

Java使用Selenium反爬蟲優化方案

當我們爬取大站的時候,就得需要對抗反爬蟲機制的場景,因為項目要求使用Java和Selenium。Selenium通常用于模擬用戶操作,但效率較低,所以需要我們結合其他技術來實現高效。 在 Java 中使用 Selenium 進行高效反爬蟲對抗時&#xff…

狀態管理方案對比與決策

1. 狀態管理的基本概念 現代前端應用隨著功能復雜度提升,狀態管理已成為架構設計的核心挑戰。狀態管理本質上解決的是數據的存儲、變更追蹤和響應式更新問題,以確保UI與底層數據保持同步。 核心挑戰: 狀態共享與組件通信可預測的狀態變更性能優化與重…

Fetch與Axios:區別、聯系、優缺點及使用差異

Fetch與Axios:區別、聯系、優缺點及使用差異 文章目錄 Fetch與Axios:區別、聯系、優缺點及使用差異一、聯系二、區別1. 瀏覽器支持與兼容性2. 響應處理3. 請求攔截和響應攔截4. 錯誤處理 三、優缺點1. Fetch API優點缺點 2. Axios優點缺點 四、使用上的差…

【Docker】快速入門與項目部署實戰

我們在部署一個項目時,會出現一系列問題比如: 命令太多了,記不住軟件安裝包名字復雜,不知道去哪里找安裝和部署步驟復雜,容易出錯 其實上述問題不僅僅是新手,即便是運維在安裝、部署的時候一樣會覺得麻煩…

Java面試題尚硅谷版第1季

1、寫出如下代碼運行結果 1.1、 使用局部變量表和操作數棧解題 1.2、使用前置和后置遞增解題 2、寫一個單例模式 2.1、考察知識點 2.2、單例模式實現 3、類加載和初始化順序 package classload;public class Father {private int i test();private static int j method();st…

關于Qt阻斷樣式繼承的解決辦法

引言 在使用 Qt 開發桌面應用時,借助樣式表(StyleSheet)來統一定義界面風格是非常常見的做法。通常,你會在主程序中通過 qApp->setStyleSheet(...) 或者直接給某個父控件設置樣式表,讓所有的子控件都采用相同的配色…

鼠標右鍵添加新建某種文件的方法

場景 我經常用到.emmx,.eddx文件,電腦上裝的是wpsX億圖(因為有wps會員),沒有開億圖會員。 然后問題就是,思維導圖和流程圖我都能正常開,正常編輯,但鼠標右鍵沒有新建這兩個文件的按…

Inxpect安全雷達傳感器與控制器:動態檢測 + 抗干擾技術重構工業安全防護體系

Inxpect 推出工業安全領域新型智能傳感器與控制器,其核心產品為雷達掃描儀,具備動態調整檢測區域、抗干擾能力強等特點,可精準檢測危險區域人員進入或存在情況,適用于移動機器人等場景。 Inxpect安全雷達傳感器核心功能 動態檢測…

【AI學習】李廣密與階躍星辰首席科學家張祥雨對談:多模態發展的歷史和未來

仔細閱讀了文章《專訪張祥雨:多模態推理和自主學習是未來的 2 個 「GPT-4」 時刻》 https://mp.weixin.qq.com/s/892QuRPH9uP6zN6dS-HZMw 非常贊嘆的一篇文章,說清楚了NLP、CV發展中的許多重大問題,讀來醍醐灌頂!這樣的文章&…

C++中std::deque詳解和實戰工程代碼示例

C中std::deque詳解和實戰工程代碼示例 std::deque(雙端隊列)是 C 標準庫中的一個序列容器,與 std::vector 類似,但它支持從頭部和尾部高效地插入和刪除元素。它底層采用分段連續空間實現,兼具靈活性與性能。 一、基本…

【AI大模型入門指南】概念與專有名詞詳解 (二)

【AI大模型入門指南】概念與專有名詞詳解 (二) 一 、前言 當你和聊天機器人聊得天花亂墜時,當你用文字讓AI生成精美圖片時,當手機相冊自動幫你分類照片時 —— 這些看似智能的操作背后,都藏著 AI 大模型的身影。 本…

AIStor 的模型上下文協議 (MCP) 服務器:管理功能

在本系列的上一篇博文中,我們討論了 MinIO AIStor 的模型上下文協議 (MCP) 服務器的基本用戶級功能。我們學習了如何使用人類語言命令查看存儲桶的內容、分析對象并標記它們以便將來處理,以及如何通過 LLM(例如 Anthropic Claude)…

期權末日輪實值期權盈利未平倉怎么辦?

本文主要介紹期權末日輪實值期權盈利未平倉怎么辦?期權末日輪實值期權盈利未平倉該怎么辦,需要明確幾個關鍵點:末日輪指的是期權到期日臨近的時候,通常指最后一周,尤其是最后一天,這時候時間價值衰減很快&a…

C++/Qt 聯合編程中的定時器使用陷阱:QObject::startTimer 報錯詳解

在 Qt 開發中,QTimer 是一個常用的工具類,用于處理定時事件。但不少開發者在 C/Qt 聯合編程,尤其是在工具類、靜態類、線程中使用定時器時,會遇到如下令人困惑的報錯: QObject::startTimer: Timers can only be used …

CentOS7.9 查詢運維安全日志,排查惡意用戶

1、查看系統版本 cat /etc/redhat-release uname -a 2、查看所有賬號 cat /etc/shadow 3、修改 root 密碼 passwd 3、查看賬號ID id jinzhi 4、查看登錄日志 lastlog 5、查看操作日志 cat .bash_history sudo cat /home/yunwei/.bash_history sudo grep root /va…

多模態大語言模型arxiv論文略讀(117)

Training-free Zero-shot Composed Image Retrieval via Weighted Modality Fusion and Similarity ?? 論文標題:Training-free Zero-shot Composed Image Retrieval via Weighted Modality Fusion and Similarity ?? 論文作者:Ren-Di Wu, Yu-Yen L…

如何正確的配置eureka server集群

將 Eureka Server 實例的 hostname 都配置成相同的值,在 Eureka Server 集群環境下同樣是不推薦且通常會導致嚴重問題的, 核心問題:Eureka Server 集群的工作機制 Eureka Server 集群通過相互注冊(Peering)來實現高可…

AI支持下的-ArcGIS數據處理、空間分析、可視化及多案例綜合應用

查看原文>>> 從入門到精通-AI支持下的-ArcGIS數據處理、空間分析、可視化及多案例綜合應用 結合ArcGIS和GPT的優勢,本文重點進行AI大模型應用、ArcGIS工作流程及功能、Prompt使用技巧、AI助力工作流程、AI助力數據讀取與處理、AI助力空間分析、AI助力遙感…

vue3-ts: v-model 和 props 的關系

在 Vue.js 中,v-model 是一個語法糖,它實際上是 :value 和 input 事件的組合。 當你使用 v-model 綁定一個組件時,默認情況下,組件會通過 props 接收 value 這個 prop, 并通過觸發 input 事件來更新父組件中的數據。 …

學車筆記 變擋

超15就可以加一檔了 有些人對手動擋的檔位有一些誤解_嗶哩嗶哩_bilibili 獻給所有新司機.開手動檔擺脫頓挫的根本方法.學會看轉速!沒那么復雜!_嗶哩嗶哩_bilibili 減速到怠速降一檔