Elasticsearch 全观测技术解析与应用(五):阿里云ES全观测性配置

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文是借助阿里云环境进行的ES实战演练,主要演示了APM的配置和使用过程,介绍了相关界面的使用和注意事项,引入大家系统地使用ES。

点击免费下载
《Elasticsearch 全观测技术解析与应用》>>>

分享人:李猛

今天我们借助阿里云环境来做一个实战的演练,围绕这三点来讲解:阿里云ES介绍、搭建全观测性环境、全观测性总结。

一、阿里云ES介绍

首先介绍一下阿里云。阿里云目前是中国最好的云,全世界排第三,基本上公司有条件的都会上云,而阿里云是最可靠的。阿里云在它平台上集成了很多开源的产品,使用起来非常方便,省去了搭建、服务器维护等工作。

我们打开阿里云地址,在产品的大数据这个地方可以找到Elasticsearch。

image.png

然后点进去,进入ES界面。现在ES这套产品在阿里云有一个月的试用期,搭建集群非常快,基本上几分钟就完成了。在这个里面可以看到有很多ES的资料和开发报告等内容。

image.png

我们点进“0元开发ELK”,填写一些关键的信息就可以了开通了,它会引导你一步步地去配置一个ES环境。

image.png

第一步,在这个区域上配有三个节点,我们按照提示一步一步下去配置,非常方便。

image.png

再继续下去要配虚拟网络和ES的登录密码,因为我们自己搭建ES默认是没有启动安全的。但是在云上是一定要启动,因为云上是一个公共的环境,是一个开放云,你最终要把这个地址暴露出来。

密码设置符合它的规则就好了,后面访问ES和Kibana会用到。另外选专有网络这里要注意,必须要选择同一个区域,假设你前面选择的是华东杭州,那么选择专有网络虚拟交换机也要选择同一个区域才有效。

image.png

下一步我们确认订单,支付购买就完成了,然后我们来进行搭建。

首先在整个ES里面,我们要搭建两个,就是Elasticsearch和Kibana。

image.png

现在显示这已经有一个集群在运行,我们可以点执行管理,进去后看到这个集群的版本、实例类型、节点等等。

image.png

我们从实例名点进去,可以看到一些基本的信息,ES的一些配置信息等,这些在默认的情况下都不用去修改。

image.png

我们这个集群是搭建好的,搭建完成之后有几个地方要配置。第一个就是如果要公网访问,一定要去开通安全,它会生成这样一个临时的域名,我们可以通过它来访问9200端口和检查Nodes节点。

image.png

这里公网配置一定要选择打开,如果这个地方的公网地址没有启用,外网是不可访问的。

image.png

还有,公网打开之后还要修改公网访问白名单地址,根据上面的提示来写,00000代表所有访问的IPV4地址不限制,如果你不设置,它默认是禁止的。

image.png

接下来是第二个配置,可视化。我们点“可视化控制”进入界面,进入后在“修改配置”里面修改公网的地址,选择“公网开放”,如果不修改它也是不能访问的。

image.png
image.png

随后,我们回到上一级页面,点“修改配置”旁边的“进入控制台”,输入刚才我们设置的ES密码就可以进入Kibana的页面了。

image.png

这个界面它有一个home,介绍到它的主要产品概念,比如第一个可观测性observability,可以看到APM、Logs、Metrics。我们也可以去加载一些样例数据,ES它专门集成在里面,方便我们去做测试。

image.png

环境搭好之后,我们要做一套自己的监控。第一步是搭建Kibana,我们已经完成了,随后要做一个应用性能采集的东西,叫APM。我们可以在左边的菜单栏找到“APM”点进去,这个里面会记录,比如有多少个微服务,一两百个都可以采过来,然后绘制图表展示信息。

image.png

APM要怎么应用呢?虽然阿里云上面提供了 ES、Logstash、Beats数据采集,但是APM并没有给我们。加入我们的应用程序部署在别的服务器上,我们如何去进行对接?

为了演示这个案例,我们没有在阿里云申请别的服务器,就用本地机器来代替。首先,我们要部署一个APM server,它的版本最好和服务器的ES版本一样。

image.png

APM server有几个地方要先进行配置,我们用文本打开APM文件。首先,因为数据采集之后要传到Logstash上面,所以这里有一个localhost的地址,它代表APM server。

Java App agent数据采集之后首先传给APM server,然后APM server再把数据给到远程。这里因为我们本来用的本地服务器环境,所以可以默认用本地地址。

image.png

第二个就是数据最终output的地方,我们找到output Elasticsearch的localhost,这是数据采集要指向的ES远程地址,我们刚刚已经说过远程的ES地址,把它复制过来。

image.png

大家注意原来的9200端口,然后协议http删掉。

image.png

因为是远程访问,所以还需要密码,这里把之前的用户名和密码都配置到这里。

image.png

然后我们找到monitor,这是监控ES自己的,它默认是不启用的,所以我们把它选择为true。 做完之后,APM这一套我们就算配置完成了,然后我们就可以启动它。
image.png

在Windows下它是一个exe文件,我们输入CMD打开窗口,再运行APM server。

image.png

搭建好之后要先去检查一下Monitor是否部署到位,我们找到Kibana界面的Stack Monitoring,点进去查看。

image.png

点进去之后,可以在页面上看到我们刚启动的APM server。

image.png

接下来,我们就可以把应用程序的日志采集上来进行分析了。为了演示,我们需要写一个Java APP,这里已经提前写好了,我们开始编程。

image.png

我们做APM首先要编写应用程序,应用程序里面有几个参数要注意。

我们先在这个Readme里面看一下,首先它是通过Java agent这种方式,类似于提前式的拦截来植入程序包,它会检查程序调用;其次,它会指定程序名字,我们这个就叫apm-java01,如果你的同一个微服务部署了很多,名字最好都一样,因为最终它最多只是机器名字不一样,相当于做一个归类;然后我们还要再配一个地址,因为APM采集之后要到APM server里;最后是比较关键的程序包扫描,程序包扫描是有规范的,比如要扫描哪些范围,否则如果把所有程序都扫描一遍也是没有意义的。

image.png

基于这些我们来运行一下,看看效果怎么样。我们回到目录打开这个文件,可以看到,这是一个典型的Spring Boot项目,它已经运行成功了,然后我们去访问一下。

image.png

我们刷新这个界面,大概几秒钟就可以看到apm-java01了。

image.png

我们点进来,可以看到APM的窗口。

image.png

接下来我们把其他的接口都访问一遍。

image.png

然后刷新列表,我们可以在里面发现存在的问题,比如这个接口平均响应时间居然要十几秒,说明它一分钟只能做不到10个处理。

image.png

接下来我们一个一个看。首先点进API1,可以看到它消耗的时间比较长,因为我们在程序里面故意做了一个延迟,API2和API3也是一样,我们都在里面做了延迟的操作。

image.png

API4因为我们写的是报错,所以大家可以注意到它的状态是不一样的,它这里是返回500。

image.png

作为开发人员,我们最关心的就是程序接口的响应速度和错误,而ES已经帮我们做了太多工作。我们在Errors这个页面可以找到刚刚的错误,它甚至把代码行定位出来了,在第71行。

image.png

我们回到71行代码片段看一下,确实是这里错误。

image.png

接下来再看看API5,API5我们是用来检查全链路追踪的。5000、5001、5002、5003,基本上把全链路都抓出来,看为什么时间消耗这么多。

image.png

以上就是Transactions的部分,下面讲讲JVMs,我们从这里点进来。

image.png

在里面可以看到历史的数据、追踪的数据,CPU消耗的内存、堆栈等等。

image.png

接下来再介绍一个强大的APM,Service Map。我们点进去可以看到服务的调用关系,比如我们的java程序调用了ES,假如我们的服务调用了很多服务,这个服务又调用了下一个服务,你就能直观地知道你的应用是怎样的情况,非常方便。

image.png

以上就是关于APM的介绍,当然ES的监控其实有很多,APM只是其中一个,它还包括了日志指标,Filebeat、Metricbeat、Heartbeat等指标采集,它们的配置和APM基本一样,配置完成后我们在ES界面上就能看到相应的数据。

image.png

最后给大家说一下Alert告警的位置,我们在Management的Alerts and Actions里可以找到,然后自己进行配置。

image.png

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
12天前
|
机器学习/深度学习 人工智能 算法
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
DeepSeek-R1 通过创新的训练策略实现了显著的成本降低,同时保持了卓越的模型性能。本文将详细分析其核心训练方法。
317 11
DeepSeek技术报告解析:为什么DeepSeek-R1 可以用低成本训练出高效的模型
|
1天前
|
域名解析 网络协议 Ubuntu
DHCP与DNS的配置
通过这些步骤,您可以在Linux环境下成功配置和验证DHCP和DNS服务。希望这些内容对您的学习和工作有所帮助。
52 27
|
6天前
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
企业级API集成方案:基于阿里云函数计算调用DeepSeek全解析
DeepSeek R1 是一款先进的大规模深度学习模型,专为自然语言处理等复杂任务设计。它具备高效的架构、强大的泛化能力和优化的参数管理,适用于文本生成、智能问答、代码生成和数据分析等领域。阿里云平台提供了高性能计算资源、合规与数据安全、低延迟覆盖和成本效益等优势,支持用户便捷部署和调用 DeepSeek R1 模型,确保快速响应和稳定服务。通过阿里云百炼模型服务,用户可以轻松体验满血版 DeepSeek R1,并享受免费试用和灵活的API调用方式。
|
5天前
|
人工智能 自然语言处理 算法
DeepSeek模型的突破:性能超越R1满血版的关键技术解析
上海AI实验室周伯文团队的最新研究显示,7B版本的DeepSeek模型在性能上超越了R1满血版。该成果强调了计算最优Test-Time Scaling的重要性,并提出了一种创新的“弱到强”优化监督机制的研究思路,区别于传统的“从强到弱”策略。这一方法不仅提升了模型性能,还为未来AI研究提供了新方向。
256 5
|
1月前
|
缓存 算法 Oracle
深度干货 如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
数据库高可用(High Availability,HA)是指在系统遇到故障或异常情况时,能够自动快速地恢复并保持服务可用性的能力。如果数据库只有一个实例,该实例所在的服务器一旦发生故障,那就很难在短时间内恢复服务。长时间的服务中断会造成很大的损失,因此数据库高可用一般通过多实例副本冗余实现,如果一个实例发生故障,则可以将业务转移到另一个实例,快速恢复服务。
深度干货  如何兼顾性能与可靠性?一文解析YashanDB主备高可用技术
|
7天前
|
弹性计算 运维 网络安全
阿里云轻量应用服务器产品解析与搭建个人博客网站教程参考
轻量应用服务器(Simple Application Server)作为阿里云面向单机应用场景推出的云服务器产品,以其一键部署、一站式管理、高性价比等特性,深受个人开发者、中小企业及入门级用户的喜爱。本文将全面解析阿里云轻量应用服务器的产品优势、应用场景、使用须知,以及使用轻量应用服务器搭建个人博客网站的详细教程,帮助用户更好地了解和使用这一产品。
|
22天前
|
CDN
阿里云CDN怎么收费?看这一篇就够了,CDN不同计费模式收费价格全解析
阿里云CDN的费用由基础费用和增值费用组成。基础费用有三种计费方式:按流量、按带宽峰值和月结95带宽峰值,默认为按流量计费,价格根据使用量阶梯递减。增值费用包括静态HTTPS请求、QUIC请求等,按实际使用量收费,不使用不收费。具体收费标准和详细规则可参考阿里云官方页面。
|
1月前
|
存储 运维 安全
深入解析操作系统控制台:阿里云Alibaba Cloud Linux(Alinux)的运维利器
本文将详细介绍阿里云的Alibaba Cloud Linux操作系统控制台的功能和优势。
67 6
|
3月前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
133 2

热门文章

最新文章

相关产品

  • 检索分析服务 Elasticsearch版
  • 推荐镜像

    更多