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,完活儿。

相关推荐
bug和崩溃我都要7 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
kimloner7 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
摸鱼 特供版8 小时前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求
夜雪一千8 小时前
Python 生成模拟地址数据:Faker之外的备选库
网络·windows·python
无忧.芙桃9 小时前
C++语言原理与实践(十二):list类的底层实现
c++·windows·list
Vex2une10 小时前
PowerShell ISE 到 VS Code 迁移史:从集成脚本环境到现代编辑器工作流
windows·vscode·powershell·powershell ise·powershell 扩展·powershell 7·脚本编辑器
空 白II10 小时前
10.10 大语言模型研究简报:Microsoft 发布 Windows 端侧混合智能架构
windows·microsoft·语言模型
大貔貅喝啤酒11 小时前
Windows 安装 使用JMeter 教程
windows·jmeter
报错小能手12 小时前
Channel面试题。Sync面试题
linux·服务器·windows
闭着眼刷牙12 小时前
pc接入rndis等网卡设备后卡死几分钟,已解决
windows