제니퍼AI를 활용한 실시간 성능 관리의 새로운 가능성 탐색 1

시스템 복잡도와 모니터링의 과제
본 아티클에서는 모니터링 분야의 과제를 시스템 복잡도 증가 측면에서 논의하고자 합니다. 문제의 핵심은 시간이 지남에 따라 시스템이 점점 더 복잡해지는 반면, 개인의 운영 역량에는 한계가 있다는 점입니다. 특히 웹서비스는 실시간 운영이라는 특성을 가지고 있어, 문제 발생 시 즉각적으로 불편을 겪는 사용자가 존재하게 됩니다. 따라서 시스템 운영자는 신속한 대응을 취해야 하는 상황에 직면하게 됩니다.
이러한 급박한 상황에서 시스템의 복잡성으로 인해 문제 해결이 지연된다면 장애 시간이 증가하게 됩니다. 이러한 복잡성은 일상적인 운영에서도 큰 도전 과제가 되며, 서비스의 전체적인 구조를 파악하지 못하면 서비스 속도 저하의 정확한 원인을 파악하기 어려워집니다. 이는 문제 해결을 더욱 어렵게 만듭니다. 또한, 서비스가 제공하는 기능이 다양해질수록 일부 기능의 문제가 발생하더라도 운영자가 이를 인지하지 못하고 넘어갈 가능성이 있습니다.
AI를 통한 해결 접근
시스템이 현재 상황을 정확히 파악할 수 있는 강력한 분석 도구가 부재하다면 이러한 답답한 상황이 반복될 수밖에 없습니다. 시스템의 복잡성 증가는 운영 비용의 증가로 직결되는 경향이 있습니다. AI가 이러한 문제의 해결책이 될 수 있습니다. AI는 데이터를 이해하는 알고리즘을 바탕으로 데이터를 요약하거나 필터링할 수 있을 뿐만 아니라, 운영자를 대신하여 분석의 일부를 수행하여 문제의 원인을 파악하거나 해결책을 제시할 수 있습니다.
이러한 AI 도구를 통해 복잡성을 관리할 수 있다면, 개인의 운영 역량을 극대화하고 운영 비용 증가를 억제할 수 있습니다. 이는 데이터가 문제와 해결책 사이를 연결하는 가교 역할을 하기 때문에 가능합니다. 복잡한 시스템이 생성하는 대량의 데이터는 인간의 인지 한계를 초과하는 문제가 있습니다. 인공지능 기술은 데이터가 많을수록 더 효과적으로 작동하는 특성이 있습니다. 이러한 이유로 복잡한 시스템을 다루는 모니터링 도구와 인공지능 기술이 잘 조화를 이루는 것입니다.
제니퍼의 AI 기능 구현 특징
AI 기술을 도입할 때 머신러닝과 같은 복잡한 연산을 위해 추가적인 서버 자원이나 비용이 요구되는 경우가 있습니다. 그러나 제니퍼의 경우에는 이러한 추가 자원이나 비용이 필요하지 않습니다.
제니퍼는 모든 AI 기능이 기존 장비 위에서 가동될 수 있도록 최적화하여 설계 및 구현하였으므로, 최신 버전의 제니퍼를 설치하면 이 모든 AI 기능을 사용해 볼 수 있습니다.
이렇게 비용을 기술적으로 억제하는 선에서 시간이 지남에 따라 효용이 커질 수 있는 최적의 지점을 찾아 AI 기능을 발굴하고 개발하는 것이 바로 제가 엔지니어로서 수행하고 있는 업무입니다. 오늘 제니퍼의 AI 기능에 대해 소개해 드리고자 합니다.
먼저 매트릭 분석과 트랜잭션 분석에서 AI의 역할을 살펴본 후, 제니퍼 애플리케이션 인사이트가 이 두 가지를 아우르는 기능과 생성형 AI를 활용한 신기능을 순차적으로 소개하겠습니다. 우선 비교적 널리 보급된 기술인 이상치 탐지부터 시작하겠습니다.
매트릭 분석과 이상치 탐지
어노말리(Anomaly) 이벤트 기능

우리는 이를 어노말리 이벤트라고 부르고 있습니다. 이름 그대로 지표로부터 어노말리를 찾아 이벤트 형태로 운영자에게 알려주는 기능입니다. 과거에는 시스템 운영자가 직접 지표들을 살펴보면서 이 지표를 통해 서비스가 정상적으로 동작하고 있는지 스스로 판단해야 했습니다. 그러나 시간이 지남에 따라 시스템이 점점 더 복잡해지면서 그만큼 모니터링해야 할 지표도 증가했습니다.
예를 들어 각 요청별 응답 시간, SQL 실행 시간, 하드웨어의 CPU 및 메모리 사용률, 서비스 전체의 TPS와 동시 사용자 수 등을 함께 고려해야 합니다. 이렇게 방대한 데이터셋을 사람이 일일이 분석하는 것은 현실적으로 불가능해졌습니다. 따라서 제니퍼는 인공지능 기술을 활용하여 서비스 운영자가 이러한 지표들을 자동으로 분석할 수 있도록 지원하고 있습니다.
이 인공지능 알고리즘은 현재 상태와 정상 범위를 실시간으로 모니터링하여 비정상적인 변동이나 이상 징후가 발생할 경우 즉시 알림을 제공합니다. 이에 따라 운영자는 상황을 파악하고 서버 재시작, 코드 수정, 네트워크 설정 교정 등의 적절한 조치를 취할 수 있습니다. 그러나 이론과 달리 실제로 이러한 알림 기능을 효과적으로 활용하는 것은 예상보다 복잡할 수 있습니다.
정상 범위 설정 추천 기능

성격이 다양한 여러 지표에 대해 정상 범위를 설정하는 것은 기능을 개발한 우리에게도 다소 번거로운 작업으로 느껴졌습니다. 이러한 문제를 해결하고자 정상 범위 설정 추천 기능을 개발하였습니다. 이 설정 추천 기능은 전날 하루 동안 시스템이 정상적으로 작동했다는 가정 하에 정상 범위를 시뮬레이션합니다. 더 포괄적인 결과값을 원하신다면 지난 7일간의 더 큰 데이터를 사용하는 시뮬레이션을 선택하실 수도 있습니다.
여기에 더해 여러 지표에 대해 일괄적으로 알림을 설정하는 일괄 설정 기능까지 지원하여 이러한 이상 감지 이벤트 기능을 쉽고 빠르게 활용할 수 있게 하였습니다. 저희는 이와 같이 데이터로 인사이트를 제공하기 위해 노력할 뿐만 아니라 누구나 사용하기 쉬운 모니터링 제품을 추구하고 있습니다.
매트릭스 상관 분석
이렇게 어노말리 이벤트로 시작된 지표 분석은 매트릭스 상관 분석으로 심화될 수 있습니다. 이 매트릭스 상관 분석은 시스템의 여러 가지 지표들에 대해 얽혀 있는 복잡한 상관관계를 서비스 운영자가 쉽게 파악할 수 있게 돕는 기능입니다. 예를 들어 앞서 시스템 CPU 사용률이 급증해서 어노말리 이벤트가 발생한 상황입니다. 이런 상황에서 액티브 사용자 수나 데이터베이스 커넥션 수와의 관계를 함께 살펴보며 근본 원인을 찾아갈 수 있습니다.
앞의 예시에서는 액티브 사용자 수가 가장 높은 상관성을 보이는 지표로 나타났습니다. 그러나 그 정도가 -0.14%로 실제로는 크지 않습니다. 상관관계 분석에서는 일반적으로 동시에 증가하거나 감소하는 지표 간에 높은 상관성이 있다고 평가합니다. 따라서 시차를 두고 전파되는 장애 현상을 추적하는 데는 한계가 있습니다.

예를 들어 트래픽 폭증으로 인한 문제 상황을 고려해보겠습니다. 먼저 트래픽이 증가하고, 이어서 CPU 사용률이 상승하며, 결과적으로 응답 시간이 지연되는 순차적인 패턴이 나타날 수 있습니다. 이러한 상황에서 사람은 그 패턴을 명확히 인식할 수 있지만, 인공지능의 경우 이 세 가지 현상이 동시에 발생한 것이 아니기 때문에 그 상관성을 낮게 평가할 수 있습니다.
제니퍼는 시차 상관관계 분석을 지원하여 이러한 전후 관계를 놓치지 않도록 합니다. 5초 간격으로 움직이며 약간 앞서거나 뒤처지는 지표들을 함께 살펴봄으로써 문제 상황 전후의 다른 특이 사항을 파악할 수 있습니다.
다음 편에서는 트랜잭션 분석과 애플리케이션 인사이트를 활용한 실시간 성능 관리에 대하여 설명드리겠습니다. 제니퍼AI를 활용한 실시간 성능 관리의 새로운 가능성 탐색은 다음 편에서 계속됩니다. 👧🏻