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

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 曾几何时,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:





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



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




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




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


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
|
5月前
|
存储 弹性计算 运维
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
可观测性体系问题之Process Layer在ECS稳定性平台中的工作如何解决
42 0
|
Prometheus 监控 Cloud Native
SigNoz,一款集日志、指标及追踪一体的开源平台
Hello folks,我是 Luga,今天我们来分享一下与云原生体系有关的话题- 云原生可观测性平台-SigNoz。 作为一个“核心”体系,可观测性在监控分布式微服务应用程序和云基础设施的可见性和控制自动化层面具有举足轻重的意义。
600 0
|
7月前
|
存储 SQL 数据采集
通过定时SQL提取阿里云API网关访问日志指标
背景阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计算多种指标,监测服务运行情况。继而通过定时SQL将结果指标直接存储到时...
通过定时SQL提取阿里云API网关访问日志指标
|
24天前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
176 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
2月前
|
XML JSON Java
Logback 与 log4j2 性能对比:谁才是日志框架的性能王者?
【10月更文挑战第5天】在Java开发中,日志框架是不可或缺的工具,它们帮助我们记录系统运行时的信息、警告和错误,对于开发人员来说至关重要。在众多日志框架中,Logback和log4j2以其卓越的性能和丰富的功能脱颖而出,成为开发者们的首选。本文将深入探讨Logback与log4j2在性能方面的对比,通过详细的分析和实例,帮助大家理解两者之间的性能差异,以便在实际项目中做出更明智的选择。
256 3
|
4月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
136 3
|
2月前
|
存储 缓存 关系型数据库
MySQL事务日志-Redo Log工作原理分析
事务的隔离性和原子性分别通过锁和事务日志实现,而持久性则依赖于事务日志中的`Redo Log`。在MySQL中,`Redo Log`确保已提交事务的数据能持久保存,即使系统崩溃也能通过重做日志恢复数据。其工作原理是记录数据在内存中的更改,待事务提交时写入磁盘。此外,`Redo Log`采用简单的物理日志格式和高效的顺序IO,确保快速提交。通过不同的落盘策略,可在性能和安全性之间做出权衡。
1655 14
|
2月前
|
Python
log日志学习
【10月更文挑战第9天】 python处理log打印模块log的使用和介绍
35 0
|
2月前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
226 0