SkyWalking 建立与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供如下主要功能:css
新版本的skywalking使用ES做为存储,因此先安装es,注意6.X版本不行,安装5.6.8:html
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.8.tar.gz
tar zxvf elasticsearch-5.6.8.tar.gz
cd elasticsearch-5.6.8/
修改配置文件,主要修改cluster.name,并增长两行配置,
vim config/elasticsearch.yml:java
cluster.name: CollectorDBCluster # ES监听的ip地址 network.host: 0.0.0.0 thread_pool.bulk.queue_size: 1000
保存,而后启动es:node
nohup bin/elasticsearch &
先下载编译好的版本并解压:nginx
wget http://mirrors.hust.edu.cn/apache/incubator/skywalking/5.0.0-beta/apache-skywalking-apm-incubating-5.0.0-beta.tar.gz
tar zxvf apache-skywalking-apm-incubating-5.0.0-beta.tar.gz
cd apache-skywalking-apm-incubating/
而后部署,注意skywalking会使用(8080, 10800, 11800, 12800)端口,所以先排除端口占用状况。git
而后运行bin/startup.sh,windows用户为.bat文件。github
一切正常的话,访问localhost:8080就能看到页面了。web
1.拷贝apache-skywalking-apm-incubating目录下的agent目录到应用程序位置,探针包含整个目录,请不要改变目录结构
2.java程序启动时,增长JVM启动参数,-javaagent:/path/to/agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径shell
在IDEA里调试程序怎么办?apache
增长VM参数便可。
agent探针配置,简单修改下agent.application_code便可
# 当前的应用编码,最终会显示在webui上。 # 建议一个应用的多个实例,使用有相同的application_code。请使用英文 agent.application_code=Your_ApplicationName # 每三秒采样的Trace数量 # 默认为负数,表明在保证不超过内存Buffer区的前提下,采集全部的Trace # agent.sample_n_per_3_secs=-1 # 设置须要忽略的请求地址 # 默认配置以下 # agent.ignore_suffix=.jpg,.jpeg,.js,.css,.png,.bmp,.gif,.ico,.mp3,.mp4,.html,.svg # 探针调试开关,若是设置为true,探针会将全部操做字节码的类输出到/debugging目录下 # skywalking团队可能在调试,须要此文件 # agent.is_open_debugging_class = true # 对应Collector的config/application.yml配置文件中 agent_server/jetty/port 配置内容 # 例如: # 单节点配置:SERVERS="127.0.0.1:8080" # 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600" collector.servers=127.0.0.1:10800 # 日志文件名称前缀 logging.file_name=skywalking-agent.log # 日志文件最大大小 # 若是超过此大小,则会生成新文件。 # 默认为300M logging.max_file_size=314572800 # 日志级别,默认为DEBUG。 logging.level=DEBUG
一切正常的话,稍后就能够在skywalking ui看到了。
能够看到累出了slow service等信息,更多的细节慢慢挖掘吧。
做者:Jadepeng