使用 Elastic-Agent 或 Beats 将 Journald 中的 syslog 和 auth 日志导入 Elastic Stack

作者:来自 Elastic TiagoQueiroz

我们在 Elastic 一直努力将更多 Linux 发行版添加到我们的支持矩阵中,现在 Elastic-Agent 和 Beats 已正式支持 Debian 12!

本文演示了我们正在开发的功能,以支持使用 Journald 存储系统和身份验证日志(auth logs)的 Linux 发行版。

一些 Linux 发行版(如 Debian 12)已经完全放弃了传统的系统日志文件,因此现在获取这些日志的唯一方法是读取 Journald

使用 Elastic-Agent 摄取系统日志

Elastic-Agent 的系统集成 可从服务器收集系统日志和指标。从 1.63.0 版(Elastic-Agent 8.17.0) 开始,它还支持从 Journald 摄取日志。

我们将在 Debian 12 VM 上进行示例。不过,如果你想在其他 Linux 发行版上通过 Journald 收集系统日志,只需稍作配置调整即可。

简而言之:

只需在 Debian 12 VM 上安装 Elastic-Agent 8.17.0,添加系统集成,你就能从 Journald 获取日志。如果你在 Debian 11 等其他发行版上安装 Elastic-Agent,它将读取日志文件。就是这么简单!

详细解析:

这并不是 “魔法”,而是对 Elastic-Agent 功能的巧妙利用。在进入具体操作之前,先来了解它是如何工作的。

系统集成中的 syslogauth 数据流 现在新增了一个 Journald 输入,该输入在默认配置下 仅在 Debian 12 和 Amazon Linux 2023 上运行。现有的日志输入则相反,它不会在 Debian 12 和 Amazon Linux 2023 上运行。

Elastic-Agent 集成支持条件( conditions)判断,用于决定是否运行某个输入。例如,系统集成已经使用此功能来防止 winlog 输入在 Linux 或 macOS 上运行。现在,我们利用它来决定在不同的 Linux 发行版 上运行 Journald 还是传统日志输入

如果查看 系统集成的配置,你会发现一个新的 conditions 字段,其中 Journald 输入的配置 类似于:

${host.os_version} == "12 (bookworm)" or (${host.os_platform} == "amzn" and ${host.os_version} == "2023")

如果该条件的评估结果为 true,则输入将运行;否则,输入不会运行。

要在不同的 Linux 发行版上运行该输入,只需编辑条件以匹配你的需求。如果将其留空,输入将始终运行。

注意! 如果你在同时支持 传统日志文件Journald 的 Linux 发行版上同时运行 日志输入Journald 输入,你将会 产生重复数据,系统仪表板也会显示 重复的数值!

以下是 集成配置 的示例:

配置完成后(或接受默认设置),选择是将其添加到新策略还是现有策略

然后点击 "Save and continue"(保存并继续),并继续执行 "Add Elastic Agent to your hosts"(将 Elastic Agent 添加到你的主机)

然后按照说明使用 Linux Tar 添加代理,你需要在主机上运行以下命令:

curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-8.17.0-linux-x86_64.tar.gz 
tar xzvf elastic-agent-8.17.0-linux-x86_64.tar.gz
cd elastic-agent-8.17.0-linux-x86_64
sudo ./elastic-agent install --url=https://<YOUR FLEET SERVER ADDRESS>:8220 --enrollment-token=<YOUR ENROLMENT TOKEN>

安装 Elastic-Agent 后,进入其 Overview 页面,你会看到 Journald 输入 正在运行,而 日志输入 (log input)不可用:

如何为我的主机自定义条件( condition)?

这很简单!主机提供商(host provider)的文档 会列出它提供的键。例如,在上面的示例中,我们使用了 host.os_versionhost.os_platform

如果你想检查主机实际报告的值,可以按照以下步骤操作:

  1. 进入 Kibana,依次导航到:
    Management -> Fleet -> Agents
  2. 选择你的代理,然后点击 "Diagnostics"
  3. 点击 "Request diagnostics .zip" 请求诊断文件
  4. 诊断文件生成后,下载并解压 ZIP 压缩包
  5. 找到 variables.yml 文件
  6. host 键下,你可以看到主机提供商报告的所有 键值对,例如:
     host:
        architecture: x86_64
        id: ad88a1859979427ea1a7c24f0ae0320a
        ip:
            - 127.0.0.1/8
            - ::1/128
        mac:
            - 08:00:27:5e:8a:a5
        name: debian12
        os_family: debian
        os_platform: debian
        os_version: 12 (bookworm)
        platform: linux

那么独立运行的 Beats 呢?

很高兴你问这个问题!是的,Filebeat 也支持 Debian 12 或任何使用 Journald 的 Linux 发行版。从 8.17.0 版本开始,system 模块 (system module )就已经支持 Journald。

不过,Filebeat 的配置方式略有不同,因为它是按主机配置的,需要手动编辑配置文件。因此,你需要:

  1. 启用 system 模块
  2. 在 syslog 和 auth 这两个 fileset 配置中,将 var.use_journald 设置为 true

注意: 你需要以 root 身份执行这些步骤,因为读取部分 Journal 日志需要 root 权限

操作步骤

  • 下载并解压 tar.gz
  • 配置 filebeat.yml,填写你的 Elasticsearch 和 Kibana 凭据(Kibana 凭据用于设置数据视图、仪表板等)
  • 确保启用了相关模块,例如:
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
  reload.period: 10s
  • 通过运行 ./filebeat test output 来测试与输出的连接:
root@Debian12:~/filebeat-8.17.0-linux-x86_64# ./filebeat test output
elasticsearch: https://advent-calendar-deployment.elastic-cloud.com:443...
  parse url... OK
  connection...
    parse host... OK
    dns lookup... OK
    addresses: 35.235.72.223
    dial up... OK
  TLS...
    security: server's certificate chain verification is enabled
    handshake... OK
    TLS version: TLSv1.3
    dial up... OK
  talk to server... OK
  version: 8.17.0
root@Debian12:~/filebeat-8.17.0-linux-x86_64#
  • 通过运行 ./filebeat modules enable system 来启用 system 模块:
root@Debian12:~/filebeat-8.17.0-linux-x86_64# ./filebeat modules enable system
Enabled system
root@Debian12:~/filebeat-8.17.0-linux-x86_64#
  • 编辑 ./modules.d/system.yml 文件以启用 filesetsJournald
# Module: system
# Docs: https://www.elastic.co/guide/en/beats/filebeat/8.x/filebeat-module-system.html
- module: system
  syslog:
    enabled: true
    var.use_journald: true
  auth:
    enabled: true
    var.use_journald: true
  • 设置 system 模块:

       运行以下命令来设置系统模块:

./filebeat setup --modules system
  • 启动 Filebeat

       使用以下命令启动 Filebeat-e-v 标志将日志输出到 stderr,并以 info 级别记录:

./filebeat -e -v
  • Kibana 中查看数据:
    • 进入 "Discover" 页面,选择 filebeat-* 数据视图,你应该能看到包含 event.dataset: system.syslogevent.dataset: system.auth 的事件。
  • 访问 "Dashboards"
    • 搜索 "[Logs System]"(使用引号以过滤掉 Windows 仪表板)。
    • 所有四个仪表板都应该工作,只需确保设置适当的时间区间,默认的 15 分钟有时对某些主机来说不足够。

原文:Dec 21st, 2024: [EN] Ingesting syslog and auth logs from Journald into Elastic Stack with Elastic-Agent or Beats - Advent Calendar - Discuss the Elastic Stack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/984989.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ArcGIS Pro中字段的新建方法与应用

一、引言 在地理信息系统&#xff08;GIS&#xff09;的数据管理和分析过程中&#xff0c;字段操作起着至关重要的作用。 无论是进行地图制作、空间分析还是数据统计&#xff0c;字段都是承载属性信息的基本单元。 ArcGIS Pro作为一款功能强大的GIS软件&#xff0c;为用户提…

企业如何选择网站模版快速建站?

企业想拥有一个专业和功能齐全的官网事关重要。然而&#xff0c;对于新手用户&#xff0c;从基础开始创建网站可能是一件较为复杂和麻烦的过程。今天的文章从零开始给介绍一下如何搭建网站。 一、先确定建站的主题 用户在开始建站前明确自己建站的目的、是为了宣传网站、还是销…

Phi-4-multimodal:图、文、音频统一的多模态大模型架构、训练方法、数据细节

Phi-4-Multimodal 是一种参数高效的多模态模型&#xff0c;通过 LoRA 适配器和模式特定路由器实现文本、视觉和语音/音频的无缝集成。训练过程包括多阶段优化&#xff0c;确保在不同模式和任务上的性能&#xff0c;数据来源多样&#xff0c;覆盖高质量网络和合成数据。它的设计…

北京迅为RK3568开发板OpenHarmony系统南向驱动开发内核HDF驱动框架架构

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

爬取动态数据,爬取持久化数据

1. 动态内容与静态内容的区别 动态内容通常指通过 JavaScript 渲染或异步加载的数据。静态内容则是页面加载时直接可见的内容&#xff0c;通常通过 HTML 直接获取。很多现代网站都使用 JavaScript 动态渲染页面内容&#xff08;例如 AJAX 请求&#xff09;。 头条网站的热榜内…

rdiff-backup备份

目录 1. 服务器备份知识点 1.1 备份策略 1.2 备份步骤和宝塔面板简介 1.3 CentOS7重要目录 2. 备份工具 2.1 tar -g 备份演示 2. rsync 备份演示 3. rdiff-backup 备份演示 4. 差异和优缺点 3. rdiff-backup安装和使用 3.1 备份命令rdiff-backup 3.2 恢复命令--…

【6】字典树学习笔记

前言 WFLS 2023 寒假集训 Day2 大纲里字典树在数据结构里&#xff0c;但是个人认为应该属于字符串&#xff0c;就把它放到字符串里了 字典树 字典树&#xff0c;又称Trie树&#xff0c;字母树。每个顶点代表一个字符&#xff0c;从根节点到叶子节点的路径上所有的节点的字符…

Aim Robotics电动胶枪:机器人涂胶点胶的高效解决方案

在自动化和智能制造领域&#xff0c;机器人技术的应用越来越广泛&#xff0c;而涂胶和点胶作为生产过程中的重要环节&#xff0c;也逐渐实现了自动化和智能化。Aim Robotics作为一家专注于机器人技术的公司&#xff0c;其推出的电动胶枪为这一领域带来了高效、灵活且易于操作的…

Camel AI Owl + 阿里云QWQ 本地部署

在 Windows 环境下&#xff0c;部署 Camel AI Owl 并集成阿里云百炼 DeepSeek-R1 API。通过循序渐进的详细说明&#xff0c;你将轻松完成从环境配置到系统落地的全过程。 目录 环境准备Windows 下创建虚拟环境并安装依赖部署 Camel AI Owl配置阿里云百炼 DeepSeek-R1 API测试与…

基于django+pytorch(Faster R-CNN)的钢材缺陷识别系统

一、训练数据来源以及数据标注 数据来源于阿里云天池实验室公开数据集中的铝型材缺陷检测数据集APDDD 数据标注通过labelme进行标注&#xff0c;图片所有标注以转化为矩形标注&#xff0c;存放成json格式。 二、模型训练方式及结果 缺陷识别模型基于Faster R-CNN ResNet5…

Linux网络编程——UDP网络通信的简单实现

目录 UDP网络通信 简单的udpServer实现 头文件 封装udp服务 1、私有成员 2、构造函数和析构函数 3、 udp服务器初始化 4、udp服务器运行 5、完整代码 简单的udpClient实现 UDP实现最简单的公共聊天 完整代码 inet_ntoa()相关问题 UDP网络通信 在正式实现UDP网络通…

【Prometheus】层层解析prometheus如何监控k8s核心组件

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

【JavaEE】多线程进阶(2)

【JavaEE】多线程进阶&#xff08;2&#xff09; 一、JUC(java.util.concurrent) 的常⻅类1.1 Callable 接⼝1.2 ReentrantLock1.3 原子类原子类的特性&#xff1a;常见原子类&#xff1a;原子类的实例&#xff1a; 1.4 线程池1.5 信号量 Semaphore代码实例 1.6 CountDownLatch…

SpringBoot 如何调用 WebService 接口

前言 调用WebService接口的方式有很多&#xff0c;今天记录一下&#xff0c;使用 Spring Web Services 调用 SOAP WebService接口 一.导入依赖 <!-- Spring Boot Web依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId…

从Manus到OpenManus:多智能体协作框架如何重构AI生产力?

文章目录 Manus&#xff1a;封闭生态下的通用AI智能体OpenManus&#xff1a;开源社区的闪速复刻挑战与未来&#xff1a;框架落地的现实边界当前局限性未来演进方向 OpenManus使用指南1. 环境配置2. 参数配置3. 替换搜索引擎4. 运行效果 协作框架开启AI生产力革命 Manus&#xf…

1.5 双指针专题:有效三⻆形的个数(medium)

1.题目链接 611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/valid-triangle-number/submissions/609232447/ 2.题目描述 给定⼀个包含⾮负整数的数组 nums &#xff0c;返回其中可以组成三⻆形三条边的三元组个数。 ⽰例 1: 输…

大数据学习(59)-DataX执行机制

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博主哦&#x1f91…

《面向对象程序设计-C++》实验一 熟悉Visual C++开发环境及上机过程

一、实验目的 了解和使用VC集成开发环境&#xff1b;熟悉VC环境的基本命令和功能键&#xff1b;熟悉常用的功能菜单命令&#xff1b;学习使用VC环境的帮助&#xff1b;学习完整的C程序开发过程&#xff1b;理解简单的C程序结构。 二、实验内容 使用Visual C 6.0集成环境来编…

Chebykan wx 文章阅读

文献筛选 [1] 神经网络&#xff1a;全面基础 [2] 通过sigmoid函数的超层叠近似 [3] 多层前馈网络是通用近似器 [5] 注意力是你所需要的 [6] 深度残差学习用于图像识别 [7] 视觉化神经网络的损失景观 [8] 牙齿模具点云补全通过数据增强和混合RL-GAN [9] 强化学习&#xff1a;一…

2025解决软件供应链安全,开源安全的版本答案:SCA+SBOM

GitHub&#xff1a; https://github.com/XmirrorSecurity/OpenSCA-cli/ Gitee&#xff1a; https://gitee.com/XmirrorSecurity/OpenSCA-cli/ OpenSCA官网&#xff1a; https://opensca.xmirror.cn/ 根据Sonatype 发布的《软件供应链现状》报告&#xff0c;其中强调软件供…