Alibaba Cloud Toolkit 中SLS插件助力线上服务问题排查

简介:Alibaba Cloud Toolkit 是一款非常优秀的插件,新增SLS日志服务的功能,针对软件开发者日常工作中常见的问题排查场景,将日志服务平台的功能集成到ide当中,省去了不同窗口之间来回切换的时间,大大提高了日常工作的效率。

产品介绍

Alibaba Cloud Toolkit 是阿里云针对IDE平台为开发者提供的一款插件,用于帮助开发者高效开发并部署适合在云端运行的应用。在本地完成应用程序的开发、调试和测试后,可以使用在IDE(如Eclipse或IntelliJ)中安装的Cloud Toolkit插件,通过图形配置的方式连接到云端部署环境并将应用程序快速部署到云端。

SLS插件解决的痛点

作为一个软件开发人员,线上问题的排查是必不可少的经历。在不同成熟度的服务中,线上排查的流程也有些许不同。某些小的创业公司开发的软件,有可能服务还是单点的,或者几台机器搭建一个集群,每个服务的日志都需要ssh到每一台服务器上查看日志。成熟度高一些的公司,就会自建自己的日志服务平台、或者使用像SLS这种成熟的日志平台,将线上的日志集中起来管理,这样就省去了ssh到服务器上查看日志的麻烦,这样已经大大提高了问题排查的效率,

但是,还是不够完美。我们假设一种常见的场景,就是当线上发生了异常,此时我们从日志服务平台的页面上找到了服务的日志,比如是Java的stack trace。Java的stack trace通常是比较长的,那么为了准确的从代码库中找到发生异常的代码,我们需要在日志服务平台的页面和ide中来回切换;某些时候,当日志过长的时间,我们还需要把日志拷贝到本地文件中。这样在不同窗口之间来回切换,浪费了非常多宝贵的时间。

那么为了方便我们准确的把日志服务平台的日志跟代码关联起来,Alibaba Cloud Toolkit集成了SLS日志平台的功能,让软件开发者能够在ide中方便的查询到想要的日志。日志服务SLS是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升研发、运维、运营、安全等场景的数字化能力。

下面我们就来看一个常见的java服务异常排查的场景,来看看Alibaba Cloud Toolkit插件中SLS的功能到底有多方便。

场景模拟

服务模拟

首先我们模拟一个线上发生异常的服务。创建一个简单的springboot服务,然后实现ApplicationRunner的一个Component类型的bean,做的事情非常简单,就是每秒打印一行NPE的日志,用来模拟线上发生NPE的服务。

@Component
@Slf4j
public class LogDemoService implements ApplicationRunner {@Overridepublic void run(ApplicationArguments args) throws Exception {while (true) {try {String field = null;System.out.println(field.length());Thread.sleep(1000);} catch (Exception e) {log.error("write exception log :", e);}}}
}

服务打包好之后,在服务器上启动服务。

SLS采集部署、验证

然后我们在服务器上部署SLS的日志采集服务,具体操作文件参见:Logtail采集 - 日志服务 - 阿里云,用来把日志采集到SLS的logstore中,

我们在SLS的页面上确认日志已经成功采集到了之后,服务的模拟和日志平台的接入就已经完成了,下面我们回到ide里。

IDE配置、使用流程

首先我们通过intellij的plugins的market place查找到Alibaba Cloud Toolkit, 点击install,然后重启ide之后即可生效

点击Tools-> Alibaba Cloud -> Preference,配置账号信息,这里需要把拥有SLS日志查看权限的账号的Access Key Id和Access Key Secret填入

点击Tools-> Alibaba Cloud -> Alibaba Cloud View -> Alibaba Cloud SLS

即可在ide的窗口的下方看见SLS的日志查询界面

选择相应的Region和project之后,点击对应的logstore右边的查看按钮

就可以像SLS的页面一样,在ide里面查看服务的日志了,这个界面还支持日志时间范围的筛选和查询、分析语句的筛选,可以帮助开发人员快速准确的找到想要的日志数据。SLS查询和分析语句可以参考文档:查询与分析 - 日志服务 - 阿里云

像Java Stack Trace这种比较长的日志,在这个界面没有办法一次性看到完整的信息,在查询结果每条日志右侧有一个"在编辑器中打开"的按钮

点击之后,就可以在ide的新的页面里完整查看这条日志,方便开发人员获取最完整的信息

总结

Alibaba Cloud Toolkit 是一款非常优秀的插件,新增SLS日志服务的功能,针对软件开发者日常工作中常见的问题排查场景,将日志服务平台的功能集成到ide当中,省去了不同窗口之间来回切换的时间,大大提高了日常工作的效率。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

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

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

相关文章

别等被偷家了,再说数据安全~

在数字经济和技术生态高质量发展的今天,企业对前沿技术和高质量人才的需求不断升级。为了帮助更多开发者、企业洞察行业趋势、技术热点,CSDN 重磅打造技术访谈金牌栏目《架构师说》,聚焦数字化转型、云原生、数据库、开源技术、人工智能、出海…

iLogtail使用入门-K8S环境日志采集到SLS

​简介:iLogtail是阿里云中简单日志服务又名“SLS”的采集部分。 它用于收集遥测数据,例如日志、跟踪和指标,目前已经正式开源(https://github.com/alibaba/ilogtail)。本文通过介绍ilogtail如何在K8S环境进行安装、配置、使用的最简流程&…

java并发condition_Java并发之Condition的实现分析

一、Condition的概念介绍回忆 synchronized 关键字,它配合 Object 的 wait()、notify() 系列方法可以实现等待/通知模式。对于 Lock,通过 Condition 也可以实现等待/通知模式。Condition 是一个接口。Condition 接口的实现类是 Lock(AQS)中的 ConditionO…

【新功能】开放搜索多路召回技术解读

简介:多路召回就是指采用不同的策略、特征或者简单模型,分别召回一部分候选集,然后再把这些候选集混合在一起后供后续排序模型使用的策略,本文将介绍开放搜索平台上的多路召回技术是如何深度提升搜索效果的。 背景 所谓的“多路…

CCO x Hologres:实时数仓高可用架构再次升级,双11大规模落地

简介:本文将会介绍今年是如何在去年基础上进行实时数仓高可用架构升级,并成功大规模落地双11。 作者 | 梅酱 来源 | 阿里技术公众号 一 2021年双11总结 2021年阿里巴巴双11期间,由CCOHologres构建的高可用实时数仓经过2年的迭代&#xff0…

MLPerf世界纪录技术分享:通过模型压缩优化取得最佳性能

作者 | 刘姝 供稿 | 浪潮 MLPerf竞赛由图灵奖得主大卫帕特森(David Patterson)联合谷歌、斯坦福、哈佛大学等单位共同成立,是国际上最有影响力的人工智能基准测试之一。在MLPerf V0.7推理竞赛开放赛道中,浪潮信息通过模型压缩优…

Serverless 应用优化四则秘诀

简介:Serverless 架构下,虽然我们更多精力是关注我们的业务代码,但是实际上对于一些配置和成本也是需要进行关注的,并且在必要的时候,还需要根据配置与成本进行对我们的 Serverless 应用进行配置优化和代码优化。 Ser…

懵了,构建一个 Docker 镜像花 60 分钟?如何提高效率?

作者 | Andy来源 | 进击云原生最近,有一个需求:向镜像构建管道添加一个参数,以允许用户在构建时配置超时时间。我们计划在构建时配置 10 分钟的默认超时,并且允许用户覆盖此配置,因为他们的某些镜像构建需要长达 60 分…

java实现短信上行源码_Java 发送短信验证码 示例源码

【实例简介】执行前请先设置修改 src/test.java 文件//用户名private static String Uid "uid";//接口安全秘钥(不是登录密码)private static String Key "key";//手机号码,多个号码如13800000000,13800000001,13800000002private static Str…

Android项目架构设计深入浅出

简介:本文结合个人在架构设计上的思考和理解,介绍如何从0到1设计一个大型Android项目架构。 作者 | 璞珂 来源 | 阿里技术公众号 前言:本文结合个人在架构设计上的思考和理解,介绍如何从0到1设计一个大型Android项目架构。 一 引…

技术实践第四期|解读移动开发者日常-性能监控平台应用

简介:应用性能监控平台是用来帮助客户提升应用性能质量和稳定性的重要环节,本人作为一名移动端开发者有着丰富的使用和运维经验,希望通过本文分享过往的心得和使用经验,让我参与开发的U-APM这款产品中,作为借鉴可以在中…

彻底理解操作系统:CPU与实模式

作者 | 陆小风来源 | 码农的荒岛求生‍对于人类来说,我们不喜欢拐弯抹角,喜欢更直接的东西,“有话直说”、“没有中间商赚差价”、“简洁的设计”等等,然而对于计算机,尤其是对内存管理来说则恰恰相反,在这…

边缘计算的 4 种类型都有哪些?

作者 | Addo Zhang来源 | 云原生指北本篇文章译自 SUNKU RANGANATH 的 4 Types of Edge Computing - Broadly Categorized。文章通过 往返终端设备和数据中心的延迟 来对边缘计算的类型进行大致的分类,通俗易懂,方便大家对边缘计算有个大概的了解。边缘计…

OpenKruise v1.0:云原生应用自动化达到新的高峰

简介:OpenKruise 是针对 Kubernetes 的增强能力套件,聚焦于云原生应用的部署、升级、运维、稳定性防护等领域。 云原生应用自动化管理套件、CNCF Sandbox 项目 -- OpenKruise,近期发布了 v1.0 大版本。 OpenKruise[1] 是针对 Kubernetes 的…

Serverless Kubernetes 落地实践

简介:如何通过原生 Kubernetes 提供 Serverless 能力?如何借力丰富的云原生社区生态?本文将给大家介绍一下我们在 Serverless Kubernetes 上的落地实践。 作者:元毅 导读 Kubernetes 作为当今云原生业界标准,具备良…

如何在零停机的情况下迁移 Kubernetes 集群

简介:本文将通过集群迁移的需求、场景以及实践方式,介绍如何基于阿里云容器服务 ACK,在零停机的情况下迁移 Kubernetes 集群。 作者:顾静(子白)|阿里云高级研发工程师;谢瑶瑶&#…

轻松理解 Docker 网络虚拟化基础之 veth 设备!

作者 | 张彦飞allen来源 | 开发内功修炼最近我又对网络虚拟化技术产生了浓厚的兴趣,迫切想搞明白在 Docker 等虚拟技术下,网络底层是如何运行的。不得不说,网络虚拟化技术是我给自己抛的又一个大坑。虽然我自认为把原生 Linux 网络实现过程理…

如何做好数字化体验管理,了解一下?

简介:本文主要分为三部分,第一部分是数字化体验的必要性,从数字化体验管理对业务的影响和数字化体验管理对企业的价值两个方面来介绍其必要性;第二部分,ARMS 在数字化体验管理上的产品能力介绍;第三部分&am…

深信服智能边缘计算平台与 OpenYurt 落地方案探索与实践

简介:本文将介绍边缘计算落地的机遇与挑战,以及边缘容器开源项目 OpenYurt 在企业生产环境下的实践方案。 作者:赵震,深信服云计算开发工程师,OpenYurt 社区 Member 编者案:在 5G、物联网等新技术的持续推…

云原生的本手、妙手和俗手

作者 | 步尔斯特来源 | 步尔斯特刚刚看到一个话题:Java大军,真的开始把目光从Spring Cloud转向云原生系的k8s Istio了么?乍一看,有一丝不解,Java大军?Spring Cloud?Kubernetes?Serv…