• Dynatrace部分功能开源解决方案


    Dynatrace是一个一体化平台能,提供有关应用性能、底层基础设施以及所有用户体验的数据,且无配置安装。在主机上安装OneAgent,Dynatrace 可以借助OneAgent掌握用户应用的状况。具备该能力的agent市面上暂时没有开源全栈的!!!

    开源替代产品:

    开源产品中netdata(https://github.com/netdata/netdata)具备一个agent监控的能力以及拥有自己的WebUI,在github上有49.1K的star,还是比较多的人选择这块开源产品做监控,但是netdata基本监控的都是性能数据,比如OS性能,Process流量以及性能数据,数据库中的Mysql基础性能数据

    Dynatrace聚类sql

    Dynatrace能将数据库sql抓取出来的,并做好了分类,这点确实非常厉害!!

    市面上开源的能做到这点的工具以及解决方案如下

    一、解析报文工具,将sql语句抓取出来

    具备该能力的暂时只发现360的mysql-sniffer,地址为https://github.com/Qihoo360/mysql-sniffer,如果你的应用使用的数据是mysql,可以使用下该工具,但是这个工具依赖libpcap,如果应对高吞吐的应用,估计丢包的概率很大。

    二、旁路模式抓取网络包并进行解析,推荐Suricata+ELK方案,github地址为https://github.com/OISF/suricata,对该工具进行二次开发研究数据库通信协议

    三、开源的APM解决方案,在应用代码中植入相关代码以及服务agent,有部分局限性,例如Skywalking(https://github.com/apache/skywalking)或者java的elastic-apm-agent,对于抓取SQL server或者DB2中的sql对连接驱动是有要求的,官方原文:your JDBC driver is at least compiled for Java 1.4. Drivers compiled with a lower version are not supported. IBM DB2 db2jcc drivers are also not supported. Please update to db2jcc4

    例如Elastic-APM-Agent,支持java/.net/python/nodejs/go/ruby/php等,架构图如下

    下图为Kibana中APM的效果,这种展示局限在无法像dynatrace那样从用户的前端一个按钮一直跟踪到最后返回,只能展示单个API调用的详细情况

    Service拓扑

    服务拓扑图的生成,如果是有网络的flow数据,对于该图的生产就不是问题

    开源抓取网络flow的解决方案,ntopng社区版(https://github.com/ntop/ntopng)或者suricata+ELK

    事件跟踪

    用户session跟踪

    这个追踪应该是实际业务人员最关心的,通过监控手段将用户的行为轨迹记录下来,业务可以通过这些数据挖掘出更有价值的东西,比如线上商品交易平台,用户驻足的哪个商品最收欢迎之类的。这块的监控暂时也还没有研究明白

    应用服务数据流

    暂时还没研究清楚该图的生成

    进程级别的网络监控

    开源的进程级别监控有netdata能够实现这个效果

    最后推荐一个网站给大家实现自己的APM监控,地址为https://openapm.io/landscape

    总结:如果有钱直接上Dynatrace,如果差钱可以通过开源手段来实现自己的需求

  • 相关阅读:
    浅水方程
    Delaunay三角剖分算法
    计算机图形学知名期刊杂志(转载)
    Sql 主键自增
    Skinny triangle
    开源免费天气预报接口API以及全国所有地区代码!!
    Navier Stokes(纳维叶-斯托克斯)方程
    java.util.Date_与_java.sql.Date互转_及_字符串转换为日期时间格式
    2015最后一天
    html标签
  • 原文地址:https://www.cnblogs.com/lujunfeng/p/13889948.html
Copyright © 2020-2023  润新知