为互联企业做好准备:我们如何构建AppDynamics IoT监控平台

通过从应用程序中学习企业APM产品,发现更快,更高效的性能监控。 参加AppDynamics APM导览!

AppDynamics 最终用户监控产品肯定随着时间的推移而发展。 它于2013年首次启动,以监视在浏览器上运行的Web应用程序。 然后,为了应对移动活动增加的转变(很大程度上要归功于iPhone的推出),我们在2014年增加了对iOS和Android应用程序进行监控的支持。

而现在,随着物联网(IoT)的不断发展,越来越多的用户交互和业务交易都源自嵌入式智能设备。

为了跟上这一转变,我们在冬季发布期间启动了IoT监控 ,以监控连接到互联网的任何设备上的应用程序性能。 这包括在联网汽车,机顶盒,工业网关,智能家居设备等上运行的应用程序。

在本系列的第一篇文章“ 物联网应用的业务和性能KPI的重要性”中 ,我们研究了成功部署和管理物联网应用的技术和业务需求。 在此博客文章中,我们将深入探讨如何构建IoT监控平台及其用例。

首先,我们希望我们的物联网性能监控解决方案能够支持:

–从在任何操作系统(例如,嵌入式Linux,QNX,mbed OS,VxWorks)和应用程序框架(例如,C / C ++,Java,Python,Javascript,Node.js)上运行的所有硬件平台中获取监视数据。

–以最小的应用程序捕获和传输监视数据。 该解决方案还应在内存,计算能力和网络带宽的设备限制内运行。

–网​​络协议(例如HTTPS,MQTT和AMQP)的性能监控。

–适用于零售,运输,媒体和工业网关等不同物联网垂直领域的通用监控数据模型。

–从连接的设备到数据中心,网络设备,一直到数据库的端到端可见性。

基于上述考虑,让我们研究作为新AppDynamics IoT平台的一部分构建的不同结构。

资料撷取

我们构建IoT监控平台的目标之一是使任何IoT设备和应用程序框架都能将数据提取到我们的平台。 这些设备的范围从智能家居等低功耗,有限计算,基于微控制器的设备到联网汽车和机顶盒等基于大功率,高内存,基于微处理器的设备。 为了使开发人员能够灵活地监视在这些设备上编写的应用程序,我们发布了公共HTTPS REST API以及轻量级的C / C ++Java SDK。

这些SDK提供与使用REST API一样的灵活性,并且还可以处理数据的缓冲,批处理和序列化。 它们不依赖任何第三方网络库,而是使用应用程序的网络通信来发送数据。 这为开发人员提供了何时捕获数据并将数据传输到AppDynamics SaaS平台的完全控制权。 可以在github上找到演示使用REST API和SDK的示例应用程序。

资料模型

在物联网中,生成的数据因应用程序和设备类型而异。 结果,该平台必须足够灵活以捕获和可视化各种数据。

例如,在销售点设备中,我们要捕获付款数据,购物车中的物品并存储信息。 另一方面,在机顶盒上运行媒体应用程序的情况下,我们希望捕获视频流统计信息,活动用户数和显示的广告。

在这两种情况下,数据都以JSON格式的信标形式发送到IoT端点。 每个信标具有以下概述的四个构造。 物联网应用程序可以一次发送一个信标,也可以批量发送一个信标,并发送多个信标,直到平台定义的限制。

元数据

元数据提供了正在生成数据的设备和应用程序配置的平台上下文。 捕获元数据的两个对象是DeviceInfoVersionInfo 。 DeviceInfo包含诸如设备名称,设备类型和设备ID之类的字段,这些字段有助于标识有多少个唯一的设备正在报告数据,并且还可以导出设备特定的统计信息。 VersionInfo包含软件,硬件和操作系统版本等字段,这些字段可帮助根据不同的版本过滤性能数据。

图1:连接设备应用程序

在图1中,“已连接的设备”选项卡提供了所有应用程序以及每个应用程序正在其上运行的设备类型的列表。

您可以看到存在三种不同的应用程序及其各自的设备类型:

–零售应用程序具有设备类型,例如销售点和智能货架。

– Media Application具有设备类型,例如Roku,Fire TV,Apple TV和Android TV。

–汽车信息娱乐应用程序将汽车模型作为设备类型,包括丰田,本田奥迪和梅赛德斯。

IoT应用程序数据根据设备类型进行分组,因为每种设备类型在硬件,操作系统和应用程序框架方面都有唯一的配置文件。 该数据视图使企业能够按设备快速分析应用程序性能。

图2:设备仪表板

图2显示了选择销售点设备时的设备仪表板。

设备仪表板显示了所有唯一的销售点设备的列表,这些设备正在报告数据以及每个设备的元数据。

网络事件

物联网正在为许多新旧物理设备带来连接性。 为了提供无缝的用户体验,重要的是要确保这些设备在始终在线的网络连接下正常运行。 因此,网络性能是帮助衡量用户体验的关键KPI之一。

AppDynamics 网络事件可帮助捕获IoT应用程序发出的任何网络请求的性能。 当前,网络事件支持捕获HTTP请求和响应。 将来,我们将对其进行扩展以支持物联网中流行的不同网络协议,包括MQTT和AMQP。

图3:网络请求仪表板

在图3中,您可以看到Network Dashboard提供了有关网络性能以及应用程序正在触发的所有URL的详细信息。

它提供了特定设备类型上的应用程序的网络性能的聚合视图。

错误事件

降低MTTR是任何运营团队的主要目标。 因此,在影响用户体验和业务绩效之前,检测和诊断应用程序错误非常重要。

AppDynamics 错误事件可帮助捕获所有类型的错误,包括警报,严重或致命错误。 警报或严重错误由应用程序捕获并正常处理,而致命错误可能导致应用程序重置。

图4:错误仪表板

错误仪表板提供有关不同类型的错误,总错误计数以及按应用程序版本分组的错误计数的详细信息。

选择一个特定的错误将提供有关该错误的详细信息,包括堆栈跟踪(如果有)。

自订活动

网络和错误事件有助于理解应用程序的性能。 但是,为了了解应用程序的使用及其对业务绩效的影响,我们引入了自定义事件 。 这些事件有助于捕获与业务有关的任何数据,然后可用于告知绩效和业务决策。

图5:业务绩效数据

如图5所示,对销售点设备使用自定义事件可以帮助捕获数据,例如产生的总收入,一段时间内的平均销售额以及所售商品的数量。

端到端可见性

只需单击或触摸IoT设备,即可触发IT基础架构中许多组件之间的一系列事务。 AppDynamics的包括IoT在内的产品套件可以标记和跟踪整个基础架构中的所有交易,从而提供端到端的可见性。

考虑一个自助电影亭的示例,用户可以在其中为电影票付费。 下面的图6显示了从信息亭到IT基础架构的交易过程。

图6:网络请求快照和后端业务交易相关性

选择要跟踪的网络请求将显示活动流,并且如果后端装有AppDynamics代理,则将看到快照链接。

快照视图显示了业务事务在后端的执行情况,您可以深入了解层/节点的不同KPI。

这种端到端的可见性有助于快速跟踪和识别问题,从而减少MTTR。

下一步是什么?

在4.4中,我们为IoT性能监控构建了一个通用且可扩展的平台,该平台可提供从销售点设备到工业网关的各种用例的应用程序和业务性能的可见性。

展望未来,我们将密切关注物联网领域的一些新兴趋势。

首先,《 Machina研究年度报告》预测,到2025年,IoT连接的总数将从60亿增加到270亿。其中,所有连接中的71%将使用wifi,Zigbee或PLC等短距离通信技术。 秉承这一趋势,新的通信协议(例如MQTT,AMQP,XMPP和COAP)的采用越来越广泛,因为它们为物联网设备通信提供了安全性并降低了开销。

而且, IDC分析师预测,到2025年,全球数字数据量将达到163 ZB,其中四分之一以上将由物联网产生。 边缘计算是一种范例,它在更好地管理和从大量数据中获取价值方面发挥着越来越重要的作用。 边缘计算允许在源附近处理数据,而不是将其发送到云或数据中心。 例如,像Nest这样的安全摄像机正在使用设备上的视觉处理功能,以在检测到无法识别的人时发送警报。 同样,联网的汽车,智慧城市,制造工厂和建筑物管理系统正在使用从传感器生成的数据来本地导出对时间要求严格的决策,而不是将数据传输到云中并等待决策。

为了应对这些新兴趋势,我们的物联网监视团队正在不断发展平台,以测量新的物联网通信协议的性能指标,并在将边缘数据发送到边缘之前使用本地数据过滤,处理和建模在边缘提供实时性能见解。云端。 这些指标和见解将帮助企业有效地管理物联网领域的复杂性和服务。

通过从应用程序中学习企业APM产品,发现更快,更高效的性能监控。 参加AppDynamics APM导览!

翻译自: https://www.javacodegeeks.com/2018/02/getting-ready-connected-enterprises-built-appdynamics-iot-monitoring-platform.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值