介绍

SkyWalking 创建与2015年,提供分布式追踪功能。从5.x开始,项目进化为一个完成功能的Application Performance Management系统。
他被用于追踪、监控和诊断分布式系统,特别是使用微服务架构,云原生或容积技术。提供以下主要功能:

  • 分布式追踪和上下文传输
  • 应用、实例、服务性能指标分析
  • 根源分析
  • 应用拓扑分析
  • 应用和服务依赖分析
  • 慢服务检测
  • 性能优化

主要特性

  • 多语言探针或类库

    • Java自动探针,追踪和监控程序时,不需要修改源码。
    • 社区提供的其他多语言探针
      • .NET Core
      • Node.js
  • 多种后端存储: ElasticSearch, H2
  • 支持OpenTracing
    • Java自动探针支持和OpenTracing API协同工作
  • 轻量级、完善功能的后端聚合和分析
  • 现代化Web UI
  • 日志集成
  • 应用、实例和服务的告警

架构

在线体验

  • 北京服务器. 前往
  • 香港服务器. 前往

安装

安装es

新版本的skywalking使用ES作为存储,所以先安装es,注意6.X版本不行,安装5.6.8:

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:

cluster.name: CollectorDBCluster# ES监听的ip地址
network.host: 0.0.0.0
thread_pool.bulk.queue_size: 1000

保存,然后启动es:

nohup bin/elasticsearch &

安装skywalking

先下载编译好的版本并解压:

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)端口,因此先排除端口占用情况。

然后运行bin/startup.sh,windows用户为.bat文件。

一切正常的话,访问localhost:8080就能看到页面了。

安装过程问题解决

  1. 启动bin/startup.sh后,提示success,但是不能访问,ps 查看并无相关进程,经过检查发现是端口被占用
  2. collector 不能正常启动,发现是es问题:
    • es需要使用5.x版本
    • es的集群名称需要和collector的配置文件一致

java程序使用skywalking探针

1.拷贝apache-skywalking-apm-incubating目录下的agent目录到应用程序位置,探针包含整个目录,请不要改变目录结构
2.java程序启动时,增加JVM启动参数,-javaagent:/path/to/agent/skywalking-agent.jar。参数值为skywalking-agent.jar的绝对路径

在IDEA里调试程序怎么办?

增加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
出处:jqpeng的技术记事本--http://www.cnblogs.com/xiaoqi
您的支持是对博主最大的鼓励,感谢您的认真阅读。
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载于:https://www.cnblogs.com/xiaoqi/p/skywalking-usage.html

开源APM系统skywalking介绍与使用相关推荐

  1. 测试使用skywalking_开源APM系统skywalking介绍与使用

    介绍 SkyWalking 创建与2015年,提供分布式追踪功能.从5.x开始,项目进化为一个完成功能的Application Performance Management系统. 他被用于追踪.监控和 ...

  2. 10款PHP开源商城系统汇总介绍

    10款PHP开源商城系统汇总介绍 在当今经济危机的大环境下,网上购物越来越来吃香,网上开店成本低,快捷方便,出名的电子商务网站有淘宝,拍拍,Ebay或是最新的百度有啊,这些网站都提供开店的机会,如果是 ...

  3. 开源APM系统 HttpReports 在 .Net Core的应用

    作者:SpringLeee 源文:https://www.cnblogs.com/myshowtime/p/12332508.html 前言 简单说明下,APM全称Application Perfor ...

  4. 开源监控系统Prometheus介绍

    前言 Prometheus是CNCF的一个开源项目,Google BorgMon监控系统的开源版本,是一个系统和服务的监控系统.周期性采集metrics指标,匹配规则和展示结果,以及触发某些条件的告警 ...

  5. skywalking(1) 基于opentracing规范的APM系统

    skywalking是: 基于opentracing规范的APM系统 skywalking解决了什么问题? skywalking解决微服务架构下,多服务直接复杂的调用关系 了解dapper,分布式链路 ...

  6. java系统缓存应用_著名java开源缓存系统 【zz】

    目前在学习缓存的一些开源代码,查询到 一些资料分享给大家 以下是几个著名java开源缓存系统的介绍: OSCacheOSCache是个一个广泛采用的高性能的J2EE缓存框架,OSCache能用于任何J ...

  7. 服务器omv系统,开源NAS系统OpenMediaVault安装与体验

    1.开源NAS系统OpenMediaVault介绍 什么是openmediavault? openmediavault是基于Debian linux的下一代网络附加存储(NAS)解决方案.它包含SSH ...

  8. 分布式/微服务必配APM系统,SkyWalking让你不迷路

    前言 如今分布式.微服务盛行,面对拆分服务比较多的系统,如果线上出现异常,需要快速定位到异常服务节点,假如还用传统的方式排查肯定效率是极低的,因为服务之间的各种通信会让定位更加繁琐:所以就急需一个分布 ...

  9. ArduPilot开源飞控系统之简单介绍

    ArduPilot开源飞控系统之简单介绍 1. 源由 2. 了解&阅读 2.1 ArduPilot历史 2.2 关于GPLv3 2.3 ArduPilot系统组成 2.4 ArduPilot代 ...

最新文章

  1. ORA-00959: tablespace 'PSAPTEMP' does not exist
  2. CVPR 2021 Oral | 我给大家表演一个无中生有!北航商汤耶鲁新作:DSG
  3. 线程:创建--【J2SE】
  4. webpack - vue Component 从入门到放弃(三)
  5. malloc 初始化_关于内存分配malloc、calloc、realloc的区别
  6. .NET/ASP.NET Routing路由(深入解析路由系统架构原理)
  7. matplotlib包画基本的图
  8. java 运行时异常与非运行时异常理解
  9. java实现抽奖游戏_Java实现游戏抽奖算法
  10. dbeaver导出表结构和数据_mall数据库表结构概览
  11. java while语句_Java while循环
  12. MySQL(22)--- NULL 值处理
  13. 基于深度卷积神经网络的玉米病害实时识别检测系统
  14. Pyhton学习——Day60
  15. win10安装nvidia驱动
  16. windows中的ntsd工具使用
  17. IE浏览器打开网页之后,右键,选择“查看源文件”后打开桌面窗口的问题
  18. 关于医学影像中的轴位面(横断面)、冠状面、矢状面
  19. Ubuntu连接IKEv2
  20. 费马小定理 (证明)

热门文章

  1. mysql show 翻页_mysql show操作
  2. Hadoop1和Hadoop2的区别是什么?
  3. RESTful 架构
  4. 让Kubernetes成为数据中心操作系统的一等公民
  5. Launchpad图标大小怎么调整?
  6. C#中采用SHA1或MD5加密字符串的函数
  7. PHP 计算页面执行时间
  8. .NET环境下水晶报表使用总结
  9. ThinkPHP5.0 漏洞测试
  10. 一个普通handler会持有activity引用吗_详解handler机制