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

news2025/6/8 9:32:29

📄 本地 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 => true
    ssl_verification_mode => "full"
    ssl_certificate_authorities => ["D:/dev/dev2025/EC0601/elasticsearch-9.0.1/config/certs/http_ca.crt"]

    # 使用 API Key 认证 id:api_key
    api_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: filestream
     paths:
        - D:/dev/dev2025/EC0601/logs/springboot-ai-rag-demo.log
     enabled: true
     fields:
        log_type: springboot-app
        app_name: springboot-ai-rag-demo
     fields_under_root: true
     multiline:
        pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
        negate: true
        match: after

output.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.coloradmin.cn/o/2403976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RT-Thread内核组成——内核移植

内核移植就是指将 RT-Thread 内核在不同的芯片架构、不同的板卡上运行起来,能够具备线程管理和调度,内存管理,线程间同步和通信、定时器管理等功能。移植可分为 CPU 架构移植和 BSP(Board support package,板级支持包&…

基于Java(SpringBoot、Mybatis、SpringMvc)+MySQL实现(Web)小二结账系统

结账系统 1.引言 1.1.编写目的 此说明书在概要设计的基础上,对小二结账系统的各个模块、程序分别进行了实现层面上的要求和说明。在以下的详细设计报告中将对在本阶段中对系统所做的所有详细设计进行说明。在本阶段中,确定应该如何具体的实现所要求的…

三维GIS开发cesium智慧地铁教程(4)城市白模加载与样式控制

一、添加3D瓦片 <!-- 核心依赖引入 --> <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"><!-- 模型数据路径 --> u…

越狱蒸馏-可再生安全基准测试

大家读完觉得有帮助记得关注&#xff01;&#xff01;&#xff01; 摘要 大型语言模型&#xff08;LLMs&#xff09;正迅速部署在关键应用中&#xff0c;这引发了对稳健安全基准测试的迫切需求。我们提出了越狱提炼&#xff08;JBDISTILL&#xff09;&#xff0c;这是一种新颖…

64、js 中require和import有何区别?

在 JavaScript 中&#xff0c;require 和 import 都是用于模块导入的语法&#xff0c;但它们属于不同的模块系统&#xff0c;具有显著的区别&#xff1a; 1. 模块系统不同 require 属于 CommonJS 模块系统&#xff08;Node.js 默认使用&#xff09;。 语法&#xff1a;const…

手机号段数据库与网络安全应用

手机号段数据库的构成与原理 手机号段数据库存储着海量手机号段及其关联信息&#xff0c;包括号段起始与结束号码、运营商归属、地区编码、卡类型等核心数据。这些数据主要来源于通信管理机构的官方分配信息、运营商的业务更新数据以及合法采集的使用数据。经过数据清洗、校验…

Kafka 入门指南与一键部署

Kafka 介绍 想象一下你正在运营一个大型电商平台&#xff0c;每秒都有成千上万的用户浏览商品、下单、支付&#xff0c;同时后台系统还在记录用户行为、更新库存、处理物流信息。这些海量、持续产生的数据就像奔腾不息的河流&#xff0c;你需要一个强大、可靠且实时的系统来接…

Oracle正则表达式学习

目录 一、正则表达简介 二、REGEXP_LIKE(x,匹配项) 三、REGEXP_INSTR 四、REGEXP_SUBSTR 五、REGEXP_REPLACE 一、正则表达简介 相关网址&#xff1a; https://cloud.tencent.com/developer/article/1456428 https://www.cnblogs.com/lxl57610/p/8227599.html https://…

微软PowerBI考试 PL300-使用适用于 Power BI 的 Copilot 创建交互式报表

微软PowerBI考试 PL300-使用适用于 Power BI 的 Copilot 创建交互式报表 Microsoft Power BI 可帮助您通过交互式报表准备数据并对数据进行可视化。 如果您是 Power BI 的新用户&#xff0c;可能很难知道从哪里开始&#xff0c;并且创建报表可能很耗时。 通过适用于 Power BI …

Prompt提示工程指南#Kontext图像到图像

重要提示&#xff1a;单个prompt的最大token数为512 # 核心能力 Kontext图像编辑系统能够&#xff1a; 理解图像上下文语义实现精准的局部修改保持原始图像风格一致性支持复杂的多步迭代编辑 # 基础对象修改 示例场景&#xff1a;改变汽车颜色 Prompt设计&#xff1a; Change …

产品经理课程(十一)

&#xff08;一&#xff09;复习 1、用户需求不等于产品需求&#xff0c;挖掘用户的本质需求 2、功能设计的前提&#xff1a;不违背我们的产品的基础定位&#xff08;用一句话阐述我们的产品&#xff1a;工具&#xff1a;产品画布&#xff09; 3、判断设计好坏的标准&#xf…

Moldflow充填分析设置

1. 如何选择注塑机&#xff1a; 注塑机初选按注射量来选择&#xff1a; 点网格统计;选择三角形, 三角形体积就是产品的体积 47.7304 cm^3 点网格统计;选择柱体, 柱体的体积就是浇注系统的体积2.69 cm^3 所以总体积产品体积浇注系统体积 47.732.69 cm^3 材料的熔体密度与固体…

Imprompter: Tricking LLM Agents into Improper Tool Use

原文&#xff1a;Imprompter: Tricking LLM Agents into Improper Tool Use 代码&#xff1a;Reapor-Yurnero/imprompter: Codebase of https://arxiv.org/abs/2410.14923 实机演示&#xff1a;Imprompter 摘要&#xff1a; 新兴发展的Agent可以将LLM与外部资源工具相结合&a…

【大模型:知识图谱】--3.py2neo连接图数据库neo4j

【图数据库】--Neo4j 安装_neo4j安装-CSDN博客 需要打开图数据库Neo4j&#xff0c; neo4j console 目录 1.图数据库--连接 2.图数据库--操作 2.1.创建节点 2.2.删除节点 2.3.增改属性 2.4.建立关系 2.5.查询节点 2.6.查询关系 3.图数据库--实例 1.图数据库--连接 fr…

如何理解机器人课程的技术壁垒~壁垒和赚钱是两件不同的事情

答疑&#xff1a; 有部分朋友私聊说博客内容&#xff0c;越来越不适合人类阅读习惯…… 可以做这种理解&#xff0c;我从23年之后&#xff0c;博客会不会就是写给机器看的。 或者说我在以黑盒方式测试AI推荐的风格。 主观-客观-主观螺旋式发展过程。 2015最早的一篇博客重…

selinux firewalld

一、selinux 1.说明 SELinux 是 Security-Enhanced Linux 的缩写&#xff0c;意思是安全强化的 linux&#xff1b; SELinux 主要由美国国家安全局&#xff08;NSA&#xff09;开发&#xff0c;当初开发的目的是为了避免资源的误用 DAC&#xff08;Discretionary Access Cont…

408第一季 - 数据结构 - 字符串和KMP算法

闲聊 这章属于难点但考频低 3个名词记一下&#xff1a;模式匹配&#xff0c;主串&#xff0c;字串&#xff08;模式串&#xff09; 举个例子 主串 aabaaaabaab 字串 aabaab 模式匹配 从主串找到字串 暴力解法 也是不多说 很暴力就是了 KMP算法 next数组 它只和字串有关 先…

如何查看自己电脑安装的Java——JDK

开始->运行->然后输入cmd进入dos界面 &#xff08;快捷键windows->输入cmd&#xff09; 输入java -version&#xff0c;回车 出现了一下信息就是安装了jdk 输入java -verbose&#xff0c;回车 查看安装目录

电力系统时间同步系统之三

2.6 电力系统时间同步装置 时间同步装置主要完成时间信号和时间信息的同步传递&#xff0c;并提供相应的时间格式和物理接口。时间同步装置主要由三大部分组成&#xff1a;时间输入、内部时钟和时间输出&#xff0c;如图 2-25 所示。输入装置的时间信号和时间信息的精度必须不…

火语言RPA--界面应用详解

新建一个界面应用后&#xff0c;软件将自动弹出一个界面设计器&#xff0c;本篇将介绍下流程设计器中各部分的功能。 UI控件列表 显示软件中自带的所有UI控件流程库 流程是颗粒组件的容器&#xff0c;可在建立的流程中添加颗粒组件编写成规则流程。 流程编辑好后再绑定UI控件…