최근 IT 업계에서 마이크로서비스 아키텍처, 클라우드 네이티브와 같은 최신 기술 트렌드가 빠르게 채택되고 있습니다. 그러나 규모가 확장되면서 복잡해진 아키텍처에 대해 사용자들이 어려움을 겪고 있습니다.
여러분은 마이크로서비스, 클라우드 네이티브 환경을 사용하고 계시나요? 서비스 환경에서 워크플로를 인지하고 계시나요? 문제가 발생했을 때, 이를 빠르게 감지하거나 추적하는 게 가능하신가요?
요즘 IT 업계에서는 observability 개념이 주목받고 있는데요. 이는 시스템 외부 출력의 결괏값에서 시스템 내부 상태를 얼마나 잘 추론하는지 나타내는 척도입니다. observability를 지원하는 관련 솔루션도 시중에 여럿 있죠.
observability 솔루션은 조직에서 애플리케이션을 운영할 때, 위 질문에서 언급한 상황을 잘 대응하도록 지원합니다. 이 솔루션은 서비스 환경에서 워크플로를 인지하도록 돕고요. 서비스 운영 과정에서 문제가 생기면 이를 신속히 파악하고, 문제 원인을 추적하도록 지원하죠. 이 글에서는 observability 개념과 관련 도구인 Signoz를 알아보려고 합니다. 아울러 Signoz 기능을 활용한 observability 구현 방안을 살펴보겠습니다.
Observability란?
observability는 Log, Metric, Traces 등의 시스템이 생성하는 데이터 항목을 기반으로 시스템의 현재 상태를 측정하는 기능입니다. 클라우드 네이티브 환경의 마이크로서비스 구조가 확장되면서 복잡해지는 구조를 observability로 보다 쉽게 확인할 수 있습니다. 엔지니어나 운영자는 observability에서 생성된 데이터를 사용해 시스템 동작을 잘 파악하고, 문제를 빠르게 감지할 수 있습니다. 또 애플리케이션 측정 데이터를 활용해 시스템 성능을 최적화할 수 있습니다
SigNoz란?
기존 observability 솔루션에는 Data dog, New Relic 등이 있습니다. 아울러 유료 솔루션은 아니지만 오픈 소스 솔루션을 조합해 observability를 구현한 사례도 있습니다. SigNoz는 observability 솔루션 중 하나로 오픈 소스 형태입니다. 이는 자체 호스팅할 수 있는 환경을 제공하고 있습니다.
SigNoz 공식 문서에서는 이렇게 소개하고 있습니다.
SignNoz는 애플리케이션을 모니터링하고 문제를 해결하는 데
도움이 되는 오픈 소스 애플리케이션 성능 모니터링(APM) 도구입니다.
SigNoz는 분산 추적을 사용하여 소프트웨어 스택에 대한 가시성을 확보합니다.