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

相关推荐
草莓熊Lotso6 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
郝学胜-神的一滴1 天前
C++11 工程级应用 06:自己造一个类似Python的Range迭代器
开发语言·c++·windows·python·程序人生·microsoft
LabVIEW开发1 天前
使用 LabVIEW 获取文件的创建日期:从内置函数到 Windows API 封装
网络·windows·labview·labview知识·labview功能·labview程序
超级码里奥20241 天前
OpenClaw(龙虾[特殊字符])AI 智能体安装教程
windows·node.js
YCOSA20252 天前
雨晨 Windows 11 IoT 企业版 LTSC 26H2 轻装 26300.9278 自用版
windows·物联网
丈剑走天涯2 天前
基于 Python 3 语法的 PyCharm 练习示例,涵盖列表操作、类型判断及数据清洗等核心知识点
windows·python·pycharm
AxureMost2 天前
Dopamine 3.0.10 音乐播放器
windows
MayZork2 天前
Windows 与 Linux 下 vcpkg 的安装部署指南
linux·运维·windows
Source.Liu2 天前
【Dioxus】Windows 环境下 Rust + Dioxus 安装配置笔记
windows·rust·dioxus
落魄大学生之流水线上谋生计2 天前
LangGraph 基本用法指南
java·windows·python·langchain