当前位置: 首页 > news >正文

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介绍 官方宣布&#xff1a;输入类型为log在filebeat7.16版本已经弃用了 Filestream 是 Filebeat 中的一种 输入类型&#xff08;Input&#xff09;&#xff0c;用于处理日志文件的读取。它是为了取代 Filebeat 中传统的 log 输入&#xff08;Input&#xff09;设…...

java项目之房屋租赁系统源码(springboot+mysql+vue)

项目简介 房屋租赁系统实现了以下功能&#xff1a; 房屋租赁系统的主要使用者分为&#xff1a; 系统管理&#xff1a;个人中心、房屋信息管理、预约看房管理、合同信息管理、房屋报修管理、维修处理管理、房屋评价管理等模块的查看及相应操作&#xff1b; 房屋信息管理&#…...

sap mm学习笔记

1. 业务流程 2. 组织架构 3. 物料主数据 4.采购主数据 5. 采购管理 6. 库存管理 7.物料主数据 8. 采购申请 ME51N...

代码随想录_链表

代码随想录02 链表 203.移除链表元素 力扣题目链接(opens new window) 题意&#xff1a;删除链表中等于给定值 val 的所有节点。 示例 1&#xff1a; 输入&#xff1a;head [1,2,6,3,4,5,6], val 6 输出&#xff1a;[1,2,3,4,5] 示例 2&#xff1a; 输入&#xff1a;he…...

EF Code 并发控制

【悲观控制】 不推荐用&#xff0c;EF Core 没有封装悲观并发控制的使用&#xff0c;需要使用原生Sql来使用悲观并发控制 一般使用行锁、表锁等排他锁对资源进行锁定&#xff0c;同时只有一个使用者操作被锁定的资源 拿sql server举例&#xff0c;可以使用表所、或者行所解决…...

ceph fs status 输出详解

ceph fs status 命令用于显示 Ceph 文件系统的状态信息&#xff0c;其中各列的含义如下&#xff1a; RANK&#xff1a;元数据服务器&#xff08;MDS&#xff09;的等级或标识符。 STATE&#xff1a;MDS 的当前状态&#xff0c;例如 active&#xff08;活跃&#xff09;、stan…...

FFmpeg Muxer HLS

使用FFmpeg命令来研究它对HLS协议的支持程度是最好的方法&#xff1a; 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版本起&#xff0c;支持了列存引擎&#xff0c;允许表和索引以行存、纯列存或行列冗余的形式创建&#xff0c;且这些存储方式可以自由组合。除了使用 show create table命令来查看表和索引的存储类型外&#xff0c;也有用户询问如何通过SQL语句…...

回归预测 | MATLAB实GRU多输入单输出回归预测

回归预测 | MATLAB实GRU多输入单输出回归预测 目录 回归预测 | MATLAB实GRU多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 回归预测 | MATLAB实GRU多输入单输出回归预测。使用GRU作为RNN的一种变体来处理时间序列数据。GRU相比传统的RNN有较好的记…...

【OpenGL/Assimp】渲染模型、半透明材质与封装光源

文章目录 渲染成果Assimp库准备&#xff1a;Mesh类修改&#xff1a;透明贴图使用&#xff1a;光源封装&#xff1a;使用方式在如下测试环境中&#xff1a; 渲染成果 Assimp库准备&#xff1a; 从GitHub拉取源码&#xff0c;根据网络教程&#xff0c;借助CMake生成VS工程项目&a…...

pandas与sql对应关系【帮助sql使用者快速上手pandas】

本页旨在提供一些如何使用pandas执行各种SQL操作的示例&#xff0c;来帮助SQL使用者快速上手使用pandas。 目录 SQL语法一、选择SELECT1、选择2、添加计算列 二、连接JOIN ON1、内连接2、左外连接3、右外连接4、全外连接 三、过滤WHERE1、AND2、OR3、IS NULL4、IS NOT NULL5、B…...

Linux WEB漏洞

定义&#xff1a;Linux Web 漏洞是指在基于 Linux 操作系统的 Web 应用程序、Web 服务器软件或者相关的网络服务配置中存在的安全弱点。这些漏洞可能导致攻击者未经授权访问敏感信息、篡改网页内容、执行恶意代码&#xff0c;甚至完全控制服务器。 常见类型及原理 SQL 注入漏…...

音视频入门基础:RTP专题(2)——使用FFmpeg命令生成RTP流

通过FFmpeg命令可以将一个媒体文件转推RTP&#xff1a; ffmpeg -re -stream_loop -1 -i input.mp4 -c:v copy -an -f rtp rtp://192.168.0.102:5400 但是通过ffplay尝试播放上述产生的RTP流时会报错&#xff1a;“Unable to receive RTP payload type 96 without an SDP file …...

大语言模型预训练、微调、RLHF

转发&#xff0c;如有侵权&#xff0c;请联系删除&#xff1a; 1.【LLM】3&#xff1a;从零开始训练大语言模型&#xff08;预训练、微调、RLHF&#xff09; 2.老婆饼里没有老婆&#xff0c;RLHF里也没有真正的RL 3.【大模型微调】一文掌握7种大模型微调的方法 4.基于 Qwen2.…...

vue3后台系统动态路由实现

动态路由的流程&#xff1a;用户登录之后拿到用户信息和token&#xff0c;再去请求后端给的动态路由表&#xff0c;前端处理路由格式为vue路由格式。 1&#xff09;拿到用户信息里面的角色之后再去请求路由表&#xff0c;返回的路由为tree格式 后端返回路由如下&#xff1a; …...

解决idea中无法拖动tab标签页的问题

1、按 Ctrl Alt S 打开设置&#xff0c;找到路径 File | Settings | Appearance & Behavior | Appearance 2、去掉勾选 Drag-and-drop with Alt pressed only 即可...

WMS仓库管理系统,Vue前端开发,Java后端技术源码(源码学习)

一、项目背景和建设目标 随着企业业务的不断扩展&#xff0c;仓库管理成为影响生产效率、成本控制及客户满意度的重要环节。为了提升仓库作业的透明度、准确性和效率&#xff0c;本方案旨在构建一套全面、高效、易用的仓库管理系统&#xff08;WMS&#xff09;。该系统将涵盖库…...

25/1/12 嵌入式笔记 学习esp32

了解了一下位选线和段选线的知识&#xff1a; 位选线&#xff1a; 作用&#xff1a;用于选择数码管的某一位&#xff0c;例如4位数码管的第1位&#xff0c;第2位&#xff09; 通过控制位选线的电平&#xff08;高低电平&#xff09;&#xff0c;决定当前哪一位数码管处于激活状…...

【NLP】ELMO、GPT、BERT、BART模型解读及对比分析

文章目录 一、基础知识1.1 Word Embedding&#xff08;词嵌入&#xff09;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,获取字…...

告别云服务器开销:手把手教你用Docker Compose在本地Linux虚拟机部署Dify

告别云服务器开销&#xff1a;手把手教你用Docker Compose在本地Linux虚拟机部署Dify 在云计算成本不断攀升的今天&#xff0c;越来越多的独立开发者和小团队开始寻求更经济高效的解决方案。对于数据敏感型项目或内部测试环境而言&#xff0c;本地化部署不仅能显著降低长期运营…...

FadCam 安卓后台视频录制应用,支持屏幕关闭录制,多画质高帧率,隐私保护,适配个人安防与事件记录等正当用途

大家好&#xff0c;我是大飞哥。在个人安防、事件记录、现场取证等场景中&#xff0c;普通安卓录屏应用大多需要保持屏幕常亮&#xff0c;不仅容易暴露录制行为&#xff0c;还会快速消耗电量&#xff0c;无法满足隐蔽、长效录制的需求&#xff0c;而部分后台录制工具又存在隐私…...

Python原生AOT编译实战指南(2026 LTS版正式启用倒计时)

第一章&#xff1a;Python原生AOT编译的演进脉络与2026 LTS战略意义Python长期以来以解释执行和字节码&#xff08;.pyc&#xff09;为核心运行范式&#xff0c;而原生AOT&#xff08;Ahead-of-Time&#xff09;编译的探索始于2010年代中期的Nuitka、Cython等工具&#xff0c;但…...

Cloudflare Tunnel零基础教程:5分钟搞定内网穿透(附移动网络解决方案)

Cloudflare Tunnel零基础实战指南&#xff1a;从内网穿透到移动网络优化 在数字化办公与远程协作成为常态的今天&#xff0c;如何安全高效地访问内网资源成为许多技术爱好者和小型企业IT人员的刚需。传统的内网穿透方案往往需要复杂的端口映射、动态DNS配置&#xff0c;甚至面临…...

Figma全中文界面解决方案:从安装到精通的实战指南

Figma全中文界面解决方案&#xff1a;从安装到精通的实战指南 【免费下载链接】figmaCN 中文 Figma 插件&#xff0c;设计师人工翻译校验 项目地址: https://gitcode.com/gh_mirrors/fi/figmaCN 作为一名中文设计师&#xff0c;你是否曾因Figma全英文界面而在操作时频繁…...

2026最权威的十大降AI率神器实测分析

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 想切实降低文本的AIGC率&#xff0c;重点在于削减机器生成的规律性迹象。给出如下方法提议&a…...

QMCFLAC2MP3深度解析:从格式解密到跨设备音频转换的全流程实践

QMCFLAC2MP3深度解析&#xff1a;从格式解密到跨设备音频转换的全流程实践 【免费下载链接】qmcflac2mp3 直接将qmcflac文件转换成mp3文件&#xff0c;突破QQ音乐的格式限制 项目地址: https://gitcode.com/gh_mirrors/qm/qmcflac2mp3 问题引入&#xff1a;破解音乐格式…...

CVE-2016-2183漏洞自查与修复指南:你的Nginx/Apache还在用有问题的SSL/TLS协议吗?

CVE-2016-2183漏洞深度解析与实战修复&#xff1a;从检测到防护的全链路方案 凌晨三点&#xff0c;运维团队的告警系统突然响起——安全扫描报告显示生产环境存在SSL/TLS协议信息泄露风险。这不是普通的漏洞警报&#xff0c;而是可能直接导致加密通信被破解的CVE-2016-2183。作…...

电子电路实战:PWM转DAC的滤波参数优化策略

1. PWM转DAC的基础原理 PWM&#xff08;脉冲宽度调制&#xff09;转DAC&#xff08;数模转换&#xff09;是嵌入式系统中常见的低成本解决方案。简单来说&#xff0c;就是通过调节数字信号的占空比来模拟不同的电压值。比如一个3.3V的PWM信号&#xff0c;50%占空比就相当于1.65…...

RWKV7-1.5B-g1a开源模型部署:RWKV-7架构在国产GPU平台适配进展

RWKV7-1.5B-g1a开源模型部署&#xff1a;RWKV-7架构在国产GPU平台适配进展 1. 平台简介 rwkv7-1.5B-g1a 是基于新一代 RWKV-7 架构的开源多语言文本生成模型&#xff0c;特别针对国产GPU平台进行了优化适配。这个1.5B参数的轻量级模型非常适合以下场景&#xff1a; 基础问答&…...