제니퍼소프트의 사만다 프로젝트를 소개합니다.
안녕하세요. 제니퍼소프트입니다. 👧🏻
ChatGPT로 생성형 AI가 대중과 기업 모두에게 친숙해지고 있습니다. 2024년에는 활용이 더욱 고도화될 것이라고 예상하는데요. 장기적으로 AI가 가져올 변화에 대비하기 위해 제니퍼소프트도 내부 프로젝트인 <사만다 프로젝트>를 통해 생성형 AI와 APM에 대한 실험적인 연구를 꾸준히 진행하고 있습니다.
사용자들이 쉽게 모니터링을 사용할 수 있는 소프트웨어를 만들어 업무(일)를 통해 그들이 이루고자 하는 본질적 가치에 다가갈 수 있도록 돕는다.
제니퍼소프트의 변함없는 미션인데요. 😁 여러 실험적인 연구를 통해 개발한 기능은 여러 검토를 통해 제품에 반영되고 있습니다. 실제 여러 기능이 애플리케이션 모니터링 솔루션인 제니퍼(애플리케이션 모니터링 솔루션)에 추가되었으며, 오늘은 올해 진행한 프로젝트의 결과로 어떤 기능이 추가 되었는지, 어떻게 발전하고 있는지, 정리해 보려고 합니다.
총 5가지의 기능이 개발되었으며, 지금도 여러 피드백과 연구를 통해 발전되고 진화하고 있습니다. 아래 기능을 확인해 보시고, 좀 더 쉽고 편하게 제니퍼를 활용할 수 있으면 좋겠습니다.
메트릭 실시간 이상 탐지
갑작스러운 부하, 성능 저하 상황에서 자동으로 알림을 제공합니다. 이를 위해 5가지 핵심 메트릭 (응답시간, 액티브서비스, 동시사용자, 시스템 CPU 사용률(%), 시스템 메모리 사용률(%)) 데이터를 선정하여 지속적으로 모니터링하는 기능입니다.
추가 사용성 개선 사항
이상 탐지 팝업에서 상관관계 분석 기능이 추가되었습니다. 아래 팝업 화면의 오른쪽 ‘Metrics 상관분석’ 버튼을 클릭하여 진입합니다.
오른쪽에서 분석 영역이 나오고 가장 위쪽에 타겟 메트릭이 배치됩니다. 그 아래에는 상관계수가 높은 순서대로 메트릭이 배치됩니다. 아래의 예에서는 ‘응답시간’ 이 타겟 메트릭이고, ‘Bad Response 액티브 서비스 수’ 가 0.76 의 상관관계, ‘TPS’가 0.25의 상관관계가 있음을 알 수 있습니다. 마우스를 올리면 해당 시간의 메트릭 값을 확인할 수 있습니다.
상관관계 분석은 잘 알려진 ‘피어슨 상관계수’를 사용하고 있습니다. 피어슨 상관계수는 X, Y 라는 두 메트릭 시계열이 있을 때 아래와 같은 수식으로 계산됩니다.
피어슨 상관계수는 1 ~ -1 사이의 실수값을 가질 수 있는데, 0에 가깝다면 상관관계가 없다고 보고, 1 에 가까울수록 양의 상관관계, -1에 가까울수록 음의 상관관계가 있다고 말합니다.
- 양의 상관관계: X가 증가하면 Y도 증가합니다.
- 음의 상관관계: X가 증가하면 Y는 감소합니다.
일반적으로 절대값이 0.5 이상이라면 상관관계가 있다고 보지만, 상관계수의 해석은 분석가마다 다를 수 있습니다.
중요한 특징은 ‘시차 상관관계 분석’을 지원한다는 점입니다. 아래의 좌우 화살표를 누르면, 상관관계 메트릭이 5초씩 이동하여 메트릭 간 어떻게 영향을 주고 있는지 추측해 볼 수 있습니다.
X-View 실시간 패턴 분석
X-View는 명실공히 제니퍼의 대표 컴포넌트입니다. 많은 사용자분들이 X-View의 모양만 보고도 시스템의 정상 상태를 직관적으로 알아차리곤 했습니다. 이번에 추가된 패턴 분석 기능은 직관에 의존해오던 X-View 분석을 수치화하여 사용자 간 소통이 가능하도록 설계되었습니다.
정상 비정상에 대한 자동 인지
트랜잭션 분포를 바탕으로 X-View 차트 상단에 모니터링 시스템의 정상 여부를 실시간 표시합니다. 녹색 메시지가 나타나면 정상, 붉은색 메시지가 나타나면 비정상 상태로 주의가 필요합니다.
추가 사용성 개선 사항
X-View 패턴 분석은 주관적 판단이 포함된 영역을 피드백을 통해 줄여나가고 있습니다.
- 실시간 X-View 에서는 분석 결과를 표시하지 않는 ‘보류’ 상태를 도입했습니다.
- 대표적으로 트랜잭션이 없다면 기존에는 ‘정상’으로 판정했으나, 수정을 통해 분석 결과가 표시되지 않도록 변경했습니다.
- 패턴 매칭 대상 중 너무 단순한 케이스는 줄여서 복잡도를 줄였습니다. 이에 따라 기본 포함된 패턴 수는 기존 9개 → 변경 4개로 축소했습니다. 사용자 정의 패턴은 여전히 등록할 수 있습니다.
- 기존: 휴식, 여유, 혼란, 시루떡, 매트릭스, 단순 폭주, 폭포수, 물방울, 파도치기
- 변경: 단순폭주, 폭포수, 물방울, 파도치기
- 패턴 매칭 시 극단적으로 0% 혹은 100% 에 가까운 유사도 판정을 하는 경우를 발견하고 새로운 모델을 학습시켰습니다. 아래 그림의 좌측은 기존, 우측은 변경된 모델의 수치 분포입니다. 좌측은 검은색 혹은 노란색으로 극단적으로 수치 분포가 나뉘는 것을 볼 수 있으나, 변경된 모델에서는 한층 완화된 모습입니다.
더 좋은 성능을 가진 유사도 판정 모델로 업데이트되면, 뷰 서버를 통해 자동으로 배포 받을 수 있습니다.
제니퍼 챗봇(JENNIFER Chatbot)
제니퍼 챗봇은 사용자가 원하는 기능을 사용하는 데 필요한 상세 옵션까지 가이드를 할 수 있도록 설계되었습니다. 다양한 제니퍼 문서를 바탕으로 질문과 답변을 수행할 수 있기에, 제니퍼 사용자는 누구나 제니퍼 챗봇을 통해 쉽고 빠르고 제약 없이 제니퍼의 기능을 안내받을 수 있습니다.
이제, 제니퍼 챗봇을 통해 쉽고 빠르게 제니퍼의 기능을 확인해 보시고 더 정교하고 본질적인 업무에 효율적으로 집중할 수 있길 바랍니다. 제니퍼 챗봇은 한국어, 일본어, 영어로 질문할 수 있고 해당 언어에 근거하여 답변을 진행합니다.
향상된 메트릭 비교 차트
24시 차트의 비교 대상 정확도 개선, 대시보드에 주로 배치되는 24시간 차트는 현재의 값과 함께 어제 값이 비교 대상으로 함께 표시되어 왔습니다. 그러나 어제 값만 고려했을때는 요일별, 월별 패턴이 있을 경우 큰 차이를 보이는 한계가 있었습니다. 이번에 개선을 통해서 k개의 유사 시계열을 바탕으로 예측값을 도출하는 kNN (k-Nearest Neighbor) 회귀 알고리즘을 도입했습니다. 성능을 고려하여 최소 2일 (1일, 7일전), 최대 20일 (1~10일, 25~35일전) 데이터를 대상으로 새로운 값을 예측한 결과, 자체 테스트에서는 메트릭에 따라 65 ~ 98% 의 예측 정확도를 보였습니다.
추가 사용성 개선 사항
예측값과 현재값의 차이에 따라 상태를 직관적으로 표시하는 아이콘을 추가했습니다.
24시 라인차트, 24시 컬럼차트에 반영되어 있으며, 두 차트 모두 우상단에 녹색 아이콘이 표시되어 있고, 마우스를 올리면 툴팁으로 예측 대비 몇 %인지 확인할 수 있습니다.
- 현재값이 예측값 대비 50 ~ 150% 사이에 있으면 녹색 아이콘이 표시되고, 그렇지 않을 경우 붉은색 아이콘이 표시됩니다.
- 현재값이 예측값보다 두 배 (200%) 이상일 경우 ‘200+% 수준’으로 표기합니다.
- 예측값이 0 (과거 유사 데이터가 없는 경우) 이거나, 5분 이상 10 이하의 값일 경우 신뢰성 확보 차원에서 아이콘을 표시하지 않습니다.
붉은색 아이콘을 만나면, 과거에 경험하지 못했던 상황일 가능성이 크기 때문에 주의해서 살펴봐야 합니다.
유사 애플리케이션, 유사 트랜잭션 보기
유사 애플리케이션의 경우 선택한 애플리케이션과 유사한 X-View 패턴을 갖는 애플리케이션을 확인할 수 있게 되었습니다. 예를 들어, 타임아웃에 의해 가로줄이 생성된 애플리케이션을 확인했다면, 가로줄이 있는 다른 애플리케이션도 함께 확인하여 조치를 취할 수 있습니다.
애플리케이션의 우측에 화살표를 선택하여 유사 애플리케이션 화면으로 진입할 수 있습니다. 각 애플리케이션은 별도의 색상이 지정되어 X-View 에 점 데이터가 표시될 때 쉽게 구분할 수 있습니다.
유사 트랜잭션의 경우, X-View 에서 어떤 트랜잭션을 우선 분석해야 할지 어려운 경우가 있습니다. 이런 때 더보기 메뉴에 있는 ‘대표 트랜잭션만 보기’ 옵션을 선택할 수 있습니다. 동일 에러의 유무, 동일 애플리케이션의 호출 여부, 응답 시간의 유사성에 따라 트랜잭션을 필터링하고 대표성을 갖는 트랜잭션만 남겨줍니다. 아래의 예에서는 트랜잭션이 30여개 수준으로 필터링 되었습니다.
추가 개선 사항
기존 유사 애플리케이션 검색은 통계적인 방법으로 측정해왔지만, X-View 분석에서 새롭게 유사도 판정 모델을 도입하면서 동일한 모델을 애플리케이션 검색에도 사용하여 일관성을 높였습니다.
올해 7월부터 개발되어 사용성이 개선되고 있는 제니퍼의 실험적인 기능들을 소개 드렸습니다.😁 더 좋은 기능으로 발전시키기 위한 연구와 실험은 지속되고 있으니, 많은 관심 부탁드립니다. 👧🏻