Prometheus与HDInsight集成咨询:如何对接HDInsight监控指标
问题内容
近期我正在设计一套全新的遥测体系,需要对大量微服务的性能、运维及其他多维度指标进行监控。
微服务监控可通过TimescaleDB、Prometheus、Grafana生态实现,目前已有timescale、tobs等众多方案可开箱即用搭建该监控生态。

但在Business Central(SAAS)场景下,该服务托管在微软平台,其遥测指标存储在HDInsight中,我无法访问底层基础设施。

请问如何将HDInsight的监控指标接入Prometheus,有什么可行的技术实现方案?
解决方案
以下方案均无需访问HDInsight底层基础设施,完全适配Business Central SaaS的权限限制场景:
- 方案1:Azure Monitor指标拉取
托管版HDInsight默认会将集群全量指标同步到Azure Monitor,直接部署azure-metrics-exporter,为其配置拥有对应HDInsight资源Monitoring Reader权限的Azure AD服务主体,配置拉取规则后exporter会自动将HDInsight指标转换为Prometheus格式暴露,直接在你的Prometheus服务中添加该exporter的抓取端点即可。该方案无需额外开发,开箱即用,适合通用监控需求。 - 方案2:Log Analytics自定义导出
如果HDInsight的遥测数据已同步到关联的Log Analytics工作区,可部署loganalytics-exporter,根据你的监控需求编写对应的KQL查询语句,配置exporter定时执行查询并将返回结果转换为Prometheus指标格式暴露。该方案灵活度最高,支持自定义提取业务维度指标,适合定制化监控场景。 - 方案3:Event Hub流式转换
先在Business Central管理中心配置遥测导出规则,将HDInsight存储的遥测数据流式同步到Azure Event Hub,开发轻量的Prometheus Exporter消费Event Hub中的遥测数据,过滤所需指标字段后转换为Prometheus标准格式暴露。该方案指标延迟最低,适合高频采集的场景。
内容的提问来源于stack exchange,提问作者Stavros Koureas
相关产品推荐
相关产品推荐

