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 {
@Override
public 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当中,省去了不同窗口之间来回切换的时间,大大提高了日常工作的效率。
本文为阿里云原创内容,未经允许不得转载。
Alibaba Cloud Toolkit 中SLS插件助力线上服务问题排查的更多相关文章
- Alibaba Cloud Toolkit 一键部署插件使用入门
一.前言 Cloud Toolkit官方介绍文档:https://www.aliyun.com/product/cloudtoolkit Cloud Toolkit 是针对 IDE 平台为开发者提供的 ...
- java线上服务问题排查
1.业务日志相关 假设系统出现异常或者业务有异常,首先想到的都是查看业务日志 查看日志工具: less 或者more grep tail -f filename 查看实时的最新内容 ps:切忌vim直 ...
- IEDA中使用阿里插件Alibaba Cloud Toolkit和Arthas(阿尔萨斯)
在 IntelliJ IDEA 中安装和配置 Cloud Toolkit 在 IntelliJ IDEA 中安装和配置 Cloud Toolkit 后,您可以将本地应用快速部署到阿里云 ECS.EDA ...
- 超实用!!!使用IDEA插件Alibaba Cloud Toolkit工具一键部署本地应用到ECS服务器
最近看到阿里云发布了一款名为 Alibaba Cloud Toolkit 的插件,可以帮助开发者高效开发并部署适合在云端运行的应用,瞬间击中了我的小心脏,这个对于个人开发者来说超级棒啊,终于不需要再手 ...
- 【Spring Boot】Spring Boot之使用Alibaba Cloud Toolkit(Idea插件)本地一键部署Spring Boot项目到远程服务器
一.Alibaba Cloud Toolkit(Idea插件)的安装 1)Alibaba Cloud Toolkit 介绍 Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发.测 ...
- Alibaba Cloud Toolkit,你确定不来尝鲜一下?
阿里云出了新的工具,Alibaba Cloud Toolkit,看看“toolkit”这个名字就知道它是一个工具集. 没错!它就是一个工具集,一个集打包部署发布以及探索分析程序的工具集.而我,目前还停 ...
- Eclipse使用Alibaba Cloud Toolkit极速部署项目
个人博客 地址:https://www.wenhaofan.com/a/20190716205809 什么是Alibaba Cloud Toolkit Cloud Toolkit 是针对 IDE 平台 ...
- Alibaba Cloud Toolkit 使用心得(IDEA版)
一.安装插件 确保 IntelliJ IDEA 在 2018.1 或更高版本 打开 Settings - Plugins 搜索安装 Alibaba Cloud Toolkit 二.配置环境 Deplo ...
- 一次线上服务高 CPU 占用优化实践 (转)
线上有一个非常繁忙的服务的 JVM 进程 CPU 经常跑到 100% 以上,下面写了一下排查的过程.通过阅读这篇文章你会了解到下面这些知识. Java 程序 CPU 占用高的排查思路 可能造成线上服务 ...
- Java线上应用故障排查之二:高内存占用
搞Java开发的,经常会碰到下面两种异常: 1.java.lang.OutOfMemoryError: PermGen space 2.java.lang.OutOfMemoryError: Java ...
随机推荐
- Linux Daemon & 单例模式 设计与实现
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- python基础十(常用模块)
一 time与datetime模块 1.time import time # 时间分为三种格式: # 1.时间戳:从1970年到现在经过的秒数 # 作用:用于时间间隔的计算 print(time.ti ...
- WPF多数类概念性注册加自动扫描
在java中springboot的配置应用了自动扫描 @ComponentScan(value = {"com.example", "com.fox"}) 而对 ...
- 记录--工程化第一步这个package.json要真的搞明白才行
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 工程化最开始就是package.json开始的,很多人学了很多年也没搞清楚这个为什么这么神奇,其实有些字段是在特定场景才有效的,那每个属性 ...
- Scala打印输出
1 package com.atguigu.chapter02 2 object TestCharType { 3 def main(args: Array[String]): Unit = { 4 ...
- MySQL查询表结构信息SQL语句
一.获取某数据库下的所有数据表名 SELECT TABLE_NAME, TABLE_COMMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA ...
- #对勾函数#洛谷 5695 [NOI2001]反正切函数的应用
题目 问给定的每一个\(a\),是否存在正整数\(b,c\), 使得在满足$$\arctan(\frac{1}{a})=\arctan(\frac{1}{b})+\arctan(\frac{1}{c} ...
- SpringBoot中bean的生命周期
目录 概述 使用场景 代码演示bean初始化 TestSupport BeanPostProcessorImpl log 代码 概述 Bean 生命周期管理是 Spring Boot 中的关键功能之一 ...
- Viu联合华为HMS生态,共创影音娱乐新体验
华为HMS生态携手流媒体平台Viu,为海外消费者打造精品移动娱乐应用体验,并助力提升流量变现能力.Viu在中东非.东南亚等16个国家及地区提供广告合作和付费会员服务,支持优质视频内容高清点播和直播.自 ...
- openGauss数据库xlog目录满问题处理
openGauss 数据库 xlog 目录满问题处理 openGauss 数据库 xlog 满通常为以下几个原因: 1.主备状态不正常,存在网络问题,集群内有宕机的节点 2.xlog 保留数量过多 3 ...