windows部署多实例filebeat监控相同路径下文件

一、前提:

现项目需求,在windows服务器上部署filebeat读取日志文件变更,发送到kafka。变态的是:要读取同一目录下日志文件,往两个不相关的kafka发送变更信息(注意这两个kafka完全不相关,不是同一集群)。怎么搞?网上查了半天资料,有说改filebeat.yml的试了半天没用。最后采用了最笨的方法,复制两份filebeat,采用不同配置。

二、配置

filebeat版本:8.11.3

注意两份filebeat完全放在两个不同的目录下,我这里目录分别为:D:\\jt\\filebeat、D:\\jt\\filebeatxinguan两个目录。

两个filebeat都需要改filebeat.yml、filebeat-server.xml

第一个filebeat配置:

filebeat.yml

复制代码
filebeat.inputs:
- type: filestream
  enabled: true
  paths:
    - D:\position\*.txt
  fields:
    code: haiheng  # 新增默认参数

output.kafka:
  hosts: ["kafka1:9092"]  
  topic: "topic_position"

filebeat-server.xml

复制代码
<service>
    <id>filebeat-server</id>
    <name>filebeat-server</name>
    <description>filebeat文件变更捕获</description>
    <!-- 可设置环境变量 -->
    <env name="HOME" value="%BASE%"/>
    <executable>%BASE%\filebeat.exe</executable>
    <arguments>-e -c filebeat.yml</arguments>
    <!-- <logmode>rotate</logmode> -->
    <logpath>%BASE%\logs</logpath>
    <log mode="roll-by-size-time">
      <sizeThreshold>10240</sizeThreshold>
      <pattern>yyyyMMdd</pattern>
      <autoRollAtTime>00:00:00</autoRollAtTime>
      <zipOlderThanNumDays>5</zipOlderThanNumDays>
      <zipDateFormat>yyyyMMdd</zipDateFormat>
    </log>
</service>
第二个filebeat配置:

filebeat.yml

复制代码
filebeat.inputs:
- type: filestream
  enabled: true
  paths:
    - D:\position\*.txt
  fields:
    code: haiheng  # 新增默认参数

output.kafka:
  hosts: ["kafka2:9092"]  
  topic: "topic_position"

filebeat-server.xml

复制代码
<service>
    <id>filebeat-server-xinguan</id>
    <name>filebeat-server-xinguan</name>
    <description>filebeat(新馆)文件变更捕获</description>
    <!-- 可设置环境变量 -->
    <env name="HOME" value="%BASE%"/>
    <executable>%BASE%\filebeat.exe</executable>
    <arguments>-e -c filebeat.yml</arguments>
    <!-- <logmode>rotate</logmode> -->
    <logpath>%BASE%\logs</logpath>
    <log mode="roll-by-size-time">
      <sizeThreshold>10240</sizeThreshold>
      <pattern>yyyyMMdd</pattern>
      <autoRollAtTime>00:00:00</autoRollAtTime>
      <zipOlderThanNumDays>5</zipOlderThanNumDays>
      <zipDateFormat>yyyyMMdd</zipDateFormat>
    </log>
</service>

改好配置,分别在对应的目录下进入cmd,执行:

复制代码
filebeat-server.exe install

看到***was installed successfully. 一般来说没啥问题。

接下来打开服务,找到对应的服务右键启动(有点糊,不好截图,手机拍的。。。):

三、查看进程

执行

复制代码
Get-Process | Where-Object { $_.ProcessName -eq "filebeat" }

可以看到两个进程(有点糊,不好截图,手机拍的。。。):

OK,完活儿。

相关推荐
.Peter43 分钟前
.NET/WPF 程序在部分 Windows 电脑无法保存用户环境变量:使用 DPAPI 实现安全兼容
windows·信息安全·c#·.net·wpf·环境变量·dpapi
码字的特恩1 小时前
微软确认暂不为 Windows 11 加入透明效果自定义功能,建议用户使用第三方工具
人工智能·windows·算法·microsoft·计算机·大模型·编程
神奇小梵2 小时前
安全和开发的需要了解的知识————下载内容的安全,和下载内容如何运行
android·windows·安全·个人开发
zhangfeng11333 小时前
Windows AMD显卡跑PyTorch
人工智能·pytorch·windows
楷哥爱开发3 小时前
如何在 Windows、macOS 和 Linux 上安装 scikit-learn (sklearn)
linux·windows·macos
2603_965148113 小时前
eBay商品数据API:寻找海外仓与价格洼地
大数据·人工智能·windows·python·microsoft
江畔柳前堤12 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
天天进步201517 小时前
UI-TARS 源码解析 #22:二次开发实战:用 UI-TARS 做一个简单的 Windows 自动操作 Agent
windows·ui
啊哈一半醒17 小时前
Windows 虚拟机搭建 CentOS 全过程(2026 最新版 + 踩坑解决)
linux·windows·centos
new_zhou17 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows