You need to enable JavaScript to run this app.
导航

自定义监控

最近更新时间2022.11.11 18:44:54

首次发布时间2021.12.08 10:38:14

自定义指标给用户提供了代码级的自定义打点能力,可在探针监控数据的范围之外,基于业务需求打点采集数据,从而自定义监控核心业务指标。目前提供了如下三种语义的接口,具体实现参考各个语言SDK。

func EmitCounter(name string, value float64, tags map[string]string)
func EmitTimer(name string, value float64, tags map[string]string)
func EmitStore(name string, value float64, tags map[string]string)

  • EmitCounter:通常用于度量数量,例如错误量 QPS等数据

  • EmitTimer:通常用于度量接口延迟,针对输入value会进行汇总,最终提供均值和分位值展示

  • EmitStore:通常用于度量内部系统状态,例如队列长度等等

前提条件

  • 各类语言接入metrics sdk

自定义指标

自定义指标展示所有上报的自定义指标及其自定义维度,支持搜索与筛选,可方便的跳转到可视化查询。

可视化查询

左侧选择指标,右侧可视化展示该指标的时间趋势图,可查看该指标随时间的变化趋势。

自定义看板

所有自定义指标都可以通过自定义看板进行查看,具体参见自定义看板介绍。

最佳实践

指标命名

推荐采用点作为分隔符,同时命名不能超过256个字符

  • ...<metric_name>

    • toutiao.appmonitor.apminsight.collect_called
  • toutiao.appmonitor.apminsight.collect_latency.us

  • <service_name>.<metric_name>

    • apminsight_collect.collect_called
  • apminsight_collect.collect_latency.us

推荐在初始化时设置该应用的服务名,打点时只配置指标名即可

  • init: Init(WithPrefix(<service_name>))

  • emit: EmitCounter(<metric_name>, ...)

TagKV使用

tagkv一般作为过滤条件和分组条件,要求tagkvs总种类数目不要过多,过多会影响查询效率和展示效果。例如不应该用设备id 邮箱等作为tagkv。