2017-12-22 19 views
0

나는 진입 설치하여 모든 요청은 다음과 같은 세부 사항을 로깅 될 것이다는 Kubernetes 로깅 구현해야합니다kubernetes에서 nginx 입력 구성을 편집하는 방법은 무엇입니까?

  • 요청 헤더를
  • 요청 몸
  • 응답 헤더
  • 응답 본체

나는 ConfigMap을 사용하여 nginx의 log_format을 편집 할 수 있음을 이해합니다. 그러나 응답 본문을 로깅 할 때 l ua (this과 같은 것).

이 경우,이 lua 코드를 nginx config의 모든 서버 섹션에 추가해야합니다. 가장 쉬운 방법은 무엇입니까?

감사합니다.

+0

입력 컨트롤러를 어떻게 배치합니까? – fiunchinho

+0

뉴스 @Eduard? – fiunchinho

답변

0

나는 해결책을 찾았다 고 생각한다. 사용자 지정 nginx 템플릿을 사용해야합니다.

  • 지도가 볼륨
  • 를 사용하여 사용자의 필요에 따라

    1. /etc/nginx/template/nginx.tmpl
    2. 편집에 위치 유입-의 nginx 컨트롤러에서 nginx.tmpl를 가져옵니다 : 일반적으로, 단계는 다음과 같아야합니다

      세부 지침 찾기 here

    0

    ConfigMap을 사용하여 nginx Ingress 컨트롤러를 구성하려면 to create the ConfigMap that will hold those values이 필요합니다.

    nginx 입구 제어기 will use whatever value you specify in the LogFormat key of the ConfigMap. 따라서 configMap을 편집하고 LogFormat 키를 변경하여 원하는 형식을 지정할 수 있어야합니다. 나는 실제로이 명령을 시도하지 않았지만, 비슷해야한다.

    kubectl patch configmap nginx-config -p '{"LogFormat":\'$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_time <"$request_body" >"$resp_body"\'}' 
    
    +0

    안녕하세요, @ fiunchinho. 오랜 시간 동안 대답하지 못해 죄송합니다. 나는 그것이 정확하게 필요하지 않은 것이 아닌가 걱정된다. configMap을 사용하여 Nginx 설정의 로그 매개 변수를 편집 할 수 있다는 것을 이해합니다.하지만 필요한 것은 별도의 루아 섹션을 추가하는 것입니다. (정확히 [this] (https://gist.github.com/morhekil/1ff0e902ed4de2adcb7a#file-nginx -conf-L9) config) Nginx 설정을 편집하는 것이 가능합니까? 일부 매개 변수를 바꾸는 것이 아니라 특정 섹션을 추가하는 것입니까? – Eduard

    +0

    나는 그렇게 생각하지 않는다 : / – fiunchinho