使用 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_64id: ad88a1859979427ea1a7c24f0ae0320aip:- 127.0.0.1/8- ::1/128mac:- 08:00:27:5e:8a:a5name: debian12os_family: debianos_platform: debianos_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/*.ymlreload.enabled: falsereload.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... OKconnection...parse host... OKdns lookup... OKaddresses: 35.235.72.223dial up... OKTLS...security: server's certificate chain verification is enabledhandshake... OKTLS version: TLSv1.3dial up... OKtalk to server... OKversion: 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: systemsyslog:enabled: truevar.use_journald: trueauth:enabled: truevar.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

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

江科大51单片机笔记【15】直流电机驱动(PWM)

写在前言 此为博主自学江科大51单片机&#xff08;B站&#xff09;的笔记&#xff0c;方便后续重温知识 在后面的章节中&#xff0c;为了防止篇幅过长和易于查找&#xff0c;我把一个小节分成两部分来发&#xff0c;上章节主要是关于本节课的硬件介绍、电路图、原理图等理论…

【Linux】:封装线程

朋友们、伙计们&#xff0c;我们又见面了&#xff0c;本期来给大家带来封装线程相关的知识点&#xff0c;如果看完之后对你有一定的启发&#xff0c;那么请留下你的三连&#xff0c;祝大家心想事成&#xff01; C 语 言 专 栏&#xff1a;C语言&#xff1a;从入门到精通 数据结…

全球领先的光学方案设计公司:倚光科技

在光学技术革新的浪潮中&#xff0c;倚光&#xff08;深圳&#xff09;科技有限公司以创新者的姿态迅速崛起&#xff0c;成为全球光学领域的标杆企业。自 2021 年成立以来&#xff0c;公司始终聚焦纳米光学技术研发与超精密加工&#xff0c;凭借顶尖的技术实力和前瞻性的市场布…

2.2.3 TCP—UDP-QUIC

文章目录 2.2.3 TCP—UDP-QUIC1. TCP如何做到可靠性传输1. ACK机制2. 重传机制3. 序号机制4. 窗口机制5. 流量机制6. 带宽机制 2. tcp和udp如何选择1. tcp和udp格式对比2. ARQ协议&#xff08;Automatic Repeat reQuest&#xff0c;自动重传请求&#xff09;1. ARQ协议的主要类…

【动手实验】TCP 连接的建立与关闭抓包分析

本文是基于知识星球程序员踩坑案例分享中的作业进行的复现和总结&#xff0c;借此加深对 TCP 协议的理解&#xff0c; 原文参见TCP 连接的建立和关闭 —— 强烈建议新手看看。 实验环境 这里使用两台位于同一子网的腾讯云服务器&#xff0c;IP 分别是 node2&#xff08;172.1…

视频理解之Actionclip(论文宏观解读)

配合解读代码解读 1.研究背景 1. 视频行为识别的重要性 视频行为识别是视频理解领域的核心任务之一&#xff0c;旨在通过分析视频内容来识别和分类其中的人物行为或活动。这一任务在多个领域具有重要的应用价值&#xff0c;例如智能监控、人机交互、自动驾驶、医疗健康等。随…

基于LabVIEW的脚本化子VI动态生成

该示例展示了一种利用LabVIEW VI脚本&#xff08;VI Scripting&#xff09;技术&#xff0c;通过程序化方式动态生成并替换子VI的解决方案。核心逻辑为&#xff1a;基于预定义的模板VI&#xff0c;根据用户选择的数学操作&#xff08;加法或乘法&#xff09;&#xff0c;自动生…

Debian系统grub新增启动项

参考链接 给grub添加自定义启动项_linux grub定制 启动项名称自定义-CSDN博客 www.cnblogs.com 1. boot里面的grub.cfg 使用vim打开boot里面的grub.cfg sudo vim /boot/grub/grub.cfg 这时候会看到文件最上方的提示 2. 真正配置grub的文件 从刚才看到的文件提示中&#x…

ctfhub-web-SSRF通过攻略

1.URL Bypass 打开题目 请求的URL中必须包含http://notfound.ctfhub.com&#xff0c;使用来绕过即可 /?urlhttp://notfound.ctfhub.com127.0.0.1/flag.php 成功获得flag 2.数字IP Bypass 开启题目 发现127以及172被过滤了 尝试别的绕过 127.0.0.1–>localhost 127.0…

C语言(23)

字符串函数 11.strstr函数 1.1函数介绍&#xff1a; 头文件&#xff1a;string.h char *strstr ( const char * str1,const char *str2); 作用&#xff1a;在一个字符串&#xff08;str1&#xff09;中寻找另外一个字符串&#xff08;str2&#xff09;是否出现过 如果找到…

uniapp+Vue3 组件之间的传值方法

一、父子传值&#xff08;props / $emit 、ref / $refs&#xff09; 1、props / $emit 父组件通过 props 向子组件传递数据&#xff0c;子组件通过 $emit 触发事件向父组件传递数据。 父组件&#xff1a; // 父组件中<template><view class"container">…

晨控CK-FR08与汇川H5U系列PLC配置EtherNet/IP通讯连接手册

晨控CK-FR08与汇川H5U系列PLC配置EtherNet/IP通讯连接手册 晨控CK-FR08系列作为晨控智能工业级别RFID读写器,支持大部分工业协议如RS232、RS485、以太网。支持工业协议Modbus RTU、Modbus TCP、Profinet、EtherNet/lP、EtherCat以及自由协议TCP/IP等。 本期主题&#xff1a;围…

BLDC直流无刷电机转速电流双闭环调速MATLAB仿真

微♥&#xff1a;“电击小子程高兴的MATLAB小屋”获取巨额优惠 1.模型简介 本仿真模型基于MATLAB/Simulink&#xff08;版本MATLAB 2017Ra&#xff09;软件。建议采用matlab2017 Ra及以上版本打开。&#xff08;若需要其他版本可联系代为转换&#xff09; 2.仿真算法&#x…

Windows 11下Git Bash执行cURL脚本400问题、CMD/PowerShell不能执行多行文本等问题记录及解决方案

问题 在Postman里可成功执行的POST请求&#xff1a; 找到Postman的Code 因为cURL基本上算是行业标准&#xff0c;所以Postman默认选中cURL&#xff0c;支持切换不同的开发语言&#xff1a; 点击上图右上角的复制按钮&#xff0c;得到cURL脚本。 Windows 11家庭版&#xff…

4个 Vue 路由实现的过程

大家好&#xff0c;我是大澈&#xff01;一个喜欢结交朋友、喜欢编程技术和科技前沿的老程序员&#x1f468;&#x1f3fb;‍&#x1f4bb;&#xff0c;关注我&#xff0c;科技未来或许我能帮到你&#xff01; Vue 路由相信朋友们用的都很熟了&#xff0c;但是你知道 Vue 路由…

es-索引详解

在 Elasticsearch 中&#xff0c;**索引&#xff08;Index&#xff09;**是核心概念之一&#xff0c;类似于关系型数据库中的“表”。索引用于存储、组织和检索文档&#xff08;Document&#xff09;。以下是关于 Elasticsearch 索引的详细解析&#xff1a; 1. 索引的基本概念 …

C#实现本地Deepseek模型及其他模型的对话v1.4

前言 系 统&#xff1a;Window11 开发工具&#xff1a;Visual Studio 2022 相关技术&#xff1a;C# 、WPF .Net 8.0 1、C#实现本地AI聊天功能 WPFOllamaSharpe实现本地聊天功能,可以选择使用Deepseek 及其他模型。 新增根据聊天记录回复的功能。 优化了部分ViewModel&#xff…

若依框架-给sys_user表添加新字段并获取当前登录用户的该字段值

目录 添加字段 修改SysUser类 修改SysUserMapper.xml 修改user.js 前端获取字段值 添加字段 若依框架的sys_user表是没有age字段的&#xff0c;但由于业务需求&#xff0c;我需要新添加一个age字段&#xff1a; 修改SysUser类 添加age字段后&#xff0c;要在SysUser类 …

用Qt手搓AI助手,挑战24小时开发DeepSeek Assistant!

一、项目需求分析与技术选型 DeepSeekAssistant是一款基于深度求索&#xff08;DeepSeek&#xff09;API的智能对话助手&#xff0c;核心需求包括&#xff1a; 用户界面友好&#xff1a;支持多轮对话展示数据持久化&#xff1a;历史记录存储与检索异步网络通信&#xff1a;AP…

linux 软件扩展GPU显存

概述 共享内存可以通过 Unified Memory&#xff08;统一内存&#xff09;来实现&#xff0c;它允许 CPU 和 GPU 共享相同的内存地址空间&#xff0c;从而方便数据的传输和访问。 利用该技术可解决家用GPU 机器学习时显存不足的问题 &#xff08;注&#xff1a; 虽然解决了爆显…