请选择 进入手机版 | 继续访问电脑版

ITIL,DevOps,ITSS,ITSM,IT运维管理-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

查看: 247|回复: 0

如何在应用软件做好监控埋点

[复制链接]
发表于 2020-12-6 23:30:40 | 显示全部楼层 |阅读模式
/varz这个HTTP接口只是用文本方式每行一个地列出应用中所暴露的全部监控变量值,格式是空格分隔的键值对。随后,又增加了一种 Map 格式,允许应用程序在键值对上增加标签(label)。例如下面这个例子,展示了25个HTTP200响应,以及12个 HTTP 500 响应。* h+ P3 r$ w+ k3 T$ E' u, ?3 H$ D& m; a

, m" z3 k* h. W9 [0 z, e5 Y% u6 n6 k8 I% d! Y4 h
http_responses map:code 200:25 404:0 500:12
* x; I. Q( Q) [3 P9 G

' P) Y5 ?) ^# v增加一个监控指标只需要在具体服务程序中增加一行代码声明。

! m! N5 Q/ u+ S& s# X
! E2 w. }' b% M: g8 ~4 P0 [. `# f3 f$ b' r# [
不难看出,采用这种无格式的文本形式作为监控的接口使得增加新监控点的门槛变得特别低,这对 SRE 和软件研发部门来说都是好事。但是,这同时也是对可维护性做出的一种妥协。监控指标的定义与 Borgmon中对监控指标的使用分离意味着需要有人小心地维护相关改动(很容易发生的情况就是应用程序删除了某些指标,或者改变了具体含义,需要人工重新修改在 Borgmon规则中的定义)。在实际使用中,我们开发了一个工具,用来自动校验 Borgmon 规则的正确性,从而很大程度上避免了这个问题。
' N3 k6 B* N% H
6 X' k) ]6 y: T8 G5 \

# a) K) l* j0 N- O% x如何将内部变量暴露给监控系统
' ~/ o- D  ^! q, @) y# K! Z5 JGoogle 内部产生的每个二进制文件中都默认包含一个HTTP服务,同时每种主流编程语言都提供了一个编程接口可以自动注册暴露指定的程序变量。软件服务器作者可以随后对这个变量进行简单地增加操作,或者直接修改这个变量的值。Go语言中的expvar 标准库和它的 JSON 输出格式也提供了类似的 API。
% |- P1 C* u; O
& ^. s" |9 F( Y% j6 e6 M5 j




上一篇:基于时间序列数据进行有效报警内容介绍
下一篇:分布式系统的监控指标的收集

本版积分规则

本站关键字: ITIL| ITSM| ISO20000| ITIL培训| ITIL认证| ITIL考试| ITSS| ITSS培训| ITSS认证| IT运维管理| DevOps| DevOps培训| DevOps认证| itop| itil4| sre| 开源ITSM软件

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1 )|网站地图

Baidu

GMT+8, 2021-1-25 09:50 , Processed in 0.152518 second(s), 30 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表