Skip to content

分布式日志系统

在微服务架构中,应用程序被拆分为多个小型的、自治的服务,日志分散在各个服务实例中。当系统出现问题时,需要登录到不同的服务器、查看不同的日志文件,排查效率极低。因此,建立统一的分布式日志系统成为微服务架构中的必备基础设施。

HMX 平台采用 Grafana + Loki + Promtail 的轻量级日志聚合方案,集中采集 .NET 应用程序日志、第三方组件日志以及基础设施日志,实现日志的统一存储、查询与可视化分析。

1. 应用日志采集(NLog)

平台集成 NLog 作为 .NET 10 应用程序的日志记录框架,日志输出格式化为 JSON,便于 Promtail 采集和 Loki 索引。

2. 日志采集器(Promtail)

Promtail 负责采集各类日志文件并推送到 Loki,支持多来源配置。

3. 日志存储与查询(Loki)

Loki 采用轻量级设计,仅索引日志元数据(标签),不索引日志全文,大幅降低存储成本。

4. 可视化分析(Grafana)

通过 Grafana 的 Explore 功能进行日志查询和分析。

日志全链路追踪示例

当用户发起一个跨服务的请求(如生成报表)时,通过 TraceId 串联完整的日志链路:

设计优势

能力维度HMX 日志方案优势
轻量高效Loki 无需 Elasticsearch 级别的资源消耗,适合中小规模部署
统一查询在 Grafana 中同时查看应用、报表、存储、系统等多源日志
成本可控日志内容不索引,存储成本低,支持分层存储策略
原生集成Grafana 原生支持 Loki,无需额外开发即可完成可视化
扩展友好新增服务只需配置 Promtail 采集路径,自动纳入日志系统

HiMind 工业互联网平台 技术文档