Concept
Observability
최근의 IT 시스템들은 지속적인 변화에 대응하기 위해 작고 유연하며 분산된 환경에서 구동되고 있습니다. 전통적인 모니터링 제품은 각자의 영역에서 강력한 기능을 가지고 있지만 현재의 변화하는 아키텍처를 지원하는데 한계를 보이고 있습니다. 고객들 역시 복잡한 환경에서도 전체 IT 시스템을 편하게 보고 분석할 수 있는 환경을 원하고 있습니다.
DataSaker는 기존 제품별 모니터링의 한계를 벗어나 전체 시스템의 Observability(가관측성)을 높이기 위해 개발되었으며 Host(Node), Container, Kubernetes와 같은 Infrastructure, OpenTelemetry 기반의 APM, Database, Log 등 IT 시스템을 운영, 관리하기 위한 기능을 제공합니다.
Flexibility
Obervability를 확보한 이후 중요한 것은 Visualization(시각화)입니다.
IT 시스템의 운영과 관리를 담당하고 있는 사용자들은 주요한 지표들을 대시보드에 표현하고 지속적으로 모니터링합니다. 하지만 기존의 제품들은 Metric을 정해진 형태(Chart)로 제공합니다. 물론 사용자가 모니터링 대상의 변화를 쉽게 인지할 수 있도록 일반적이고 자주 사용되는 형태로 제공합니다. 하지만 다양한 관점에서의 시각화를 제공하지는 못합니다.
DataSaker는 일반적인 형태의 시각화도 제공하지만 사용자가 단위 매트릭을 사용하여 다양한 관점에서 분석할 수 있도록 유연하게 변경할 수 있습니다. 서로 다른 매트릭을 하나의 Chart에 추가하여 시각화 할 수 있고 매트릭들을 서로 연산하여 새로운 인사이트를 제공할 수 있습니다.
대시보드 역시 정해진 것이 아닌 사용자가 만든 Chart를 스스로 위치와 크기를 정해서 구조화하고 시각화할 수 있습니다.
Open Standard
DataSaker를 개발자와 DevOps, 운영자의 경험을 존중하고 지원합니다.
IT 시스템의 개발과 운영을 담당하는 고객들은 과거에서 부터 현재까지 다양한 도구를 사용하여 개발과 운영을 위한 데이터를 수집하고 시각화했습니다. DataSaker는 많은 고객들이 널리 사용하고 있는 도구들에 기반하고 있습니다. Metric은 Prometheus Exporter, Trace는 OpenTelemetry, Log는 FluentBit에 기반하고 있으며 필요한 경우 DataSaker 자체 Metirc을 추가하여 편의성을 높이고 있습니다.
DataSaker는 지속적으로 Open Standard에 따라 데이터를 수집하고 기능을 추가하여 빠르게 변화하는 IT 시스템을 지원할 예정입니다.
Tags for Data Relationship
시스템을 구성하는 모든 구성 요소들은 서로에게 영향을 주고 받습니다. 어떤 Backend application의 응답 시간이 갑자기 길어질 경우 다양한 측면에서 원인을 추적할 수 있습니다. 일차적으로 해당 application이 구동되고 있는 서버의 자원을 확인하거나 데이터베이스에 이상 현상이 있는지 검토할 수 있습니다. 다양한 모니터링 데이터 소스들을 서로 연계하여 검토할 수 있도록 DataSaker는 Tag를 통해 관계를 추적할 수 있습니다.
DataSaker는 Metric의 값 뿐만 아니라 Metric과 관련된 다양한 Tag를 함께 수집합니다. 예를 들어 node_cpu_seconds_total 이란 메트릭은 host name, cluster name, host key 등의 정보가 Tag로 있으며 OpenTelemetry를 통해 수집되는 Span 정보에도 host anme, pod name, container id 등의 Tag가 추가되어 관련된 구성 요소를 분석할 수 있는 진입점이 될 수 있도록 합니다.