监控指标

这里简单介绍一下描述监控指标的数据结构,Nightingale和Open-Falcon是保持兼容的

  1. [
  2. {
  3. "metric": "disk.io.util",
  4. "endpoint": "10.86.12.13",
  5. "tags": "device=sda",
  6. "value": 15.4,
  7. "timestamp": 1554455574,
  8. "step": 20
  9. },
  10. {
  11. "metric": "api.latency",
  12. "endpoint": "10.86.12.13",
  13. "tags": "api=/api/v1/auth/login,srv=n9e,mod=monapi,idc=bj",
  14. "value": 5.4,
  15. "timestamp": 1554455574,
  16. "step": 20
  17. }
  18. ]

其中,metric是监控指标名称,endpoint是监控实体,tags是监控数据的属性标签,step为监控数据的上报周期,value是监控指标的当前值,timestamp是当前时间戳,单位是秒。counterType字段表示指标类型,支持GAUGE和COUNTER,如果不上报这个字段,默认为GAUGE,如果上报的指标是COUNTER类型,需要明确指定,另外,COUNTER类型的指标的计算逻辑是在collector模块实现的,所以,不要把COUNTER类型的指标直接推给transfer。

另外,tags字段如果不想使用上面的字符串拼接方式,可以使用tagsMap字段来代替,上面两条指标使用tagsMap改写如下:

  1. [
  2. {
  3. "metric": "disk.io.util",
  4. "endpoint": "10.86.12.13",
  5. "tagsMap": {
  6. "device": "sda"
  7. },
  8. "value": 15.4,
  9. "timestamp": 1554455574,
  10. "step": 20
  11. },
  12. {
  13. "metric": "api.latency",
  14. "endpoint": "10.86.12.13",
  15. "tagsMap": {
  16. "api": "/api/v1/auth/login",
  17. "srv": "n9e",
  18. "mod": "monapi",
  19. "idc": "bj"
  20. },
  21. "value": 5.4,
  22. "timestamp": 1554455574,
  23. "step": 20
  24. }
  25. ]