`
SoberChina
  • 浏览: 77364 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sky walking 监听程序的性能开源项目

阅读更多

apm (Application Performance Managment :应用性能管理)简写,业界有很多成熟的收费工具,听云、OneAPM等。当然也有开源的apm,git地址: https://github.com/wu-sheng/sky-walking。功能方面当然和收费的没法比,但是了解一下也挺不错的,skywalking采用elasticsearch数据存储。了解es以及看过skywalking原码的肯定会说有很多弊端,毕竟是开源的嘛,分享精神以及设计架构挺值得学习的,希望越来越好,本期针对V3.1版本,整体大致分为 collector、web、agent、es 这几部分,应用到项目中也肯容易。v3.1支持es版本为5.2x,5.3x。官网文档wiki地址

  1.首先搭建es 下载地址,Mac选择TAR,

   解压:

 

 tar -zxvf elasticsearch-5.3.3.tar.gz
 cd elasticsearch-5.3.2

    config下面elasticsearch.yml为es的配置文件 

 

   配置 cluster.name: myesdb。此名称需要和collector配置文件一致。

    启动es

 

 ./bin/elasticsearch

 2安装部署collector

 

     下载 collector

     解压安装包tar -xvf skywalking-collector.tar.gz,windows用户可以选择zip包;

     设置config目录下的collector.config配置文件;

     

#配置es(节点,多个逗号分隔)
es.cluster.nodes=127.0.0.1:9300
#es集群名称
es.cluster.name = myesdb
es.cluster.transport.sniffer = true
#collector当前主机名或者IP地址,请使用真实的地址,默认为127.0.0.1
cluster.current.hostname = 127.0.0.1
# 监听端口.
cluster.current.port = 11800
#RESTful
http.hostname=127.0.0.1
http.port=12800

   启动:

 

 ./bin/startup.sh 
Starting collector....
Collector started successfully!       
注意:collector-service.sh文件中请检查自己的JAVA_HOME是否配置,.sh文件中名称也要对应到环境变量中

  3配置web

    下载地址

     解压tar -xvf skywalking-web.tar.gz 同样windows用户可以选择zip包;

     设置config目录下的collector_config.properties配置文件

#collector服务配置
collector.servers[0]=127.0.0.1:12800

   设置config目录下的application.properties 配置文件

#web服务端口
server.port = 8088

   启动

./bin/startup.sh
Starting web service....
Skywalking Web started successfully!

   打开http://localhost:8088/ 可以看到



 

    空白无所谓,因为还没有在项目中部署agent,没有收集到数据,下面我们开始部署agent

    文档地址

    按照文档在agent.jar同级目录下创建sky-walking.config 文件

  

# 当前的应用编码,最终会显示在webui上。
# 建议一个应用的多个实例,使用有相同的application_code。请使用英文
agent.application_code=myproject

# 默认为1,表示启动采样机制,即每条调用链都会被追踪并上报
# 大于一时,则表示每N次访问,上报一条。
# 小于等于0位非法。
agent.sampling_cycle=1

# Collector REST-Service 服务地址.
# e.g.
# 单节点配置:SERVERS="127.0.0.1:8080"
# 集群配置:SERVERS="10.2.45.126:8080,10.2.45.127:7600"
collector.servers=127.0.0.1:12800

# Collector 接受追踪信息REST-Service 服务名称.
# 默认不需要修改
collector.service_name=/segments

# 向collector发送数据时,单次调用的最大容量
collector.batch_size=50

# 内部缓冲池大小,此值必须是2的指数倍。
# 相关资料: https://github.com/LMAX-Exchange/disruptor
buffer.size=512

# 日志文件名称
logging.file_name=skywalking-api.log

# 日志文件路径
# 默认为空, 使用"system.out"输出日志,一般会输出到中间件或者应用的控制台日志中。
logging.dir=

# 日志文件最大大小
# 如果超过此大小,则会生成新文件。
# 默认为300M
logging.max_file_size=314572800

# 日志级别,默认为DEBUG。
logging.level=DEBUG
    启动我们项目

 

    

 java -javaagent:/Users/xxx/java/software/skywalking-agent.jar -jar  wp-xx-SNAPSHOT-exec.jar --server.port=8081 

 

 访问我们项目产生访问数据,刷新我们skywalking-web 页面 看到数据呈现效果:



 同样我们可以观察某次请求结果



 

以上是整个部署后的效果,其中很多程序在ping redis,检测线程的可用性。然后几分钟后统计了下es里的数据条数,没有正常访问数据的情况下产生了近 "hits": {"total": 13487, 条数据,用在生成环境堪忧,esindex没有按照规定生成,后期数据处理的话,很费劲。感谢开源,感谢分享,一些测试环境排查问题还是不错的。

  • 大小: 113.4 KB
  • 大小: 256.6 KB
  • 大小: 357.1 KB
分享到:
评论

相关推荐

    sky-walking-master.zip

    在“sky-walking-master.zip”压缩包中,包含的是SkyWalking的源码,开发者可以深入研究其内部实现,学习如何定制和扩展SkyWalking的功能,也可以为项目贡献自己的力量。通过阅读和理解源码,不仅可以提升对...

    sky-walking的简易部署

    用于部署sky-walking,并将注意点标注出来。当然一些安装文件都有给出连接。。。-----------------------------------------------------------------------------------------------------------------------------...

    SKY1311t_STM8ReaderDemoCode_V1.1.2.rar_fireplaceykd_sky1311t_sky

    总的来说,"SKY1311t_STM8ReaderDemoCode_V1.1.2.rar"是一个实现超低功耗RFID读卡器功能的实例,通过精心设计的软件和硬件结合,展现了在物联网和嵌入式系统中,如何平衡性能和功耗的重要实践。无论是对初学者还是...

    Sky31Radio: .zip

    1. **开源项目**:Sky31Radio是基于开源理念开发的,意味着它的源代码对公众开放,允许其他开发者查看、学习、修改和分发。这为开发者提供了深入理解应用程序内部工作原理的机会,也鼓励了社区协作和技术创新。 2. ...

    SkyWalking 是一款开源的应用性能监控系统,包括指标监控,分布式追踪,分布式系统性能诊断

    SkyWalking 是一个强大的开源应用性能监控(APM)系统,主要设计用于微服务、云原生和容器化环境。这个工具提供了对复杂分布式系统全面的性能监控能力,帮助开发者和运维人员快速诊断和解决性能问题。 一、指标监控...

    SKY引擎源码2020

    总的来说,"SKY引擎源码2020"是一个丰富的学习资源,对游戏开发者而言,可以深入了解游戏引擎的工作原理,提升开发技能,同时也可以根据自己的需求进行定制和优化,创造出独特且高性能的游戏体验。不过,使用开源...

    TorProxy和Shadow开源项目

    TorProxy和Shadow开源项目

    SKY1311T资料.zip

    《SKY1311T全面解析:从原理到实践》 SKY1311T是一款广泛应用在无线通信领域的射频收发器芯片,它以其高性能和高集成度的特点,...在实践中,不断探索和优化,才能充分发挥这款芯片的潜力,为你的项目带来卓越的性能。

    BlueSky-IOC

    总的来说,BlueSky-IOC作为一个开源的IoC框架,提供了全面的文档、源代码和示例,方便开发者学习和使用。它不仅能够帮助开发人员更好地管理项目中的组件,还可以作为教学和研究的材料,促进Java开发技术的进步。对于...

    开源的项目Eucalyptus

    现在有一款开源的项目Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems),同样实现了Amazon EC2的功能,由于其开源性,注定了搭建一个私有的云计算平台成为可能....

    Nightsky-开源

    【Nightsky-开源】项目是一个专为那些硬件性能有限,无法流畅运行更复杂星空模拟软件如Stellarium的设备而设计的极简版星空渲染程序。该项目遵循开源软件的原则,意味着源代码对公众开放,任何人都可以查看、学习、...

    BlueSky-开源

    总的来说,【BlueSky-开源】项目是一个很好的学习资源,它涵盖了C#编程、MySQL数据库集成、协同工作机制以及UI设计等多个方面的知识。开发者可以通过研究源代码,了解并掌握如何构建类似的应用,提升自己的技能。

    Open 2Sky for PalmOS-开源

    【标题】"Open 2Sky for PalmOS-开源"揭示了这是一个专为PalmOS操作系统设计的开源天文应用。在开源软件的世界里,Open 2Sky由Kevin S. Polk开发,它允许用户查看和修改源代码,促进社区协作与改进。 【描述】中...

    sky2440 gdb调试手册

    GDB,全称GNU Debugger,是GNU项目的一个组成部分,用于调试C、C++和其他语言编写的程序。在本手册中,我们将深入探讨如何利用GDB这一强大的工具来有效地调试在sky2440开发板上运行的Linux程序。 首先,我们要了解...

    skyM2源码 with 控件包_传奇引擎_sky引擎_SKYM2_herom2_sky

    Delphi是一种基于Object Pascal的集成开发环境,以其高效性和跨平台能力而闻名,特别适合开发高性能的应用程序,包括游戏引擎。通过查看和分析Delphi源码,开发者可以学习到如何利用Delphi来构建复杂的游戏逻辑,...

    Ultra Dynamic Sky 4.26.zip

    为了方便开发者使用,"Ultra Dynamic Sky 4.26"通常会提供详尽的文档和示例场景,指导如何在项目中集成和自定义天气效果。这包括了对各种参数的解释,以及如何通过蓝图系统控制天气变化。通过蓝图,非程序员也能轻松...

    52SKY全站程序 v1.0

    19.集成了91工作室优化的论坛程序,压缩包仅为200K 20.后台增加了全站空间占用和各目录明细 21.后台增加了数据库压缩备份还原管理 22.后台添加修改影音文件时的一点修正 23.影音栏目对各种播放器的支持进行...

    OpenSky-master.zip

    "OpenSky-master.zip" 是一个压缩包文件,其命名暗示着它可能与开源项目或代码库有关,很可能是一个GitHub上的项目。"OpenSky"可能是该项目的名称,而"master"通常指的是Git仓库中的主分支,这通常是开发人员的默认...

    Sky Ferreira - One_sky_stm32流水灯_

    压缩包中的文件“Sky Ferreira - One.mp3”可能是项目中使用的背景音乐,与流水灯的控制程序相结合,创造出音乐与灯光的同步效果。这要求开发者不仅要熟悉嵌入式系统编程,还需要理解音频处理和同步技术。 总的来说...

    SKY1311T外发资料.zip

    SKY1311是一款高性能、低功耗的射频(RF)前端模块,主要用于近距离无线通信技术,如近场通信(NFC)和电子收费系统(ETC)。这款芯片在无线通信领域扮演着关键角色,因为它能提供稳定且高效的信号传输。下面将详细...

Global site tag (gtag.js) - Google Analytics