filestream安装使用全套+filebeat的模块用法
1 filestream介绍
官方宣布:输入类型为log在filebeat7.16版本已经弃用了
Filestream 是 Filebeat 中的一种 输入类型(Input),用于处理日志文件的读取。它是为了取代 Filebeat 中传统的 log 输入(Input)设计的,更加现代化和高效
-
filestream直接与操作系统的文件系统事件接口(如 Linux 的inotify或 Windows 的ReadDirectoryChangesW)集成,从而更高效地监听文件变化 -
专为处理容器化环境或日志动态生成的场景设计,能够动态追踪日志文件的创建和删除
-
使用唯一的文件标识符(如 inode + dev)而非文件路径,避免因路径变化导致日志丢失或重复采集
-
未来版本中,
filestream将成为日志文件采集的首选,逐步取代log输入
2 filestream解析nginx json日志
1.filebeat执行该文件
cat > 11-filestream-to-es.yaml <<EOF
filebeat.inputs:
- type: filestreampaths:- /var/log/nginx/access.log# 配置解析parsers:# 解析json格式- ndjson:# 将解析的数据放在哪个字段,若为""代表放在顶级字段中target: ""# 对哪个字段进行解析,若不指定,则默认会对message字段进行解析,并删除该字段。message_key: messageoutput.elasticsearch:hosts: - "http://10.0.0.91:9200"- "http://10.0.0.92:9200"- "http://10.0.0.93:9200"index: "zhiyong18-luckyboy-log-filestream-nginx"setup.ilm.enabled: false
setup.template.name: "zhiyong18-luckyboy"
setup.template.pattern: "zhiyong18-luckyboy-log*"
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF
2.索引可以正常创建,discover 中看到内容和 之前的 nginx json 格式采集一样
3 filestream多行匹配
1.filebeat执行该文件
cat > 12-filestream_multiple-to-es.yaml <<EOF
filebeat.inputs:
- type: filestreampaths:- /app/apache-tomcat-10.1.25/logs/catalina.outparsers:- multiline:type: patternpattern: '^\d{2}'negate: truematch: afteroutput.elasticsearch:hosts: - "http://10.0.0.91:9200"- "http://10.0.0.92:9200"- "http://10.0.0.93:9200"index: "zhiyong18-luckyboy-log-filestream-tomcat-errorlog"setup.ilm.enabled: false
setup.template.name: "zhiyong18-luckyboy"
setup.template.pattern: "zhiyong18-luckyboy-log*"
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF
2.验证采集的错误日志

4 filestream count多行匹配+json采集
1.准备测试文件 /tmp/apps.json
{"name": "韩V童","hobby": ["下海","睡觉","抽奖"]
}
{"name": "康Z阳","hobby": ["看美女","打游戏","学习"]
}
2.编写测试 filebeat 采集配置。
注意:如果这条索引同时匹配到了多个索引模版,可能就会报错。建议修改匹配模式
cat > 13-filestream_json_multiple_line-to-es.yaml <<EOF
filebeat.config.modules:# 注意,此处的"${path.config}"对应的路径是/etc/filebeat目录path: ${path.config}/modules.d/*.yml# 支持热加载reload.enabled: true# 指定每间隔多长时间检测一次“${path.config}/modules.d/*.yml”reload.period: 5soutput.elasticsearch:hosts: - "http://10.0.0.91:9200"- "http://10.0.0.92:9200"- "http://10.0.0.93:9200"index: "zhiyong18-luckyboy-log-modules-nginx"etup.ilm.enabled: false
setup.template.name: "zhiyong18-luckyboy-modules"
setup.template.pattern: "zhiyong18-luckyboy-log-modules*"
setup.template.overwrite: false
setup.template.settings:index.number_of_shards: 5index.number_of_replicas: 0
EOF
3.查看采集到的日志

5 filebeat模块介绍
filebeat模块是官方提供的一种对各种中间件进行日志采集的解决方案,用于简化常见服务(如 NGINX、MySQL、Apache 等)日志的采集、解析和可视化过程。
-
模块在/etc/filebeat/modules.d/ 下, 启用模块本质上是将 /etc/filebeat/modules.d/ 目录下的
*.yml.disabled文件更名为*.yml -
filebeat启用,禁用和查看模块
# 查看支持的模块
[root@elk91 filebeat]# ll modules.d/ | egrep "tomcat|nginx"
-rw-r--r-- 1 root root 784 May 30 21:52 nginx.yml.disabled
-rw-r--r-- 1 root root 623 May 30 21:52 tomcat.yml.disabled# 进行模块开启操作
[root@elk91 filebeat]# filebeat modules enable nginx tomcat
Enabled nginx# 查看已开启的模块
[root@elk91 filebeat]# ll modules.d/ | egrep "tomcat|nginx"
-rw-r--r-- 1 root root 784 May 30 21:52 nginx.yml
-rw-r--r-- 1 root root 623 May 30 21:52 tomcat.yml# 禁用模块
[root@elk91 filebeat]# filebeat modules disable nginx tomcat
模块大全:
[root@elk93~]# ls /etc/filebeat/modules.d/
activemq.yml.disabled cyberark.yml.disabled infoblox.yml.disabled nginx.yml snyk.yml.disabled
apache.yml.disabled cylance.yml.disabled iptables.yml.disabled o365.yml.disabled sonicwall.yml.disabled
auditd.yml.disabled envoyproxy.yml.disabled juniper.yml.disabled okta.yml.disabled sophos.yml.disabled
awsfargate.yml.disabled f5.yml.disabled kafka.yml.disabled oracle.yml.disabled squid.yml.disabled
aws.yml.disabled fortinet.yml.disabled logstash.yml.disabled osquery.yml.disabled suricata.yml.disabled
azure.yml.disabled gcp.yml.disabled microsoft.yml.disabled panw.yml.disabled system.yml.disabled
barracuda.yml.disabled googlecloud.yml.disabled misp.yml.disabled pensando.yml.disabled threatintel.yml.disabled
bluecoat.yml.disabled google_workspace.yml.disabled mongodb.yml.disabled postgresql.yml.disabled tomcat.yml
cef.yml.disabled gsuite.yml.disabled mssql.yml.disabled proofpoint.yml.disabled traefik.yml.disabled
checkpoint.yml.disabled haproxy.yml.disabled mysqlenterprise.yml.disabled rabbitmq.yml.disabled zeek.yml.disabled
cisco.yml.disabled ibmmq.yml.disabled mysql.yml.disabled radware.yml.disabled zookeeper.yml.disabled
coredns.yml.disabled icinga.yml.disabled nats.yml.disabled redis.yml.disabled zoom.yml.disabled
crowdstrike.yml.disabled iis.yml.disabled netflow.yml.disabled santa.yml.disabled zscaler.yml.disabled
cyberarkpas.yml.disabled imperva.yml.disabled netscout.yml.disabled snort.yml.disabled
6 使用模块采集nginx日志
前提: nginx 模块已经开启,nginx日志是常规格式
1.修改nginx模块配置
cat > /etc/filebeat/modules.d/nginx.yml <<EOF
- module: nginxaccess:enabled: truevar.paths: ["/var/log/nginx/access.log*"]error:enabled: truevar.paths: ["/var/log/nginx/error.log*"]ingress_controller:enabled: false
EOF
2.filebeat执行该文件。
可能遇到的故障:
- 由于之前创建了大量索引模式,可能会导致索引匹配冲突,要么改优先级或匹配其他索引。
- 索引模式冲突举例:
zhiyong18-luckyboy-log*和zhiyong18-luckyboy-log-modules*
- 索引模式冲突举例:
- vim access.log 后日志不采集,或这不写入。需要重启nginx
cat > 14-modules_nginx-to-es.yaml <<'EOF'
filebeat.config.modules:# 注意,此处的"${path.config}"对应的路径是/etc/filebeat目录path: ${path.config}/modules.d/*.yml# 支持热加载reload.enabled: true# 指定每间隔多长时间检测一次“${path.config}/modules.d/*.yml”reload.period: 5soutput.elasticsearch:hosts: - "http://10.0.0.91:9200"- "http://10.0.0.92:9200"- "http://10.0.0.93:9200"index: "zhiyong18-luckyboy-log-modules-nginx"# 禁用索引的生命周期(Index Lifecycle Management,简称"ilm"),如果不禁用则忽略自定义索引名称
setup.ilm.enabled: false
# ES的索引模板名称,和ES最好别冲突
setup.template.name: "zhiyong18-luckyboy-modules"
# ES索引模板的匹配模式
setup.template.pattern: "zhiyong18-luckyboy-log*"
# 如果索引模板已经存在,是否覆盖,推荐设置为false
setup.template.overwrite: false
EOF
"source": {"geo": {"continent_name": "Africa","country_iso_code": "SC","country_name": "Seychelles","location": {"lon": 55.6667,"lat": -4.5833}},
3.去 discover 查看,官方模块非常详细,把日志中隐藏的国家、IP、状态码都显示出来了

7 nginx模块中经纬度混合问题
1.在使用了nginx模块采集原生nginx日志后,若发现地理位置坐标点全在一个字段中,无法确定其地理位置坐标点。需要使用数据映射。
下图为正确的示例,地理位置正确映射

2.创建一条索引模式,以后使用nginx模块采集日志时就匹配这条索引
| 索引名称 | zhiyong18-luckyboy-modules |
| 索引模式 | zhiyong18-luckyboy-log* |
3.索引设置:
{"number_of_shards": 3,"number_of_replicas": 0
}
4.设置数据映射:source.geo.location --> 地理位置坐标点

5.创建后预览:
{"template": {"settings": {"index": {"number_of_shards": "3","number_of_replicas": "0"}},"mappings": {"properties": {"source": {"properties": {"geo": {"properties": {"location": {"type": "geo_point"}}}}}}},"aliases": {}}
}
最后,创建地图查看分布图
最后,创建地图查看分布图

相关文章:
filestream安装使用全套+filebeat的模块用法
1 filestream介绍 官方宣布:输入类型为log在filebeat7.16版本已经弃用了 Filestream 是 Filebeat 中的一种 输入类型(Input),用于处理日志文件的读取。它是为了取代 Filebeat 中传统的 log 输入(Input)设…...
java项目之房屋租赁系统源码(springboot+mysql+vue)
项目简介 房屋租赁系统实现了以下功能: 房屋租赁系统的主要使用者分为: 系统管理:个人中心、房屋信息管理、预约看房管理、合同信息管理、房屋报修管理、维修处理管理、房屋评价管理等模块的查看及相应操作; 房屋信息管理&#…...
sap mm学习笔记
1. 业务流程 2. 组织架构 3. 物料主数据 4.采购主数据 5. 采购管理 6. 库存管理 7.物料主数据 8. 采购申请 ME51N...
代码随想录_链表
代码随想录02 链表 203.移除链表元素 力扣题目链接(opens new window) 题意:删除链表中等于给定值 val 的所有节点。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 2: 输入:he…...
EF Code 并发控制
【悲观控制】 不推荐用,EF Core 没有封装悲观并发控制的使用,需要使用原生Sql来使用悲观并发控制 一般使用行锁、表锁等排他锁对资源进行锁定,同时只有一个使用者操作被锁定的资源 拿sql server举例,可以使用表所、或者行所解决…...
ceph fs status 输出详解
ceph fs status 命令用于显示 Ceph 文件系统的状态信息,其中各列的含义如下: RANK:元数据服务器(MDS)的等级或标识符。 STATE:MDS 的当前状态,例如 active(活跃)、stan…...
FFmpeg Muxer HLS
使用FFmpeg命令来研究它对HLS协议的支持程度是最好的方法: ffmpeg -h muxerhls Muxer HLS Muxer hls [Apple HTTP Live Streaming]:Common extensions: m3u8.Default video codec: h264.Default audio codec: aac.Default subtitle codec: webvtt. 这里面告诉我…...
如何用SQL语句来查询表或索引的行存/列存存储方式|OceanBase 用户问题集锦
一、问题背景 自OceanBase 4.3.0版本起,支持了列存引擎,允许表和索引以行存、纯列存或行列冗余的形式创建,且这些存储方式可以自由组合。除了使用 show create table命令来查看表和索引的存储类型外,也有用户询问如何通过SQL语句…...
回归预测 | MATLAB实GRU多输入单输出回归预测
回归预测 | MATLAB实GRU多输入单输出回归预测 目录 回归预测 | MATLAB实GRU多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB实GRU多输入单输出回归预测。使用GRU作为RNN的一种变体来处理时间序列数据。GRU相比传统的RNN有较好的记…...
【OpenGL/Assimp】渲染模型、半透明材质与封装光源
文章目录 渲染成果Assimp库准备:Mesh类修改:透明贴图使用:光源封装:使用方式在如下测试环境中: 渲染成果 Assimp库准备: 从GitHub拉取源码,根据网络教程,借助CMake生成VS工程项目&a…...
pandas与sql对应关系【帮助sql使用者快速上手pandas】
本页旨在提供一些如何使用pandas执行各种SQL操作的示例,来帮助SQL使用者快速上手使用pandas。 目录 SQL语法一、选择SELECT1、选择2、添加计算列 二、连接JOIN ON1、内连接2、左外连接3、右外连接4、全外连接 三、过滤WHERE1、AND2、OR3、IS NULL4、IS NOT NULL5、B…...
Linux WEB漏洞
定义:Linux Web 漏洞是指在基于 Linux 操作系统的 Web 应用程序、Web 服务器软件或者相关的网络服务配置中存在的安全弱点。这些漏洞可能导致攻击者未经授权访问敏感信息、篡改网页内容、执行恶意代码,甚至完全控制服务器。 常见类型及原理 SQL 注入漏…...
音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流
通过FFmpeg命令可以将一个媒体文件转推RTP: ffmpeg -re -stream_loop -1 -i input.mp4 -c:v copy -an -f rtp rtp://192.168.0.102:5400 但是通过ffplay尝试播放上述产生的RTP流时会报错:“Unable to receive RTP payload type 96 without an SDP file …...
大语言模型预训练、微调、RLHF
转发,如有侵权,请联系删除: 1.【LLM】3:从零开始训练大语言模型(预训练、微调、RLHF) 2.老婆饼里没有老婆,RLHF里也没有真正的RL 3.【大模型微调】一文掌握7种大模型微调的方法 4.基于 Qwen2.…...
vue3后台系统动态路由实现
动态路由的流程:用户登录之后拿到用户信息和token,再去请求后端给的动态路由表,前端处理路由格式为vue路由格式。 1)拿到用户信息里面的角色之后再去请求路由表,返回的路由为tree格式 后端返回路由如下: …...
解决idea中无法拖动tab标签页的问题
1、按 Ctrl Alt S 打开设置,找到路径 File | Settings | Appearance & Behavior | Appearance 2、去掉勾选 Drag-and-drop with Alt pressed only 即可...
WMS仓库管理系统,Vue前端开发,Java后端技术源码(源码学习)
一、项目背景和建设目标 随着企业业务的不断扩展,仓库管理成为影响生产效率、成本控制及客户满意度的重要环节。为了提升仓库作业的透明度、准确性和效率,本方案旨在构建一套全面、高效、易用的仓库管理系统(WMS)。该系统将涵盖库…...
25/1/12 嵌入式笔记 学习esp32
了解了一下位选线和段选线的知识: 位选线: 作用:用于选择数码管的某一位,例如4位数码管的第1位,第2位) 通过控制位选线的电平(高低电平),决定当前哪一位数码管处于激活状…...
【NLP】ELMO、GPT、BERT、BART模型解读及对比分析
文章目录 一、基础知识1.1 Word Embedding(词嵌入)1.2 词嵌入模型1.3 神经网络语言模型NNLM 二、ELMO2.1 ELMO的提出2.2 ELMO核心思想2.3 ELMO的优缺点 三、GPT3.1 Transformer3.2 GPT简介3.3 GPT模型架构3.4 预训练及微调3.5 GPT和ELMO对比 四、BERT4.1…...
go语言学习(数组,切片,字符串)
字符串 如果里面存储的是汉字,那么其实就是存储的是UTF--8编码,所以一个字会对应多个字节.如果想要获取汉字的个数,可以使用rune,来处理unicode字符 length: utf8.RuneCountInString( s) 如果只使用len()获取的是字节的个数, 字符串的功能 1,获取字节长度 len(xx) 2,获取字…...
在Hermes Agent项目中接入Taotoken作为自定义模型供应商
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Hermes Agent项目中接入Taotoken作为自定义模型供应商 基础教程类,针对使用Hermes Agent框架的开发者,详…...
【审计专栏】【财务领域】 第四十九篇 人在企业中的核心资产和核心利益01
编号 类型 企业 (行业/企业产品/企业利益链/生态位与层级) 业务领域 企业性质 企业中人的角色/岗位/利益矩阵 人在企业中的核心资产/附属资产 资产的业务-财务数学模型及数字/数值 关联知识 1 核心经营性资产(如IP、数据、品牌) 行业:人工智能 产品:工业视觉检…...
终极免费音乐解锁工具:打破平台枷锁,让音乐重获自由
终极免费音乐解锁工具:打破平台枷锁,让音乐重获自由 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地…...
手机也能玩转无人机仿真:用安卓QGC App连接同一WiFi下的PX4 JMAVSim模拟器
手机也能玩转无人机仿真:用安卓QGC App连接同一WiFi下的PX4 JMAVSim模拟器 无人机开发者和爱好者们,是否曾想过用手机就能完成整个无人机仿真测试流程?告别笨重的电脑束缚,只需一部安卓设备,就能在沙发上调试飞控算法。…...
YOLOv8道路交通信号标志识别检测系统(项目源码+YOLO数据集+模型权重+UI界面+python+深度学习+环境配置)
摘要 道路交通信号标志的自动检测是智能驾驶与交通管理系统中的核心环节。本文基于YOLOv8目标检测算法,构建了一个涵盖21类常见交通信号标志的检测系统,包括禁令标志、指示标志、警告标志及信号灯等。模型在包含1376张训练图像、488张验证图像和229张测…...
2026上海GEO生成式引擎优化服务商综合实力测评:谁在真正帮品牌进入AI答案
当企业在讨论“上海生成式引擎优化公司哪家好”时,这个问题本身就反映了市场一个关键的转折。两三年前,企业营销的主战场还是搜索引擎排名和官网访问量。现在,决策者开始频繁向DeepSeek、豆包、通义千问等AI工具提问,而这些生成式…...
浏览器端音频解密技术:如何让加密音乐在本地重获新生?
浏览器端音频解密技术:如何让加密音乐在本地重获新生? 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目…...
BurpSuite+SqlMap深度集成:构建高可信SQL注入检测流水线
1. 这不是“点几下就出结果”的玩具,而是你真正能放进渗透流程里的SQL注入检测流水线很多人第一次看到“BurpSuiteSqlMap插件5分钟搞定SQL注入检测”这个标题,第一反应是:又一个标题党?点开全是截图堆砌、参数照抄、报错就卡住的半…...
2026年新能源人才全球本地化策略
导读:报告基于领英行业洞察,聚焦 2026 年全球新能源行业发展格局、中国企业出海现状、人才供需痛点及全球化人才本地化落地策略,为新能源企业海外人才招聘、培养与组织管理提供完整解决方案。关注公众号:【互联互通社区】…...
H.Test.DefaultApplicationBase-默认应用组合
H.Test.DefaultApplicationBase 示例项目学习教程 一、概述 H.Test.DefaultApplicationBase 展示了如何使用 WPF-Control 框架的默认应用组合(Default ApplicationBase)。这是一个"开箱即用"的应用模板,一键注册所有常用服务和模块…...
