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

相关推荐
x***44011 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
CryptoPP2 小时前
使用 KLineChart 这个轻量级的前端图表库
服务器·开发语言·前端·windows·后端·golang
w***744012 小时前
SQL Server2022版详细安装教程(Windows)
windows
IT逆夜19 小时前
实现Yum本地仓库自动同步的完整方案(CentOS 7)
linux·运维·windows
v***598319 小时前
DeepSeek API 调用 - Spring Boot 实现
windows·spring boot·后端
q***25121 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
love530love1 天前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
M***Z2101 天前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
love530love1 天前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar