上云记之监控

网友投稿 247 2022-10-02

上云记之监控

本文主要着重于如何在使用云原生服务上根据实际情况实现成本节约。主要来自上云后监控服务的使用导致了账单的飙升,以及随之而做的一些措施。这里主要介绍针对Azure Monitor中的Application Insight所进行的成本节省。

Azure Monitor可以最大程度地提高应用程序和服务的可用性和性能。 它提供了一个全面的解决方案,用于从云和本地环境收集、分析和处理遥测数据。 此信息可以帮助你了解应用程序的性能,并主动识别影响应用程序及其所依赖资源的问题。

下图提供了 Azure Monitor 的概要视图。 示意图的中心是用于指标和日志(Azure Monitor 使用的两种基本类型的数据)的数据存储。 左侧是用于填充这些数据存储的监视数据源。 右侧是 Azure Monitor 针对这些收集的数据执行的不同功能。 其中包括分析、警报和流式传输到外部系统等操作。

红色部分是我们使用的功能。着重说下Application Insights,它是 Azure Monitor 的一项功能,是面向开发人员和 DevOps 专业人员的可扩展应用程序性能管理  服务。 使用它可以监视实时应用程序。 它将自动检测性能异常,并且包含了强大的分析工具来帮助诊断问题,了解用户在应用中实际执行了哪些操作。可以在应用程序中安装小型检测包 (SDK),或者使用 Application Insights 代理启用 Application Insights。 检测技术会监视应用,并使用我们称为“检测密钥”的唯一 GUID 将遥测数据定向到 Azure Application Insights 资源。

在哪里可以看到发送的遥测数据统计出来的分析结果呢?我们常用的有:

要观察这些统计结果,前提是这些数据都是通过客户端向Application insight组件发送遥测数据后,才能分析出这些结果。这个遥测数据的量在生产环境会很大,而且价格不低,直接影响云上的花销。Azure是按照数据流入的量来收费的,之前价格是23¥/G,所以要提前预估好产线上的量。 如果遥测数据量过大,可以通过如下手段来优化:

Data Sampling,可以控制遥测数据采样率,默认是100%。 可以适当降低采样率减少数据流入量. 直接和成本成正比,采样率x% 表示成本会节省至x%。 Data retention :遥测数据保留多久,默认90天。这个属于存储费用,并不贵,可以忽略。 Daily volume cap: 可设置每天数据流量的上线以及报警,来控制开销。成本节省取决于你配置的上限值。 还有一种方式,是针对采样的类型进行优化,可以看到图中显示的采样类型中metric类型占据很大的比例,而且默认该类型是无法通过修改采样率来降低的,这就需要使用其他的方式来调整。

可以修改 applicationinsights.json 配置文件,设置对metric的采样频率为一小时一次("metricIntervalSeconds": 3600,)。默认情况下metric采样率为每分钟一次,这样以来,metric部分成本节省大约90%。当然,采样率得根据业务的实际情况来进行考虑,做合理的折衷。

{ "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000", "sampling": { "percentage": 10 }, "preview": { "metricIntervalSeconds": 3600, "sampling": { "overrides": [ { "attributes": [ ... ], "percentage": 0 }, { "attributes": [ ... ], "percentage": 100 } ] } } }

还有其他很多配置的参数可以按需优化。 更多参数参考https://docs.microsoft.com/zh-cn/azure/azure-monitor/app/java-standalone-sampling-overrides

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:纯注解版spring与mybatis的整合过程
下一篇:上云记之消息中间件
相关文章

 发表评论

暂时没有评论,来抢沙发吧~