New Relic Now+ New Relic’s most transformative platform update yet with 20+ product launches.
Watch the event on-demand now.

엔지니어들은 시스템의 운영 문제를 해결하고 성능을 최적화하며 부하 변동에 따라 탄력성을 보장해야 하는 등 일상적으로 많은 부담을 안고 있습니다. 현대의 애플리케이션은 복잡하고 인프라는 무질서하게 확장되어, 로그를 검색하고, 커스텀 쿼리를 작성하고, 분산된 인사이트를 조합하려면 많은 시간이 걸립니다. 이 부분에서 뉴렐릭 AI가 차이를 만들어 줄 수 있습니다. 대규모 언어 모델(LLM)을 활용하는 뉴렐릭 AI는 보다 자연스러운 방식으로 시스템 데이터와 상호 작용할 수 있도록 합니다. 원시 데이터를 분석하느라 많은 시간을 허비하거나 복잡한 쿼리를 작성하는 것이 아니라 간단한 영어로 질문을 하면 의미 있고 실행 가능한 인사이트를 즉시 확보할 수 있습니다. 뉴렐릭 AI는 엔지니어가 워크플로우를 간소화하고 진정으로 중요한 일에 집중할 수 있도록 해주는 게임 체인저입니다.

이 블로그 게시물에서는 뉴렐릭 AI가 엔지니어링 작업을 더 쉽고 빠르게 만들어 부담을 덜어주는 5가지 방법을 공유합니다. 숨겨진 문제의 식별, 단순 반복 작업의 자동화, 모니터링 간소화 등 이 툴이 옵저버빌리티에 대한 접근 방식을 어떻게 변화시켰는지 자세히 살펴봅니다.

1. 디버깅 간소화

디버깅은 특히 대규모 분산 시스템에서 시간이 많이 걸리는 작업 중 하나입니다. 오류가 발생하면 보통 가장 먼저 하는 일은 로그를 살펴보는 것입니다. 무엇이 잘못되었는지 찾기 위해 수백 또는 수천 줄에 달하는 텍스트를 일일이 들여다 봐야 한다는 의미입니다. 뉴렐릭 AI는 로그 분석을 더 빠르고 스마트하게 만들어 줍니다. 로그를 수동으로 검색하는 것이 아니라 일상적인 언어로 뉴렐릭 AI에게 질문을 하면, AI가 오류를 요약하고 패턴을 강조 표시하며 다음 단계를 제안합니다.

트래픽이 많은 이벤트 기간 중에 광고 서비스 작업을 하고 있는데 일부 트랜잭션이 간헐적으로 실패하는 상황을 가정해 보겠습니다. 여러 로그 파일을 살펴보는 대신 뉴렐릭 AI에게 다음과 같은 질문을 합니다.

왜 광고 서비스에서 일부 트랜잭션이 실패했는지 설명해줘.

뉴렐릭 AI는 즉시 NRQL(뉴렐릭 쿼리 언어)로 쿼리를 생성하고 아래와 같이 실패한 트랜잭션에 대한 개괄적인 수치를 제공합니다.

여기에서 좀 더 구체적인 질문을 해서 오류 유형과 근본 원인을 식별합니다.

이 트랜잭션이 왜 실패했지?

AI는 클래스, 메시지, 횟수 등 오류에 대한 자세한 분석을 반환합니다. 예를 들어 SQL 연결 문제나 시간 초과로 인해 오류가 발생한다는 것을 알 수 있습니다.

위의 스크린샷에서는 두 가지 오류가 표시되었습니다.

  • java.lang.Exception: SQL 연결 실패(연결이 너무 많음). 이는 데이터베이스가 최대 연결 한도에 도달하여 쿼리가 실패했음을 나타냅니다.
  • java.util.concurrent.TimeoutException: 컨텍스트 시간 초과. 외부 서비스 또는 리소스에 대한 요청이 제한 시간 임계값을 초과하고 있음을 암시합니다.

간단한 요약 정보가 표시되므로 대용량 로그를 검색하느라 시간을 낭비할 필요가 없습니다. 이제 연결 병목 현상을 해결하고 외부 종속성을 최적화하는 데 중점을 두면 됩니다. 이러한 기능은 귀중한 시간을 절약하고 업무 부담이 많은 상황에서 인지 부하를 줄여 문제를 더 빠르고 효과적으로 해결할 수 있도록 합니다.

2. 자연어로 NRQL 쿼리 작성

뉴렐릭을 사용해 본 적이 있다면 NRQL이 텔레메트리 데이터 쿼리를 위한 중추라는 것을 알고 계실 겁니다. 시스템 메트릭 분석이든, 오류 추적이든, NRQL은 의미 있는 인사이트를 도출할 수 있는 역량을 제공합니다. 그러나 이를 위한 쿼리 작성은 시간이 많이 걸릴 수 있고 구문에 익숙하지 않은 경우 더딜 수 있습니다. 뉴렐릭 AI를 사용하면 NRQL을 기억하거나 수동으로 구성할 필요가 없습니다. 필요한 사항을 평범한 언어로 설명하면 AI가 쿼리를 생성해 주기 때문입니다.

프런트엔드 서비스를 모니터링하고 있으며 서비스의 응답 시간을 확인하려는 경우를 가정해 보겠습니다. 성능을 분석하려면 다음과 같이 간단하게 질문합니다.

지난 1시간 동안 프런트엔드 서비스의 평균 응답 시간은 얼마였는지 말해줘.

뉴렐릭 AI는 다음과 같이 쿼리를 생성합니다.

SELECT average(duration) AS 'Average Response Time' FROM BrowserInteraction WHERE appName = 'Frontend' SINCE 1 hour ago

단일 메트릭에 초점을 맞추는 것이 아니라 서비스의 성능 개요를 쿼리할 수도 있습니다. 간단하게 묻습니다.

결제 서비스의 성능 내역을 보여줘

뉴렐릭 AI는 다음과 같이 쿼리를 생성하고 실행합니다.

FROM Transaction SELECT average(duration) AS 'Average Duration', count(*) AS 'Transaction Count' WHERE appName = 'Payment Service' SINCE 1 hour ago TIMESERIES

아래 스크린샷은 지난 1시간 동안 결제 서비스의 평균 지속 기간, 트랜잭션 수 같은 성능 메트릭을 보여 줍니다.

3. 대시보드 인사이트에 대한 신속한 이해

대시보드는 시스템의 성능, 사용 추세 및 상태 메트릭에 대한 시각적 인사이트를 제공하는 옵저버빌리티의 필수 요소입니다. 그러나 여러 그래프가 결합된 복잡한 대시보드의 경우, 특히 데이터에 익숙하지 않거나 빠른 개요가 필요한 경우에는 어디에 집중해야 할지 바로 알 수가 없습니다. 뉴렐릭 AI는 대시보드를 일반 언어로 요약해줌으로써 이러한 문제를 해결합니다. 여러 차트를 오가며 패턴을 찾는 것이 아니라 대시보드에 표시되는 것이 무엇인지 물어보면 뉴렐릭 AI가 가장 관련성이 높은 인사이트를 간략하게 요약해 줍니다.

방금 새로운 서비스를 모니터링하는 작업을 할당받고, 팀에서 이 서비스에 대한 대시보드를 이미 생성했다고 가정해 보겠습니다. 빠르게 시작하려면 다음과 같이 요청할 수 있습니다.

이 대시보드에 어떤 정보가 있는지 말해줘.

뉴렐릭 AI는 대시보드를 분석하고 주요 사항을 짚어 줍니다. 다음은 뉴렐릭에서 생성된 대시보드 요약의 예입니다.

이러한 요약 정보를 통해 개별적으로 그래프를 분석하지 않고도 전체 성능과 추세를 파악할 수 있습니다. 이 기능은 새로운 팀원을 온보딩하거나 성과 회의를 급하게 준비할 때 특히 유용합니다. 중요한 사항에 집중할 수 있도록 해주기 때문에 그래프를 해석하느라 시간을 낭비할 필요가 없습니다.

4. 포괄적인 알림 범위 보장

알림은 일반적으로 문제가 발생했음을 알게 되는 첫 방어선입니다. 적절한 알림 범위가 설정되어 있지 않으면 중요한 문제가 눈에 띄지 않고 지나가 장애나 성능 저하가 발생할 수 있습니다. 그러나 복잡한 시스템의 모든 엔터티에 대한 알림 설정을 수동으로 확인하는 일은 모든 엔지니어가 피하고 싶은 일입니다. 알림 범위를 확인하는 것보다 실제 문제를 해결하는 편을 원하기 때문입니다. 뉴렐릭 AI를 사용하면 알림이 설정되지 않은 엔터티, 서비스, 호스트 및 애플리케이션을 신속하게 식별할 수 있습니다. 모니터링되지 않는 서비스를 식별하려면 먼저 뉴렐릭 AI에게 전체 스택이나 스택의 특정 부분에서 간극을 찾아주도록 요청합니다.

알림이 적용되지 않는 APM 서비스를 모두 표시해줘

위의 프롬프트는 알림이 적용되지 않는 APM 서비스 목록을 반환합니다.

간극을 확인한 후 동일한 뉴렐릭 AI의 지원이나 UI 또는 REST API를 사용해 알림을 설정할 수 있습니다.

5. 신세틱 모니터링 간소화

신세틱 모니터링은 사용자의 상호 작용을 시뮬레이션하여 중요한 서비스가 예상대로 작동하며 상시 사용할 수 있게 만드는 데 도움을 줍니다. 그러나 이를 위한 모니터를 수동으로 설정하고 일정을 수립하고 임계값을 정의하다 보면 불필요한 병목 현상이 발생할 수 있습니다.

뉴렐릭 AI에게 간단하게 설명하면 문제가 해결됩니다. 예를 들어 API 엔드포인트의 업타임을 추적해야 하는 경우 다음과 같이 질문할 수 있습니다.

체크아웃 서비스에 대한 ping 모니터를 설정해줘.

뉴렐릭 AI는 ping 모니터를 생성하기 위해 인터페이스로 응답합니다.

사양에 맞게 ping을 구성할 수 있으며 업타임과 응답 시간을 즉시 확인할 수 있습니다. 메뉴나 여러 화면 간 전환이 필요하지 않으며, 필요할 때 즉시 결과를 얻을 수 있습니다. 이 기능은 편리할 뿐만 아니라 선제적인 모니터링을 통해 사용자가 문제를 발견하기 전에 서비스를 안정적으로 유지할 수 있도록 해줍니다.

결론

엔지니어링에서 중요한 것은 문제 해결이지만, 얼마나 효율적으로 문제를 해결할 수 있는지는 사용하는 툴에 달려 있습니다. 뉴렐릭 AI는 옵저버빌리티에 대한 접근 방식을 새롭게 정의해주어, 몇 시간이 걸리던 작업을 단 몇 분 만에 수행할 수 있도록 해줍니다. 자연어로 NRQL 쿼리를 작성하는 것부터 대시보드를 이해하고 전체 알림 범위를 보장하는 것까지, 뉴렐릭 AI는 워크플로우를 간소화해주어 탄력적인 고성능 시스템을 구축하는 등의 정말 중요한 일에 집중할 수 있도록 합니다.

더 스마트하게 작업할 수 있는 방법을 찾는 엔지니어라면 뉴렐릭 AI를 확인해 볼 필요가 있습니다. 뉴렐릭 AI는 단순한 툴이 아니라 현대적인 옵저버빌리티를 위한 게임 체인저입니다.