1. 定义标签规范
随着业务复杂度增加,标签规范也开始现的重要起来
1.1 通用标签
我定了 5 个通用标签(这 5 个标签的范围是层层缩进的),这 5 个标签是添加 instance 的时候,必须要添加。
标签 | 值 | 描述 |
---|---|---|
env | prod / test | 表示环境,prod 是生产环境,test 是测试环境 |
product_line | biz / personal | 表示产品线, toC 产品或者 toB 产品 |
region | cn / jp / us-east / us-west 等等 | 实例所在主机的云服务区域 这个按照自己项目的使用情况来定义 |
cloud_platform | aws / tx / aliyun | 实例所属主机的云服务厂商,比如 aws, 腾讯云,阿里云 |
server_type | mysql / 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
的标签,来指定所对应的外网地址