저는 와탭랩스라는 IT 서비스 기업에서 근무하고 있으며, 파이썬 에이전트 개발을 시작으로 현재는 쿠버네티스 에이전트 개발을 맡고 있습니다.
모니터링 제품의 '에이전트'는 시스템이나 서비스의 상태를 감시하며 데이터를 수집하는 소프트웨어입니다. 예를 들어, 쿠버네티스 에이전트는 클러스터에서 발생하는 이벤트와 성능 지표 데이터를 수집합니다. 이를 병원에 비유한다면, 환자의 체온이나 심박수를 체크하고 이상 징후를 알려주는 역할을 합니다. 중요한 것은 시스템에 부담을 주지 않으면서 필요한 데이터를 효과적으로 수집하는 것입니다.
이처럼 에이전트는 모니터링 제품에서 필수적인 요소이지만, 일정 수준의 기능이 충족되면 추가적인 가치 상승은 제한적입니다. 오히려 트러블슈팅 능력이 더 중요한 가치로 인식되고 있죠. 시장은 단순한 관찰에서 문제해결로 옮겨가고 있으며, 이러한 트러블슈팅 능력의 차별화가 더욱 가속화될 것으로 보입니다.
저는 에이전트 개발자로서 담당 업무에 충실함은 물론, 트러블슈팅 기능을 강화하여 시장 변화에 능동적으로 대응하고자 합니다. 저는 진취적이고 도전적인 성향을 가지고 있으며, 제가 맡은 업무를 넘어 비즈니스 전체에 영향을 미치는 개발자가 되고 싶습니다.
제가 구상하는 '쿼리 어시스턴트' 기능은 사용자가 쿼리 언어를 모르더라도 문제를 진단하고 해결할 수 있게 하는 것입니다. 현재 많은 모니터링 서비스들은 사용자와의 의사소통에 한계가 있습니다. 예를 들어, Prometheus에서는 PromQL을 사용하여 시스템 성능을 조회하고 대시보드로 시각화합니다.
## 노드 cpu 사용률 조회를 위한 PromQL 쿼리
100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
와탭에서는 MXQL 이라는 독자적인 쿼리를 사용하고 있구요.
하지만 이러한 쿼리 언어는 접근성이 낮고, 모니터링 개발자인 저조차도 MXQL에 익숙하지 않습니다. '노드 CPU 사용률을 보여줘'라고 말만 해도 대시보드를 생성해주는 기능은 개발하기 어려울까요?
저는 LLM(Large Language Model)을 활용하여 이러한 쿼리 어시스턴트 AI를 만드는 것을 목표로 하고 있습니다. 이미 AWS에서 비슷한 기능을 제공하고 있으며, Honeycomb이라는 미국의 스타트업도 쿼리 어시스턴트 서비스를 제공하고 있습니다. 이러한 기술을 바탕으로 쿼리 언어 없이도 트러블슈팅이 가능한 모니터링 서비스가 일반화될 날이 멀지 않았다고 생각합니다.