这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战java
微服务体系下须要对各个服务进行监控,或者在对服务进行压测的时候都须要观察服务性能,咱们选择使用skywalking来完成这个功能,skywalking简单操做就可使用,也方便监控服务运行状况。mysql
官网:skywalking.apache.org/docs/git
中文文档:skyapm.github.io/github
基于Skywalking,提供分布式服务链路追踪,服务依赖拓扑绘制,慢端点、慢SQL等面板展现能力,以及服务告警能力,同时自带显示面板,能够提供先后端调用链整合能力。支持多种语言:如 Java, C# , Node.js , Go , PHP 以及 Nginx LUA。sql
SkyWalking 为 服务(service) , 服务实例(service instance) , 以及 端点(endpoint) 提供了可观测能力。apache
SkyWalking 逻辑上分为四部分: 探针, 平台后端, 存储和用户界面.后端
须要的jdk和elasticsearch的下载安装自行百度服务器
下载对应的apm包,skywalking下载地址:skywalking.apache.org/downloads/ 安装:markdown
jdk1.8
elasticsearch-7.8.1
apache-skywalking-apm-es7-8.3.0
复制代码
存储有多种方式:elasticsearch6,7/h2/mysql/tidb/influxdb网络
配置以下
storage:
selector: ${SW_STORAGE:elasticsearch7}
elasticsearch7:
nameSpace: ${SW_NAMESPACE:""}
clusterNodes: ${SW_STORAGE_ES_CLUSTER_NODES:localhost:9200}
user: ${SW_ES_USER:""}
password: ${SW_ES_PASSWORD:""}
复制代码
启动以前确认elasticsearch已经启动且正常运行
在bin目录下执行 startup.sh脚本启动
访问localhost:8080便可打开UI界面
jar启动:(包含skywalking-agent.jar完整路径,并且不能移动jar)
java -javaagent:/developSoftware/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.namespace=ajisun-dev -Dskywalking.agent.service_name=ajisun-dev:ajisun-platform -Dskywalking.collector.backend_service=localhost:11800 -jaryourApp.jar
复制代码
idea中启动:(在VM options中写入)
-javaagent:/developSoftware/apache-skywalking-apm-bin-es7/agent/skywalking-agent.jar -Dskywalking.agent.namespace=ajisun-dev -Dskywalking.agent.service_name=ajisun-dev:ajisun-platform -Dskywalking.collector.backend_service=localhost:11800
复制代码
如图:
启动后效果:
p99
, p95
, p90
, p75
, p50
.监控数据汇总:
服务维度的数据:
拓扑图用指标显示服务和实例之间的关系.,点击服务显示监控数据
跟踪查询是与skywalk提供的分布式代理同样的典型特性.
一个交互特性。提供了方法级的性能诊断.
一旦配置文件完成,配置的跟踪段就会显示出来。你能够要求分析任意张成的空间。 一般,咱们分析跨度具备较长的自持续时间,若是跨度及其子跨度都具备较长的持续时间,则能够进行选择 “包括子跨度”或“排除子跨度”来设定分析界限。
选择正确的跨度后,单击“analysis”按钮,您将看到基于堆栈的分析结果。最慢的方法 已被高亮显示