여러 사용자를 대상으로 하는 프로덕션 서비스를 담당하고 있다면 고객이 자신보다 먼저 문제를 발견하는 것이 얼마나 어려운지 잘 알고 있을 것입니다. 아키타에서는 이 문제를 해결하고자 했습니다. 그래서 새로운 NGINX Plus 인증 모듈을 구축했습니다.
이 블로그에서는 로그에서 줌아웃하는 이유, 시스템 전반에서 문제를 빠르게 찾아 해결하는 방법, 새로운 Akita 모듈이 어떻게 이 기능을 NGINX 사용자에게 쉽게 제공하는지 등 모듈의 주요 측면을 다룹니다.
오늘날 수많은 개발자들은 고객이 사실상 자신의 모니터링 시스템이 되어 버리는 불행한 상황에 처해 있습니다.
소프트웨어 팀이 오류를 기록하지 않는 것은 아닙니다. 예를 들어, NGINX를 리버스 프록시로 사용하면 NGINX 로그에서 타임스탬프, 요청 길이 및 처리 시간, 응답 상태 코드 등 모든 종류의 정보를 수신하게 됩니다. 시간과 인내심만 있다면, 정보는 어디에나 있을 겁니다.
하지만 다양한 요청과 응답이 있는 시스템에서는 로그의 바다에서 길을 잃기 쉽습니다! 로그 위에 대시보드나 다른 유형의 도구를 사전에 설정하지 않은 이상, 수천 개(수백만 개가 아니더라도)의 로그 줄을 헤치며 잠재적인 문제와 그 시작 지점을 파악하려고 노력해야 할 수도 있습니다. 하지만 적절한 대시보드와 모니터링 방법을 설정하려면 몇 주, 몇 달 또는 심지어 분기가 걸릴 수 있습니다. 그리고 종종 코드와 함께 업데이트해야 합니다.
Akita에서는 로그에서 API 엔드포인트로 확대하는 것이 중요하다고 믿습니다. 이를 통해 소프트웨어 팀은 실제 문제를 식별하는 데 필요한 세부성을 유지하면서도 문제와 핫스팟에 대한 개요를 빠르게 파악할 수 있습니다. 우리는 대기 시간 지표와 오류를 자동으로 모니터링하는 완벽한 드롭인 지표 솔루션을 통해 모니터링에서 정보 과부하를 해결하고 있습니다. 코드 변경이나 대시보드 구축이 필요하지 않습니다. 당사 솔루션은 API 트래픽을 수동으로 감시하고 자동으로 분석하여 엔드포인트별 모니터링과 알림을 제공합니다. 무엇보다도: 사용자는 가입 후 15분 이내에 시작할 수 있습니다.
NGINX 사용자가 사용할 수 있는 Akita 모듈을 소개하게 되어 기쁩니다. NGINX를 웹 애플리케이션 서버, 역방향 프록시 또는 API 게이트웨이로 사용하는 경우 이제 API 트래픽을 Akita로 보내 분석할 수 있습니다. 무료 Akita 계정 에 가입하고 Akita 모듈과 에이전트를 설치하고 NGINX 설정 파일을 약간 변경하세요.
몇 분 안에 Akita 콘솔로 이동하여 API 엔드포인트, 느리게 작동하는 부분, 오류가 발생하는 부분을 확인할 수 있습니다.
Akita의 NGINX Plus 인증 모듈은 NGINX 사용자에게 기존 NGINX 설정을 확장하여 Akita의 다양한 이점을 제공합니다. Akita는 HTTP 요청에서 트래픽을 캡처하고 지연 시간과 오류를 측정하는 동시에 사전 구축된 대시보드를 통해 프로덕션에서 무슨 일이 일어나고 있는지 보여줍니다.
모듈의 기능과 그것이 어디에 사용되는지 자세히 알아보겠습니다. 먼저, 요청은 NGINX에서 여러 "단계"로 처리됩니다. 네트워크에서 요청을 읽는 것으로 시작하여 다시 쓰기 및 액세스 제어 검사를 거쳐 응답과 모든 로그 항목을 생성하는 것으로 끝납니다. Akita의 NGINX Plus 인증 모듈은 이 프로세스의 후반부(헤더 재작성 등의 기능 이후인 사전 콘텐츠 단계 )에 삽입되므로 애플리케이션이 수신한 것과 가장 유사한 형태의 요청을 볼 수 있습니다. Akita는 NGINX 구성의 서버와 위치를 기반으로 모니터링 플래그가 지정되었는지 확인하기 위해 들어오는 각 요청을 확인합니다.
메모 : 다른 NGINX 기능 및 모듈과 마찬가지로 Akita를 웹 서비스의 일부에만 활성화 하거나 NGINX에서 제공하는 모든 서비스에 기본값으로 적용할 수 있습니다.
다음 단계에서는 모듈이 요청 본문을 기록하고 요청이 완전히 수신되면 즉시 Akita 에이전트로 전송합니다. 이러한 동작은 ngx_http_mirror 모듈과 비슷한데, 동일한 데이터가 애플리케이션과 Akita 에이전트에 병렬로 전송되기 때문입니다.
NGINX 또는 업스트림 서버에 응답이 준비되면 Akita 모듈은 클라이언트로 스트리밍하는 동안 이 응답(최대 1MB)을 기록합니다. 이 버퍼링은 응답이 지연되지 않도록 하며, 응답 본문의 각 청크를 사용 가능해지면 처리할 수 있는 NGINX "컨텐츠 필터"에서 이루어집니다.
서버 응답 시간이 알려지고 응답이 성공적이면 이 응답은 Akita 에이전트로 미러링됩니다. 에이전트는 요청과 응답을 일치시킨 다음, 요청 및 응답 본문 내용을 구문 분석하려고 시도합니다. 이 데이터는 분석을 위해 아키타로 전송되기 전에 현지 담당자에 의해 난독화됩니다. 즉, Akita는 API 트래픽의 구조는 볼 수 있지만 사용자가 전송하거나 사용자에게 전송하는 구체적인 값은 볼 수 없습니다.
Akita의 NGINX Plus 인증 모듈은 애플리케이션 트래픽의 추적에서 자동으로 엔드포인트를 추론하여 API의 탐색 및 다운로드 가능한 모델을 구축하고 지연 및 오류 정보를 자동으로 표시합니다. 이 기능을 사용하면 엔드포인트별 오류율, 특정 엔드포인트의 높은 지연 시간 또는 예상치 못한 높은 양의 통화에 대한 알림을 받을 수 있습니다.
각 엔드포인트에 대해 Akita의 NGINX Plus 인증 모듈을 사용하면 다음을 확인할 수 있습니다.
Akita의 NGINX Plus 인증 모듈 설정에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
아키타는 현재 오픈 베타 단계에 있습니다. 베타 테스트에 등록 하면 30분 이내에 결과를 받아볼 수 있습니다.
"이 블로그 게시물에는 더 이상 사용할 수 없거나 더 이상 지원되지 않는 제품이 참조될 수 있습니다. 사용 가능한 F5 NGINX 제품과 솔루션에 대한 최신 정보를 보려면 NGINX 제품군을 살펴보세요. NGINX는 이제 F5의 일부가 되었습니다. 이전의 모든 NGINX.com 링크는 F5.com의 유사한 NGINX 콘텐츠로 리디렉션됩니다."