Skip to content

1. 定义标签规范

随着业务复杂度增加,标签规范也开始现的重要起来

1.1 通用标签

我定了 5 个通用标签(这 5 个标签的范围是层层缩进的),这 5 个标签是添加 instance 的时候,必须要添加。

标签描述
envprod / test表示环境,prod 是生产环境,test 是测试环境
product_linebiz / personal表示产品线, toC 产品或者 toB 产品
regioncn / jp / us-east / us-west 等等实例所在主机的云服务区域 这个按照自己项目的使用情况来定义
cloud_platformaws / tx / aliyun实例所属主机的云服务厂商,比如 aws, 腾讯云,阿里云
server_typemysql / redis / push / mqtt当前实例的服务类别,有第三方的,比如 nginx,mysql,也有自研的,比如 push, mqtt 这种

这一样就可以很快的定位到某一个环境,某一个产品线,某一个区域下,某一个云服务厂商下的某一个服务,比如 我要添加线上环境,个人线产品在美西地区的 aws 主机的一台 mysql 的实例,那么就是:

yml
- targets:
  - 172.xx.xx.5:9104
  labels:
    env: prod
    product_line: personal
    region: us-west
    cloud_platform: aws
    server_type: mysql
- targets:
  - 172.xx.xx.5:9104
  labels:
    env: prod
    product_line: personal
    region: us-west
    cloud_platform: aws
    server_type: mysql

1.2 自定义标签

最常用的自定义标签就是 wan, 也就是外网 ip 地址, 因为在请求 metrics 接口的时候,一般都是走内网地址,在看内网地址的时候,我们一般都是很难辨别是哪一台, 所以针对这种 target 是内网地址的,我们一般都会再添加一个 wan 的标签,来指定所对应的外网地址