简介:AlibabaCloudToolkit是一个非常不错的插件,增加了SLS日志服务的功能。将日志服务平台的功能集成到IDE中,节省了在不同窗口之间来回切换的时间,大大提高了日常工作的效率。产品介绍AlibabaCloudToolkit是阿里云在IDE平台上为开发者提供的插件,帮助开发者高效开发和部署适合运行在云端的应用。在本地完成应用的开发、调试和测试后,可以使用IDE(如Eclipse或IntelliJ)中安装的CloudToolkit插件,通过图形化配置连接云端部署环境,快速将应用部署到云。SLS插件解决的痛点作为软件开发者,排查线上问题是必不可少的体验。在不同成熟度级别的服务中,在线调查的过程也略有不同。一些小的创业公司开发的软件,可能有单点服务,也可能有几台机器组成的集群,每个服务的日志都需要ssh到各个服务器查看日志。比较成熟的公司会搭建自己的日志服务平台,或者使用SLS等成熟的日志平台对在线日志进行集中管理,这样就省去了ssh到服务器查看日志的麻烦,大大提高了排查问题的效率,但是它仍然不完美。我们假设一个常见的场景,即当线上出现异常时,我们从日志服务平台的页面中查找服务日志,比如Javastacktrace。Java的stacktrace通常比较长,所以为了准确的从代码库中找到异常代码,我们需要在日志服务平台的页面和ide之间来回切换;有时,当日志过长时,我们还需要将日志复制到本地文件中。像这样在不同的窗口之间来回切换浪费了很多宝贵的时间。所以为了方便我们准确的将日志服务平台的日志和代码关联起来,AlibabaCloudToolkit集成了SLS日志平台的功能,让软件开发者可以在IDE中方便的查询到想要的日志。日志服务SLS是一个云原生的观察分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台服务。日志服务提供数据采集、处理、查询分析、可视化、告警、消费、传递等一站式功能,全面提升研发、运维、运营、安全等场景的数字化能力。下面我们通过一个常见的Java服务异常排查场景,看看AlibabaCloudToolkit插件中的SLS功能有多么方便。ScenarioSimulation服务模拟首先,我们模拟一个在线发生异常的服务。创建一个简单的springboot服务,然后实现一个ApplicationRunner的Component类型的bean。它做的事情很简单,就是每秒打印一行NPE日志,模拟在线NPE业务。@Component@Slf4jpublicclassLogDemoServiceimplementsApplicationRunner{@Overridepublicvoidrun(ApplicationArgumentsargs)throwsException{while(true){try{Stringfield=null;System.out.println(field.length());线程.sleep(1000);}catch(Exceptione){log.error("写入异常日志:",e);}}}}服务打包后,在服务端启动服务。SLS采集部署、验证,然后我们在服务器上部署SLS日志采集服务。具体操作文档见:https://help.aliyun.com/docum...,用于将日志收集到SLS的logstore中,我们在SLS页面确认日志收集成功后,服务的模拟和日志平台的接入已经完成。接下来,让我们回到IDE。IDE配置及使用流程首先,我们通过intellij插件市场找到AlibabaCloudToolkit,点击安装,然后重启ide即可生效。点击工具->阿里云->首选项配置账户信息。这里需要让SLS日志填写有权限查看的账户的AccessKeyId和AccessKeySecret。点击Tools->AlibabaCloud->AlibabaCloudView->AlibabaCloudSLS,在ide窗口下方可以看到SLS日志查询界面,选择对应的Region和project后,点击右边的view按钮对应的logstore可以在ide中查看服务日志,比如SLS页面。该接口还支持日志时间范围和查询的过滤,以及分析语句的过滤,可以帮助开发者快速准确的找到需要的日志数据。SLS查询分析语句可以参考文档:https://help.aliyun.com/docum...像JavaStackTrace这样比较长的日志,没办法在这个界面上一次性看到完整的信息。在查询结果的每条日志右侧都有一个“OpeninEditor”按钮。点击后可以在IDE的新页面中完整查看日志,方便开发者获取最完整的信息。总结AlibabaCloudToolkit是一个非常不错的插件,增加了SLS日志服务的功能。将日志服务平台的功能集成到软件开发人员日常工作中常见问题排查场景的ide中,省去了不同窗口之间的通信。来回切换的时间大大提高了日常工作的效率。原文链接本文为阿里云原创内容,未经许可不得转载。
