Akita의 NGINX Plus 인증 모듈로 API 엔드포인트 문제 찾기 및 수정하기

관리자
조회수 138

사용자 수가 많은 프로덕션 서비스를 책임지고 있다면 고객이 문제를 먼저 발견하는 것에 대한 고충을 이해하실 것입니다. 

Akita는 이러한 문제를 해결하고자 새로운 NGINX Plus 인증 모듈을 구축했습니다.

이 블로그에서는 로그에서 축소해야 하는 이유, 시스템 전반에서 문제를 빠르게 찾아서 해결하는 방법, 

새로운 Akita 모듈을 통해 NGINX 사용자가 이 기능을 쉽게 사용할 수 있는 방법 등 모듈의 주요 측면을 다룰 것입니다.


로그에서 API 엔드포인트까지 축소

오늘날 수많은 개발자들이 고객이 사실상 모니터링 시스템이 되어버린 안타까운 상황에 처해 있습니다.

소프트웨어 팀이 오류를 로깅하지 않는 것은 아닙니다. 예를 들어 NGINX를 역방향 프록시로 사용하는 경우 타임스탬프, 요청 길이 및 처리 시간, 응답 상태 코드 등 모든 종류의 정보가 NGINX 로그에 기록됩니다. 시간과 인내심을 가지고 찾아볼 수만 있다면 해당 정보를 확인할 수 있습니다.

하지만 다양한 요청과 응답이 있는 시스템에서는 로그의 바다에서 길을 잃기 쉽습니다! 로그 위에 대시보드나 다른 유형의 도구를 미리 설정해 두지 않았다면 수백만 개는 아니더라도 수천 개의 로그 줄을 헤집고 다니며 잠재적인 문제와 그 문제의 시작점을 파악해야 할 수도 있습니다. 하지만 올바른 대시보드와 모니터링 방법을 설정하는 데는 몇 주, 몇 달, 심지어 몇 분기가 걸릴 수도 있습니다. 또한 코드와 함께 업데이트해야 하는 경우도 많습니다.

Akita에서는 로그에서 API 엔드포인트까지 확대하는 것이 중요하다고 생각합니다. 이를 통해 소프트웨어 팀은 문제를 실제로 식별하는 데 필요한 세분성을 유지하면서 문제와 핫스팟에 대한 개요를 신속하게 확인할 수 있습니다. 코드 변경이나 대시보드 구축 없이도 지연 메트릭과 오류를 자동으로 모니터링하는 완전한 드롭인 메트릭 솔루션으로 모니터링의 정보 과부하를 해결하고 있습니다. 이 솔루션은 API 트래픽을 수동적으로 감시하고 자동으로 분석하여 엔드포인트별 모니터링 및 알림을 제공합니다. 무엇보다도: 사용자는 가입 후 15분 이내에 시작할 수 있습니다.


아키타의 NGINX Plus 인증 모듈 소개

이제 NGINX 사용자가 사용할 수 있는 Akita 모듈을 소개하게 되어 기쁘게 생각합니다. 웹 애플리케이션 서버, 리버스 프록시 또는 API 게이트웨이로 NGINX를 사용하는 경우 이제 분석을 위해 API 트래픽을 Akita로 전송할 수 있습니다. 무료 Akita 계정에 가입하고 아키타 모듈과 에이전트를 설치한 다음, NGINX 구성 파일을 약간 변경하면 됩니다.

몇 분 안에 Akita 콘솔로 이동하여 API 엔드포인트, 느리게 작동하는 부분, 오류가 발생하는 부분을 확인할 수 있습니다.

Akita console overview

아키타의 NGINX Plus 인증 모듈은 기존 NGINX 설정의 확장으로 NGINX 사용자에게 아키타의 다양한 이점을 제공합니다. Akita는 HTTP 요청에서 트래픽을 캡처하고 지연 시간 및 오류를 측정하는 동시에 사전 구축된 대시보드를 통해 프로덕션에서 어떤 일이 일어나고 있는지 보여줍니다.

Akita의 NGINX Plus 인증 모듈 작동 방식

모듈의 기능 및 작동 원리에 대해 자세히 알아보겠습니다. 먼저, 요청은 네트워크에서 요청을 읽는 것부터 시작하여 재작성 및 액세스 제어 검사를 거쳐 응답 및 로그 항목 생성으로 끝나는 여러 '단계'로 NGINX에서 처리됩니다. Akita의 NGINX Plus 인증 모듈은 이 과정의 후반부(헤더 재작성 등의 기능 이후 콘텐츠 전 단계 단계)에 삽입 되므로 애플리케이션이 수신하는 것과 가장 유사한 형태로 요청을 볼 수 있습니다. Akita는 들어오는 각 요청을 확인하여 NGINX 구성의 서버와 위치에 따라 모니터링 대상으로 플래그가 지정되어 있는지 확인합니다.

다음 단계에서 모듈은 요청이 완전히 수신되는 즉시 요청 본문을 기록하고 이를 Akita 에이전트로 전송합니다. 이 동작은 동일한 데이터가 애플리케이션과 Akita 에이전트 모두에 동시에 전송되므로 ngx_http_mirror 모듈과 유사합니다.

NGINX 또는 업스트림 서버에서 응답이 준비되면 Akita 모듈은 이 응답(최대 1MB)을 기록하면서 클라이언트로 다시 스트리밍합니다. 이 버퍼링으로 인해 응답이 지연되지 않는데, 이는 응답 본문의 각 청크를 사용할 수 있게 되면 처리할 수 있는 NGINX "콘텐츠 필터"에서 이루어집니다.

서버 응답 시간이 파악되고 응답이 성공하면 이 응답은 Akita 에이전트에 미러링됩니다. 에이전트는 요청과 응답을 함께 매칭한 다음 요청 및 응답 본문 콘텐츠의 구문 분석을 시도합니다. 이 데이터는 분석을 위해 Akita로 전송되기 전에 에이전트에 의해 로컬에서 난독화됩니다. 즉, Akita는 API 트래픽의 구조는 볼 수 있지만 사용자가 전송하거나 사용자에게 전송하는 특정 값은 볼 수 없습니다.

Akita의 NGINX Plus 인증 모듈은 이러한 애플리케이션 트래픽 추적을 통해 엔드포인트를 자동으로 추론하여 탐색 가능하고 다운로드 가능한 API 모델을 구축하고 지연 시간 및 오류 정보를 자동으로 표시합니다. 이를 통해 엔드포인트별 오류 발생률, 특정 엔드포인트의 높은 지연 시간 또는 예기치 않게 많은 양의 호출에 대해 경고할 수 있습니다.

각 엔드포인트에 대해 Akita의 NGINX Plus 인증 모듈을 통해 확인할 수 있습니다:

  • API 호출 횟수
  • HTTP 응답 코드 분포
  • 서버가 응답하는 데 걸린 시간

Akita의 NGINX Plus 인증 모듈 설정에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

Akita의 NGINX Plus 인증 모듈 시작하기

Akita는 현재 오픈 베타 버전입니다. 베타 버전에 가입하면 30분 이내에 결과를 확인할 수 있습니다.



위 내용과 같이 NGINX Plus를 활용하여 Demo 가 필요하시면 하단의 전문가에게 상담받기 버튼을 클릭해주세요

 

전문가에게 상담받기


0 0