在现代软件工程中,传统的监控——仅仅了解系统是运行还是宕机——已不再足够。高速发展的工程团队需要可观测性:即仅根据系统的外部输出来推断其内部状态的能力。
当关键微服务在高流量下出现异常行为时,工程团队无法承受猜测的代价。我们需要上下文丰富的遥测数据,直接指向根本原因。本文提供了一份综合指南,介绍如何使用开放遥测(厂商中立的行业标准)以及普罗米修斯和格拉法纳来实现生产级别的可观测性实践,并由自动化的持续集成/持续部署验证工作流提供支持。
实际实施:多维度指标
以下是一个完整的、可用于生产的节点.js微服务。它展示了如何对结账端点进行埋点,以使用高基数属性跟踪吞吐量(数量/状态)和延迟分布。
const express = require('express');
const { NodeSDK } = require('@opentelemetry/sdk-node');
const { PrometheusExporter } = require('@opentelemetry/exporter-prometheus');
const { PeriodicExportingMetricReader } = require('@opentelemetry/sdk-metrics');
const opentelemetry = require('@opentelemetry/api');
// 1. 初始化普罗米修斯导出器(在端口 9464 上暴露指标)
const exporter = new PrometheusExporter({}, () => {
console.log('开放遥测指标导出器运行于 http://localhost:9464/metrics');
});
// 2. 配置并启动开放遥测软件开发工具包
const sdk = new NodeSDK({
metricReader: new PeriodicExportingMetricReader({ exporter: exporter免责声明:本文内容来自互联网,该文观点不代表本站观点。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请到页面底部单击反馈,一经查实,本站将立刻删除。