zoukankan      html  css  js  c++  java
  • skywalking学习

    skywalking简介

    SkyWalking一个开源可观测性平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking提供了一种简单的方法,可以让你清晰的查看分布式系统、甚至是跨云环境中。它更像是现代化APM(Application Performance Manager),专为云原生、基于容器和分布式系统而设计的。

    特点

    • 性能好:针对单实例5000tps的应用,在全量采集的情况下,只增加 10% 的CPU开销
    • 支持多语言探针
    • 支持自动及手动探针:其中手动探针通过OpenTrackingApi、@Trace注解、trackId集成到日志中。

    整体架构


    通过在应用程序中添加 SkyWalking Agent,就可以将接口、服务、数据库、MQ等进行追踪,将追踪结果通过 HTTP 或 gRPC 发送到 SkyWalking Collecter,SkyWalking Collecter 经过分析和聚合,将结果存储到 Elasticsearch 或 H2,SkyWalking 同时提供了一个 SkyWalking UI 的可视化界面,UI 以 GraphQL + HTTP 方式获取存储数据进行展示。

    java项目接入skywalking

    只需在项目目录下增加skywalking目录,然后再启动参数中增加jvm参数即可:
    -javaagent:/path/to/skywalking-agent/skywalking-agent.jar
    同时,我们也可以修改config文件夹中agent.config的相关配置

    
    # 当前的应用编码,最终会显示在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暂时不支持的监控,可以自己编写插件,我在项目中就遇到了使用netty封装的http请求不能被监控的情形,于是在github上找到了相关的插件:https://github.com/otyyyywangwenbin/skywalking-plugin-netty-http 编译好以后将jar加入到plugins目录,重新启动项目即可。

  • 相关阅读:
    win7 64位操作系统下使用OFFICE2007 导入表格报错 未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0
    armxilinxeabigcc 不是内部或外部命令,也不是可运行的程序
    上位机 串口 通信 协议
    ZYNQ 调试遇到的种种问题汇总[转帖]
    ZedBoard 安装 Ubuntu11.04
    What the difference between .ipa and .app
    How to create a .ipa file for ios app?
    获取IOS客户端系统版本号
    ios软件支持双语(本地化、国际化)
    objectivec中判断对象是否属于某个类的方法
  • 原文地址:https://www.cnblogs.com/junjiang3/p/10468932.html
Copyright © 2011-2022 走看看