在 Ubuntu 22.04 上运行 Filebeat 7.10.2

server/2025/2/8 19:51:45/

环境

操作系统:阿里云 Ubuntu 22.04.3 LTS (GNU/Linux 5.15.0-83-generic x86_64)

软件版本:Filebeat 7.10.2

用户:root

运行

  1. 下载

从这里下载 filebeat 7.10.2。

  1. 配置

简单配置一下 filebeat.yml,从标准输入采集,写入到标准输出 :

filebeat.inputs:
- type: stdinoutput.console:pretty: true
  1. 运行

因为使用 root 用户,根据官方建议添加 --strict.perms=false 参数。

直接运行 ./filebeat -e --strict.perms=false:

出现异常:

runtime/cgo: pthread_create failed: Operation not permitted
SIGABRT: abort
PC=0x7f123c7cc9fc m=3 sigcode=18446744073709551610

分析

网上搜索一下问题,发现有位网友也遇到了同样问题,并且解决了,解决方案是添加如下配置:

seccomp:default_action: allowsyscalls:- action: allownames:- rseq

通过官网文档了解 seccomp:在 Linux 3.17 及更高版本上,Filebeat 使用安全计算模式,也称为 Seccomp。Seccomp 限制进程可以发出的系统调用,默认开启。

结合网友的解决方案,得出初步结论:Filebeat 7.10.2 运行在 Ubuntu 22.04 上时缺少 rseq 系统调用,导致异常。

通过查找 syscall 错误:

goroutine 44 [syscall]:
syscall.Syscall(0x0, 0x0, 0xc00070c000, 0x4000, 0xc000122000, 0x800000, 0x7ffff800000)/usr/local/go/src/syscall/asm_linux_amd64.s:18 +0x5
syscall.read(0x0, 0xc00070c000, 0x4000, 0x4000, 0x0, 0x0, 0x16e3b0e)/usr/local/go/src/syscall/zsyscall_linux_amd64.go:686 +0x5a
syscall.Read(...)/usr/local/go/src/syscall/syscall_unix.go:189

在官网找到相关问题,因为 glibc >= 2.35,但 beats 里允许的默认系统调用中没有 rseq 导致的异常。问题已在 7.17.2 版本修复。

验证 glibc 版本,确实为 2.35。

最终得出结论:因为 glibc >= 2.35,但 beats 里允许的默认系统调用中没有 rseq 导致的异常。

总结

通过上面的问题分析,得出有如下 2 种解决办法:

  1. 关闭 seccomp(不推荐)
  2. 添加 seccomp 配置,允许 rseq 系统调用

验证

  1. 关闭 seccomp
filebeat.inputs:
- type: stdinoutput.console:pretty: trueseccomp:enabled: false

但关闭 seccomp,就不能基于最小特权原则限制 filebeat 的系统调用,进而最大限度的减少未知漏洞的影响。

  1. 添加 seccomp 配置,允许 rseq 系统调用
filebeat.inputs:
- type: stdinoutput.console:pretty: trueseccomp:default_action: allowsyscalls:- action: allownames:- rseq


http://www.ppmy.cn/server/166019.html

相关文章

Vue(4)

一.组件的三大组成部分-注意点说明 (1)scoped样式冲突 默认情况:写在组件中的样式会全局生效 → 因此很容易造成多个组件之间的样式冲突 ①全局样式:默认组件中的样式会作用到全局 ②局部样式:可以给组件加上scoped属…

深度学习与搜索引擎优化的结合:DeepSeek的创新与探索

目录 引言 1. 传统搜索引擎的局限性 2. 深度学习在搜索引擎中的作用 3. DeepSeek 实现搜索引擎优化的关键技术 3.1 神经网络与搜索引擎优化 3.2 自然语言处理与查询理解 3.3 深度强化学习与搜索结果排序 4. DeepSeek的深度学习架构 4.1 查询解析与语义理解 4.2 搜索排名与相…

【数据安全】现代智能手机的数据加密机制

这两天刷抖音看到一个降智视频,说手机拿去修了明明没给他密码,但是他是怎么导出手机的数据呢,而且很多人看你都会有这样的疑问:“我的手机设有锁屏密码数据真的安全吗?锁屏密码存在意义是不是仅限于防止别人进入桌面这…

业务架构、数据架构、应用架构和技术架构

TOGAF(The Open Group Architecture Framework)是一个广泛应用的企业架构框架,旨在帮助组织高效地进行架构设计和管理。 TOGAF 的核心就是由我们熟知的四大架构领域组成:业务架构、数据架构、应用架构和技术架构。 企业数字化架构设计中的最常见要素是4A 架构。 4…

四、GPIO中断实现按键功能

4.1 GPIO简介 输入输出(I/O)是一个非常重要的概念。I/O泛指所有类型的输入输出端口,包括单向的端口如逻辑门电路的输入输出管脚和双向的GPIO端口。而GPIO(General-Purpose Input/Output)则是一个常见的术语&#xff0c…

深入理解k8s中的容器存储接口(CSI)

CSI出现的原因 K8s原生支持一些存储类型的PV,像iSCSI、NFS等。但这种方式让K8s代码与三方存储厂商代码紧密相连,带来不少麻烦。比如更改存储代码就得更新K8s组件,成本高;存储代码的bug还会影响K8s稳定性;K8s社区维护和…

FPGA的IP核接口引脚含义-快解

疑问 手册繁琐,怎样快速了解IP核各输入输出接口引脚的含义。 答疑 不慌不慌,手册确实比较详细但繁琐,如何快速知晓该部分信息,涛tao道长给你们说,简单得很,一般新入门的道友有所不知,往往后面…

机器学习 - 需要了解的条件概率、高斯分布、似然函数

似然函数是连接数据与参数的桥梁,通过“数据反推参数”的逆向思维,成为统计推断的核心工具。理解它的关键在于区分“参数固定时数据的概率”与“数据固定时参数的合理性”,这种视角转换是掌握现代统计学和机器学习的基础。 一、在学习似然函…