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

简介: 本文是借助阿里云环境进行的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

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
相关文章
|
机器学习/深度学习 文字识别 监控
安全监控系统:技术架构与应用解析
该系统采用模块化设计,集成了行为识别、视频监控、人脸识别、危险区域检测、异常事件检测、日志追溯及消息推送等功能,并可选配OCR识别模块。基于深度学习与开源技术栈(如TensorFlow、OpenCV),系统具备高精度、低延迟特点,支持实时分析儿童行为、监测危险区域、识别异常事件,并将结果推送给教师或家长。同时兼容主流硬件,支持本地化推理与分布式处理,确保可靠性与扩展性,为幼儿园安全管理提供全面解决方案。
555 3
|
存储 JSON 数据格式
ElasticSearch基础概念解析
以上就是ElasticSearch的基础概念。理解了这些概念,你就可以更好地使用ElasticSearch,像使用超级放大镜一样,在数据海洋中找到你需要的珍珠。
354 71
|
人工智能 API 开发者
HarmonyOS Next~鸿蒙应用框架开发实战:Ability Kit与Accessibility Kit深度解析
本书深入解析HarmonyOS应用框架开发,聚焦Ability Kit与Accessibility Kit两大核心组件。Ability Kit通过FA/PA双引擎架构实现跨设备协同,支持分布式能力开发;Accessibility Kit提供无障碍服务构建方案,优化用户体验。内容涵盖设计理念、实践案例、调试优化及未来演进方向,助力开发者打造高效、包容的分布式应用,体现HarmonyOS生态价值。
802 27
|
11月前
|
JSON 安全 数据可视化
Elasticsearch(es)在Windows系统上的安装与部署(含Kibana)
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,主要与 Elasticsearch 配合使用,提供强大的数据探索、分析和展示功能。elasticsearch安装在windows上一般是zip文件,解压到对应目录。文件,elasticsearch8.x以上版本是自动开启安全认证的。kibana安装在windows上一般是zip文件,解压到对应目录。elasticsearch的默认端口是9200,访问。默认用户是elastic,密码需要重置。
5654 0
|
数据采集 机器学习/深度学习 存储
可穿戴设备如何重塑医疗健康:技术解析与应用实战
可穿戴设备如何重塑医疗健康:技术解析与应用实战
621 4
|
存储 弹性计算 安全
阿里云服务器ECS通用型规格族解析:实例规格、性能基准与场景化应用指南
作为ECS产品矩阵中的核心序列,通用型规格族以均衡的计算、内存、网络和存储性能著称,覆盖从基础应用到高性能计算的广泛场景。通用型规格族属于独享型云服务器,实例采用固定CPU调度模式,实例的每个CPU绑定到一个物理CPU超线程,实例间无CPU资源争抢,实例计算性能稳定且有严格的SLA保证,在性能上会更加稳定,高负载情况下也不会出现资源争夺现象。本文将深度解析阿里云ECS通用型规格族的技术架构、实例规格特性、最新价格政策及典型应用场景,为云计算选型提供参考。
|
算法 测试技术 C语言
深入理解HTTP/2:nghttp2库源码解析及客户端实现示例
通过解析nghttp2库的源码和实现一个简单的HTTP/2客户端示例,本文详细介绍了HTTP/2的关键特性和nghttp2的核心实现。了解这些内容可以帮助开发者更好地理解HTTP/2协议,提高Web应用的性能和用户体验。对于实际开发中的应用,可以根据需要进一步优化和扩展代码,以满足具体需求。
1248 29
|
前端开发 数据安全/隐私保护 CDN
二次元聚合短视频解析去水印系统源码
二次元聚合短视频解析去水印系统源码
516 4
|
JavaScript 算法 前端开发
JS数组操作方法全景图,全网最全构建完整知识网络!js数组操作方法全集(实现筛选转换、随机排序洗牌算法、复杂数据处理统计等情景详解,附大量源码和易错点解析)
这些方法提供了对数组的全面操作,包括搜索、遍历、转换和聚合等。通过分为原地操作方法、非原地操作方法和其他方法便于您理解和记忆,并熟悉他们各自的使用方法与使用范围。详细的案例与进阶使用,方便您理解数组操作的底层原理。链式调用的几个案例,让您玩转数组操作。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
移动开发 前端开发 JavaScript
从入门到精通:H5游戏源码开发技术全解析与未来趋势洞察
H5游戏凭借其跨平台、易传播和开发成本低的优势,近年来发展迅猛。接下来,让我们深入了解 H5 游戏源码开发的技术教程以及未来的发展趋势。

热门文章

最新文章

相关产品

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

    更多
  • DNS
  • 下一篇
    开通oss服务