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没有按照规定生成,后期数据处理的话,很费劲。感谢开源,感谢分享,一些测试环境排查问题还是不错的。
相关推荐
在“sky-walking-master.zip”压缩包中,包含的是SkyWalking的源码,开发者可以深入研究其内部实现,学习如何定制和扩展SkyWalking的功能,也可以为项目贡献自己的力量。通过阅读和理解源码,不仅可以提升对...
用于部署sky-walking,并将注意点标注出来。当然一些安装文件都有给出连接。。。-----------------------------------------------------------------------------------------------------------------------------...
总的来说,"SKY1311t_STM8ReaderDemoCode_V1.1.2.rar"是一个实现超低功耗RFID读卡器功能的实例,通过精心设计的软件和硬件结合,展现了在物联网和嵌入式系统中,如何平衡性能和功耗的重要实践。无论是对初学者还是...
1. **开源项目**:Sky31Radio是基于开源理念开发的,意味着它的源代码对公众开放,允许其他开发者查看、学习、修改和分发。这为开发者提供了深入理解应用程序内部工作原理的机会,也鼓励了社区协作和技术创新。 2. ...
SkyWalking 是一个强大的开源应用性能监控(APM)系统,主要设计用于微服务、云原生和容器化环境。这个工具提供了对复杂分布式系统全面的性能监控能力,帮助开发者和运维人员快速诊断和解决性能问题。 一、指标监控...
总的来说,"SKY引擎源码2020"是一个丰富的学习资源,对游戏开发者而言,可以深入了解游戏引擎的工作原理,提升开发技能,同时也可以根据自己的需求进行定制和优化,创造出独特且高性能的游戏体验。不过,使用开源...
TorProxy和Shadow开源项目
《SKY1311T全面解析:从原理到实践》 SKY1311T是一款广泛应用在无线通信领域的射频收发器芯片,它以其高性能和高集成度的特点,...在实践中,不断探索和优化,才能充分发挥这款芯片的潜力,为你的项目带来卓越的性能。
总的来说,BlueSky-IOC作为一个开源的IoC框架,提供了全面的文档、源代码和示例,方便开发者学习和使用。它不仅能够帮助开发人员更好地管理项目中的组件,还可以作为教学和研究的材料,促进Java开发技术的进步。对于...
现在有一款开源的项目Eucalyptus(Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems),同样实现了Amazon EC2的功能,由于其开源性,注定了搭建一个私有的云计算平台成为可能....
【Nightsky-开源】项目是一个专为那些硬件性能有限,无法流畅运行更复杂星空模拟软件如Stellarium的设备而设计的极简版星空渲染程序。该项目遵循开源软件的原则,意味着源代码对公众开放,任何人都可以查看、学习、...
总的来说,【BlueSky-开源】项目是一个很好的学习资源,它涵盖了C#编程、MySQL数据库集成、协同工作机制以及UI设计等多个方面的知识。开发者可以通过研究源代码,了解并掌握如何构建类似的应用,提升自己的技能。
【标题】"Open 2Sky for PalmOS-开源"揭示了这是一个专为PalmOS操作系统设计的开源天文应用。在开源软件的世界里,Open 2Sky由Kevin S. Polk开发,它允许用户查看和修改源代码,促进社区协作与改进。 【描述】中...
GDB,全称GNU Debugger,是GNU项目的一个组成部分,用于调试C、C++和其他语言编写的程序。在本手册中,我们将深入探讨如何利用GDB这一强大的工具来有效地调试在sky2440开发板上运行的Linux程序。 首先,我们要了解...
Delphi是一种基于Object Pascal的集成开发环境,以其高效性和跨平台能力而闻名,特别适合开发高性能的应用程序,包括游戏引擎。通过查看和分析Delphi源码,开发者可以学习到如何利用Delphi来构建复杂的游戏逻辑,...
19.集成了91工作室优化的论坛程序,压缩包仅为200K 20.后台增加了全站空间占用和各目录明细 21.后台增加了数据库压缩备份还原管理 22.后台添加修改影音文件时的一点修正 23.影音栏目对各种播放器的支持进行...
"OpenSky-master.zip" 是一个压缩包文件,其命名暗示着它可能与开源项目或代码库有关,很可能是一个GitHub上的项目。"OpenSky"可能是该项目的名称,而"master"通常指的是Git仓库中的主分支,这通常是开发人员的默认...
压缩包中的文件“Sky Ferreira - One.mp3”可能是项目中使用的背景音乐,与流水灯的控制程序相结合,创造出音乐与灯光的同步效果。这要求开发者不仅要熟悉嵌入式系统编程,还需要理解音频处理和同步技术。 总的来说...
SKY1311是一款高性能、低功耗的射频(RF)前端模块,主要用于近距离无线通信技术,如近场通信(NFC)和电子收费系统(ETC)。这款芯片在无线通信领域扮演着关键角色,因为它能提供稳定且高效的信号传输。下面将详细...
为了方便开发者使用,"Ultra Dynamic Sky 4.26"通常会提供详尽的文档和示例场景,指导如何在项目中集成和自定义天气效果。这包括了对各种参数的解释,以及如何通过蓝图系统控制天气变化。通过蓝图,非程序员也能轻松...