一个完整的日志收集方案: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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈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 减速到怠速降一档