目录
article
【腾讯云】服务不可用报警调查
【腾讯云】服务不可用报警调查
在腾讯云的告警策略中,只能基于服务器的监测数据(CPU、内存、磁盘、带宽等)进行告警,无法基于服务和接口进行告警。
为了满足上述需求,需要接入腾讯云的应用性能观测服务。
产品帮助文档:https://cloud.tencent.com/document/product/1463
- Java:OpenTelemetry、Skywalking(推荐 OpenTelemetry)
- Node:Jaeger
Java 应用接入
修改 Dockerfile ( Dockerfile 中如何使用环境变量)
-javaagent:/path/to/opentelemetry-javaagent.jar //请将路径修改为您文件下载的实际地址。
-Dotel.resource.attributes=service.name=<appName>,token=*****
-Dotel.exporter.otlp.endpoint=*****
Node 应用接入(暂不接入,需要改代码)
使用 npm 安装依赖
npm i jaeger-client引入 SDK,示例如下:
const initTracer = require('jaeger-client').initTracer; // jaeger 配置 const config = { serviceName: 'service-name', // 服务名称,根据业务自行修改 sampler: { type: 'const', param: 1, }, reporter: { logSpans: true, collectorEndpoint: 'http://ap-guangzhou.apm.tencentcs.com:14268/api/traces', // 接入点,比前在应用性能监控获取的接入点多了 api/traces }, }; const options = { tags: { token: 'Vds************CrKck' // 业务申请的 token }, };进行数据上报 ,示例如下:
// 初始化 tracer 实例对象 const tracer = initTracer(config, options); // 初始化 span 实例对象 const span = tracer.startSpan('spanStart'); // 当前服务为server span.setTag('span.kind', 'server'); // 设置标签(可选,支持多个) span.setTag('tagName', 'tagValue'); // 设置事件(可选,支持多个) span.log({ event: 'timestamp', value: Date.now() }); // 标记Span结束 span.finish();