【Elastic Engineering】Observability:如何在最新的 Elastic Stack 中使用 Fleet 摄入 system 日志及指标

简介: 曾几何时,Beats 是我们作为 Elastic Stack 重要的数据摄入方式。我们在 Kibana 的界面中经常看到的是这样的界面:


几何时,Beats 是我们作为 Elastic Stack 重要的数据摄入方式。我们在 Kibana 的界面中经常看到的是这样的界面:




详细描述,可以参阅之前的文章 “Beats:Beats 入门教程 (二)”。 我们可以看到在 Kibana 的界面中,有一个常见的 “Add log data” 等之类的链接,或者如下的 “Add your data”:



从上面的截图中,我们可以看出来,我们可以使用 Beats 来进行我们的日志及指标的摄入。


最近,我安装了最新的 7.16.3,打开 Kibana,我们可以看到:



上面再也没有之前的 “Add data” 之类的按钮,取而代之的是 “Add integration”。这说明在现在的 Elastic Stack  发行版中,官方推荐的方法是使用 integration 而不是以前的 Beats。随着未来 Elastic Stack 8.0  的推出,Fleet 是被推荐来摄入数据的方法,尽管 Beats 的方法还是适用的,特别是针对和 Logstash 组成 pipeline  的情况。


在今天的文章中,我们来介绍如何是使用 integration 的方法来摄入 system 日志及指标。在今天的展示中,我将使用 Elastic Stack 7.16.3,并在一个 Ubuntu 机器上安装 Elasticsearch 及 Kibana。 Ubuntu 机器的 IP 地址为 192.168.0.4。

image.png


如何在最新的 Elastic Stack 中使用 Fleet 摄入 system 日志及指标


如何在最新的 Elastic Stack 中使用 Fleet 摄入 system 日志及指标_哔哩哔哩_bilibili


安装


我们首先按照我之前的文章 “Security:如何安装 Elastic SIEM 和 EDR” 来安装一个带有 HTTPS 安全的 Elasticsearch 集群(你不必要安装 Filebeat 及 Zeek)。接下来,


或者,我们按照文章 “如何在 Linux,MacOS 及 Windows 上进行安装 Elasticsearch” 来安装 Elasticsearch。我们需要对 config/elasticsearch.yml 做如下的配置:


config/elasticsearch.yml


network.host: 0.0.0.0
discovery.type: single-node
xpack.security.enabled: true
xpack.security.authc.api_key.enabled: true


我们安装  “Kibana:如何在 Linux,MacOS 及 Windows上安装 Elastic 栈中的 Kibana” 来安装 Kibana。我们需要根据文章 “Elasticsearch:设置 Elastic 账户安全” 来配置集群的安全。我们需要针对 config/kibana.yml 做如下的配置:


config/kibana.yml


server.host: "0.0.0.0"
elasticsearch.username: "kibana_system"
elasticsearch.password: "password"
xpack.encryptedSavedObjects.encryptionKey: 'fhjskloppd678ehkdfdlliverpoolfcr'


这里的 password 是我们在之前的安全设置中为 kibana_system 设置的密码,而 xpack.encryptedSavedObjects.encryptionKey 的值是一个32位的随机字符串。我们可以通过如下的方式来获得:


./bin/kibana-encryption-keys generate


我们来参照我之前的文章 “Observability:运用 Fleet 来轻松地导入 Nginx 日志及指标” 来进行操作。


动手实践


我打开 Kibana:




从上面,我们可以看出来没有任何的 integrations 被安装。 由于还没有安装 Fleet Server


我们先来创建一个 policy:




依赖于你的网络,上面的屏幕需要等待一些时间。



我们想把 Fleet Server 配置到和 Elasticsearch 同一个机器上:





我们点击上面的链接去下载 Elastic Agent:



我们可以按照如下的方式来进行下载:


curl -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-7.16.3-linux-x86_64.tar.gz

 

我使用如下的命令来进行安装:


tar xzf elastic-agent-7.16.3-linux-x86_64.tar.gz




拷贝上面的 token,并同时拷贝上面的命令。我们在 Elastic Agent 的安装目录中运行:


sudo ./elastic-agent install   \
  --fleet-server-es=http://localhost:9200 \
  --fleet-server-service-token=AAEAAWVsYXN0aWMvZmxlZXQtc2VydmVyL3Rva2VuLTE2NDMwOTU5NTcwMDI6dndfMkUzUTVUMUtwS1FOSzA0Nld0Zw \
  --fleet-server-policy=499b5aa7-d214-5b5d-838b-3cd76469844e \
  --fleet-server-insecure-http



上面表明我们的安装是成功的。




上面的状态为 Updating。我们需要等一段时间:



上面表明我们的 Fleet Server 的安装是成功的。我们选择  Agent policies:




我们可以看有一个叫做 system-1 的 integration:



从这里我们可以针对不同的平台进行配置。针对我们的 Linux 情况,我不做任何的修改。


我们可以把目前的这个唯一的 agent 赋予给 Default policy:




这是因为 system-1 这个 integration 是在 Default policy 里的:






这个时候,我们可以看到不同的 data streams:





我们可以看不同的数据,只要我们选择好时间范围。



我们可以选择一下指标来进行查看:




我们再次回到之前的画面:




好了,今天我的演示就到这里。从上面的步骤中我们可以看出来,在最新的版本中,收集日志及指标和我们以前的是完全不一样的。这里面可能还有些概念的问题。希望大家多练习!


相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
运维 监控 Cloud Native
一行代码都不改,Golang 应用链路指标日志全知道
本文将通过阿里云开源的 Golang Agent,帮助用户实现“一行代码都不改”就能获取到应用产生的各种观测数据,同时提升运维团队和研发团队的幸福感。
669 134
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
144 0
|
存储 SQL 数据采集
通过定时SQL提取阿里云API网关访问日志指标
背景阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计算多种指标,监测服务运行情况。继而通过定时SQL将结果指标直接存储到时...
通过定时SQL提取阿里云API网关访问日志指标
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
3950 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
8月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
849 55
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
381 9
|
11月前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
857 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
11月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
525 5
图解MySQL【日志】——Redo Log

热门文章

最新文章