Skywalking监控工具搭建使用指南
1.搭建
1.构建Skywalking-docker镜像
Skywalking支持下载zip包安装,但是推荐使用docker进行安装更加方便。Skywalking在Docker Hub提供了官方镜像,我们只需要引用在此基础上进行扩展即可。
Skywalking-oap(服务端,接受埋点信息和计算)
Skywalking-ui(前端展示)
2.下载镜像
这里我使用的是腾讯云的镜像仓库(后续切换到公司的镜像仓库),从镜像仓库pull到服务器上。
Skywalking-oap镜像:
sudo docker pull ccr.ccs.tencentyun.com/yanyimin-docker-image/skywalking-oap:skywalking-oap-master-202007211645
Skywalking-ui镜像:
sudo docker pull ccr.ccs.tencentyun.com/yanyimin-docker-image/skywalking-ui:skywalking-ui-master-202007211645
3.启动服务
Skywalking支持集群部署,存储方式支持ES,MySql等。这里方便部署我们先采用单机部署+MySql的方式。
注意:Mysql需要在库中新建一个swtest的数据库,Skywalking-oap启动的时候会执行SQL脚本进行初始化
2.业务服务接入
这里以ezeeship-excel项目为例
Skywalking监控采用java agent的方式,是无侵入,非常方便的。我们只需要在项目启动的JVM参数中增加agent的参数,例如:
-javaagent:/usr/local/skywalking/agent/skywalking-agent.jar
如果在每个项目都引入agent文件显然相当麻烦,因此引入了一个基础镜像用来解决统一的环境配置和基础工具使用。
后续增加修改一些基础配置都可以在该基础镜像中进行修改,其他服务的Dockerfile引用即可,可以控制保证所有环境一致。
这里后续可能需要做个环境控制,以便不同环境使用不同配置(用git分支做控制,或者直接在jekins写死)
服务启动后,监控数据就会通过grpc的方式传输给Skywalking的oap端。
在Skywalking的仪表盘也就可以看到我们设置的ezeeship-excel-dev服务了。
3.指标参数介绍
在Skywalking的使用中,我们最常用的主要是仪表盘、拓扑图、追踪这三个功能。
仪表盘: Global:
全局服务整体情况。
Service:
Service Avg ApdexScore = 服务平均接口分数 (表示服务稳定程度,1代表最高) Service Avg ResponseTime = 服务平均响应时间 Service Avg Throughput = 服务平均访问次数(单位cpm,分钟访问次数) Service Avg SLA = 服务平均接口请求成功率 (百分比越高,服务越稳定,接口请求失败则减低,与Service Avg ApdexScore类似) Global Response Time Percentile = 全局响应时间百分比 Service Response Time Percentile = 服务响应时间百分比 Service Slow Endpoint = 慢接口排行 Running ServiceInstance = 运行中的服务实例 p99 = 99%的接口请求响应时间小于多少 p95 = 95%的接口请求响应时间小于多少 Endpoint:
端点在Skywalking中指接口,可以查看单个接口的请求状况
Instanse:
可以看到JVM的堆空间,以及GC情况。
拓扑图: 在拓扑图中可以看到当前服务一共会跟哪些服务产生关联,上图中可以看到有数据库和eureka,在微服务中可以有效的关注到整体服务的连接关系。
追踪: 追踪可以查看每个接口的访问链,以及执行过程,执行时间,并且会收集报错的堆栈,在排查问题的时候更加直观方便。
4.告警
告警功能可以针对接口的访问次数,稳定情况,响应时间进行报警通知。
在webhooks中可以配置报警服务,然后再加入钉钉机器人做到实时报警通知。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于 Gitee + Jenkins 的开源项目自动化协作实战
摘要:在开源理念日渐活跃的今天,越来越多的人开始投身于开源,贡献了越来越多的开源项目。而随着时间的推移,更多的人开始为开源项目添砖加瓦,为某一领域的开源项目贡献出自己的力量。贡献者的增多又给开源作者带来不少审核的压力,实际上投身开源的这些开源作者基本都是业余时间来做,并没有太多的时间投入在开源项目上。本文就为了解决这类场景,介绍下如何在 Gitee 上通过 Jenkins 来为自己的开源项目开启自动化协作,旨在将一些开源相关的工作自动化,留出更多的时间投身开源事业。 Gitee & Jenkins 简介 码云 Gitee是开源中国(OSChina.net)于 2013 年推出的基于 Git 的代码托管和协作开发平台,提供代码托管服务,与开源中国社区资讯、博客、社区等版块相互补充和促进,希望以此更好地为开发者服务、构建更加完善的开源生态。经过超过七年的砥砺发展,已成为国内最大的代码托管平台。 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件,支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序运行。 开源...
- 下一篇
8张图带你了解大型应用架构演进历程
最简单的架构 刚开始应用没有太多访问量,所以只需要一台服务器,这时候的架构如下图: 应用程序、文件、数据库往往都部署在一台服务器上。应用程序可以采用Java开发,部署在Tomcat服务器上,数据库可以使用开源的MySQL 应用与数据服务分隔 随着应用的业务越来越复杂,应用访问量越来越大,导致性能越来越差,存储空间严重不足,这时候我们考虑把服务增加到三台(能通过加机器解决的问题都不是问题);分离出应用服务器、数据库服务器、文件服务器。 应用服务器需要处理大量的访问,所以需要性能更好的CPU 数据库服务器需要存储大量的数据以及快速的检索,所以需磁盘的检索速度较快以及存储空间大 文件服务器需要存储上传的文件,需要更大的磁盘;现在通常情况下会选择第三方的存储服务 根据每个服务器对应的场景,配置服务器后应用的性能能够大大提高,更好的支持业务的发展。但是随之业务的发展,访问量的增大,这种架构又将再次面临挑战,应用服务器处理能力下降,存储空间不足 应用服务器集群 在高并发,大流量的情况下,一台服务器是肯定处理不过来的,这个时候增加服务器,部署集群提供服务,来分担每台服务器的压力。部署集群的另一个好处...
相关文章
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Docker使用Oracle官方镜像安装(12C,18C,19C)