NGINX Ingress Controller Documentation

로깅(Logging)

이 문서는 NGINX Ingress Controller에서 제공하는 로깅 에 대한 개요를 제공합니다.

NGINX Ingress Controller는 Ingress Controller 프로세스(NGINX 구성을 생성하고 이를 적용하기 위해 NGINX를 Reload하는 프로세스)의 로그와 NGINX Access 및 Error 로그를 노출합니다. 모든 로그는 Ingress Controller 프로세스의 표준 출력 및 오류로 전송됩니다. 로그를 보려면 Ingress Controller Pod에 대해 kubectl logs 명령을 실행할 수 있습니다. 예를 들어:

$ kubectl logs <nginx-ingress-pod> -n nginx-ingress

목차

1. Ingress Controller Process 로그
2. NGINX 로그

1. Ingress Controller Process 로그

Ingress Controller Process 로그는 로그 상세 수준을 설정하는 Ingress Controller러의 -v Command-Line Arguments를 통해 구성됩니다. 기본값은 최소 로그 양이 보고되는 1입니다. 값 3은 문제 해결에 유용합니다. Ingress Controller가 Kubernetes API에서 업데이트를 가져오고 NGINX 구성을 생성하며 NGINX를 Reload하는 방법을 확인할 수 있습니다.

Ingress Controller Command-Line Arguments에 대한 자세한 내용은 문서를 참조십시오.

2. NGINX 로그

NGINX에는 두 개의 로그가 포함되어 있습니다.

  • Access 로그: 여기서 NGINX는 요청이 처리된 직후 Access 로그에 클라이언트 요청에 대한 정보를 기록합니다. Access 로그는 로깅 관련 ConfigMap Key를 통해 구성됩니다.
    • HTTP 및 HTTPS 트래픽에 대한 log-format입니다.
    • TCP, UDP 및 TLS Passthrough 트래픽에 대한 stream-log-format.

또한 access-log-off ConfigMap Key를 사용하여 Access 로깅 을 비활성화할 수 있습니다.

  • Error 로그: 여기서 NGINX는 다양한 심각도 수준에서 발생한 문제에 대한 정보를 기록합니다. error-log-level ConfigMap Key를 통해 구성됩니다. 디버그 로깅 을 활성화하려면 Level을 debug로 설정하고 NGINX가 디버그 바이너리 nginx-debug로 시작되도록 -nginx-debug Command-line Arguments도 설정합니다.