01 什么是 skywalking
skywalking 是观察性分析平台和应用性能管理系统。
提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。
架构:
02 环境搭建
安装下载部署
1、下载
地址:http://skywalking.apache.org/zh/downloads/
2、安装
下载解压后目录如下:
不需要修改配置文件,在bin目录下执行startup.bat或startup.sh即可启动服务:
执行startup.bat之后会启动如下两个服务:
-
skywalking-collector:
追踪信息收集器,通过 grpc/http 收集客户端的采集信息 ,http默认端口 12800,grpc默认端口 11800。
-
skywalking-webapp:
管理平台页面 默认端口 8080,登录信息 admin/admin
3、配置信息
(1)收集器相关配置:支持 http/grpc收集
core:
default:
resthost: ${sw_core_rest_host:0.0.0.0}
restport: ${sw_core_rest_port:12800}
restcontextpath: ${sw_core_rest_context_path:/}
grpchost: ${sw_core_grpc_host:0.0.0.0}
grpcport: ${sw_core_grpc_port:11800}
downsampling:
- hour
- day
- month
# set a timeout on metric data. after the timeout has expired, the metric data will automatically be deleted.
recorddatattl: ${sw_core_record_data_ttl:90} # unit is minute
minutemetricsdatattl: ${sw_core_minute_metric_data_ttl:90} # unit is minute
hourmetricsdatattl: ${sw_core_hour_metric_data_ttl:36} # unit is hour
daymetricsdatattl: ${sw_core_day_metric_data_ttl:45} # unit is day
monthmetricsdatattl: ${sw_core_month_metric_data_ttl:18} # unit is month
(2)收集信息存储:支持h2和 es
storage:
h2:
driver: ${sw_storage_h2_driver:org.h2.jdbcx.jdbcdatasource}
url: ${sw_storage_h2_url:jdbc:h2:mem:skywalking-oap-db}
user: ${sw_storage_h2_user:sa}
# elasticsearch:
# # namespace: ${sw_namespace:""}
# clusternodes: ${sw_storage_es_cluster_nodes:localhost:9200}
# indexshardsnumber: ${sw_storage_es_index_shards_number:2}
# indexreplicasnumber: ${sw_storage_es_index_replicas_number:0}
# # batch process setting, refer to https://www.elastic.co/guide/en/elasticsearch/client/java-api/5.5/java-docs-bulk-processor.html
# bulkactions: ${sw_storage_es_bulk_actions:2000} # execute the bulk every 2000 requests
# bulksize: ${sw_storage_es_bulk_size:20} # flush the bulk every 20mb
# flushinterval: ${sw_storage_es_flush_interval:10} # flush the bulk every 10 seconds whatever the number of requests
# concurrentrequests: ${sw_storage_es_concurrent_requests:2} # the number of concurrent requests
(3)可采集信息:jvm运行相关信息,zipkin追踪日志等。
receiver-register:
default:
receiver-trace:
default:
bufferpath: ${sw_receiver_buffer_path:../trace-buffer/} # path to trace buffer files, suggest to use absolute path
bufferoffsetmaxfilesize: ${sw_receiver_buffer_offset_max_file_size:100} # unit is mb
bufferdatamaxfilesize: ${sw_receiver_buffer_data_max_file_size:500} # unit is mb
bufferfilecleanwhenrestart: ${sw_receiver_buffer_file_clean_when_restart:false}
samplerate: ${sw_trace_sample_rate:10000} # the sample rate precision is 1/10000. 10000 means 100% sample in default.
receiver-jvm:
default:
#service-mesh:
# default:
# bufferpath: ${sw_service_mesh_buffer_path:../mesh-buffer/} # path to trace buffer files, suggest to use absolute path
# bufferoffsetmaxfilesize: ${sw_service_mesh_offset_max_file_size:100} # unit is mb
# bufferdatamaxfilesize: ${sw_service_mesh_buffer_data_max_file_size:500} # unit is mb
# bufferfilecleanwhenrestart: ${sw_service_mesh_buffer_file_clean_when_restart:false}
#istio-telemetry:
# default:
#receiver_zipkin:
# default:
# host: ${sw_receiver_zipkin_host:0.0.0.0}
# port: ${sw_receiver_zipkin_port:9411}
# contextpath: ${sw_receiver_zipkin_context_path:/}
03 页面介绍
访问地址:http://localhost:8080/
首页:
调用关系
服务调用信息
追踪日志信息
04 agent 使用示例
skywalking 采用 java 探针技术(java agent 博客),对客户端应用程序没有任何代码侵入,使用起来简单方便,当然其具体实现就是需要针对不同的框架及服务提供探针插件。
使用命令:
java -javaagent:g:\github\incubator-skywalking\skywalking-agent\skywalking-agent.jar
-dskywalking.agent.service_name=test -jar app.jar
这样就可以完成对目前应用 app.jar 的监控
tomcat 监控
tomcat 7 修改tomcat/bin/catalina.sh,在首行加入如下信息
catalina_opts="$catalina_opts -javaagent:/path/to/skywalking-agent/skywalking-agent.jar"; export catalina_opts
tomcat 8 修改tomcat/bin/catalina.sh,在首行加入如下信
set "catalina_opts=... -javaagent:e:\apache-tomcat-8.5.20\skywalking-agent\skywalking-agent.jar"
资源分享
下方这份完整的软件测试视频学习教程已经上传csdn官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】
发表评论