지표 데이터는 통상 시계열 데이터로 기록한다.
예시
metric_name | cpu.load |
---|---|
labels | host:i631,env:prod |
timestamp | 1613856000 |
value | 0.29 |
또한, 통상적으로 행 프로토콜(line protocol)을 따른다.
예시
CPU.load host=webserver01,region=us-east 1613856000 50
CPU.load host=webserver02,region=us-east 1613856000 29
CPU.load host=webserver01,region=us-east 1613857000 53
CPU.load host=webserver02,region=us-east 1613857000 31
...
이러한 이유로, 저장소를 직접 설계하거나, MySQL과 같은 범용 저장소 시스템을 사용하는것은 추천하지 않는다.
NoSQL이 그나마 시계열 처리에 사용될 수 있으나, 추후 효율적인 확장과 질의를 위해서는 전문적인 스키마 설계가 필요하다. 이또한 비용이 많이 든다.
결과적으로, InfluxDB
, Prometheus
등의 전문적인 시계열 데이터베이스를 사용하는 것이 좋다.