nginx-ingress-controller

Supported OS Windows Mac OS

통합 버전4.1.0

개요

이 점검은 Kubernetes NGINX 수신 컨트롤러를 모니터링합니다. F5 NGINX 수신 컨트롤러를 모니터링하려면 Datadog Prometheus 통합을 설정하세요. 이를 통해 NGINX Prometheus Exporter에서 제공한 목록 중에서 원하는 메트릭을 모니터링할 수 있습니다.

설정

설치

nginx-ingress-controller 점검은 Datadog 에이전트 패키지에 포함되어 있으므로 서버에 추가 설치할 필요가 없습니다.

구성

호스트

호스트에서 에이전트를 실행하는 경우, 에이전트의 구성 디렉터리 루트에 있는 conf.d/ 폴더 내 nginx_ingress_controller.d/conf.yaml 파일을 편집하세요. 사용 가능한 설정 옵션 전체를 보려면 [nginx_ingress_controller.d/conf.yaml 샘플][3]을 참고하세요.

컨테이너화

컨테이너화된 환경의 경우 자동탐지 통합 템플릿에 다음 파라미터를 적용하는 방법이 안내되어 있습니다.

메트릭 수집

기본적으로 NGINX 메트릭은 nginx-ingress-controller에서 수집됩니다. 그러나 수신 컨트롤러에서 정규 nginx 점검을 실행하는 것이 더 편리할 수 있습니다.

그러려면 에이전트에서 NGINX 상태 페이지에 접근할 수 있도록 하세요. 컨트롤러에 nginx-status-ipv4-whitelist 설정을 사용하고 컨트롤러 포드에 Autodiscovery 주석을 추가하세요.

예를 들어, 이 주석에서 nginxnginx-ingress-controller 점검과 로그 수집을 활성화합니다.

파라미터
<INTEGRATION_NAME>["nginx","nginx_ingress_controller"]
<INIT_CONFIG>[{},{}]
<INSTANCE_CONFIG>[{"nginx_status_url": "http://%%host%%:18080/nginx_status"},{"prometheus_url": "http://%%host%%:10254/metrics"}]

사용 가능한 모든 구성 옵션은 nginx_ingress_controller.d/conf.yaml 샘플을 참고하세요.

참고: nginx-ingress-controller 0.23.0+ 버전의 경우, 18080 포트를 리스닝하는 nginx 서버가 제거되었습니다. 그러나 구성 configmap에 다음 http-snippet을 추가해 복원할 수 있습니다.

  http-snippet: |
    server {
      listen 18080;

      location /nginx_status {
        allow all;
        stub_status on;
      }

      location / {
        return 404;
      }
    }

로그 수집

Agent 버전 6.0 이상에서 사용 가능

Datadog 에이전트에서 로그 수집은 기본값으로 비활성화되어 있습니다. 이를 활성화하려면 Kubernetes 로그 수집을 참고하세요.

파라미터
<LOG_CONFIG>[{"service": "controller", "source": "nginx-ingress-controller"}]

검증

에이전트의 상태 하위 명령을 실행하고 Checks 섹션에서 nginx_ingress_controller를 찾습니다.

수집한 데이터

메트릭

nginx_ingress.controller.cpu.time
(count)
Cpu usage in seconds
Shown as second
nginx_ingress.controller.last.reload.success
(gauge)
Whether the last configuration reload attempt was successful
nginx_ingress.controller.mem.resident
(gauge)
Resident memory size in bytes
Shown as byte
nginx_ingress.controller.mem.virtual
(gauge)
Virtual memory size in bytes
Shown as byte
nginx_ingress.controller.reload.success
(count)
Cumulative number of Ingress controller reload operations
nginx_ingress.controller.request.duration.count
(gauge)
The count of request processing time
nginx_ingress.controller.request.duration.sum
(gauge)
The sum of request processing time
Shown as millisecond
nginx_ingress.controller.request.size.count
(gauge)
The count of request size
nginx_ingress.controller.request.size.sum
(gauge)
The sum of request size
Shown as byte
nginx_ingress.controller.requests
(count)
The total number of client requests
Shown as request
nginx_ingress.controller.response.duration.count
(gauge)
Count of response duration per Ingress
nginx_ingress.controller.response.duration.sum
(gauge)
Sum of response duration per Ingress
Shown as second
nginx_ingress.controller.response.size.count
(gauge)
Count of response size per Ingress
nginx_ingress.controller.response.size.sum
(gauge)
Sum of response size per Ingress
Shown as byte
nginx_ingress.controller.upstream.latency.count
(gauge)
Count of upstream service latency per Ingress
nginx_ingress.controller.upstream.latency.quantile
(gauge)
Quantiles of upstream service latency per Ingress
Shown as second
nginx_ingress.controller.upstream.latency.sum
(gauge)
Sum of upstream service latency per Ingress
Shown as second
nginx_ingress.nginx.bytes.read
(count)
Number of bytes read
Shown as byte
nginx_ingress.nginx.bytes.write
(count)
Number of bytes written
Shown as byte
nginx_ingress.nginx.connections.current
(gauge)
Current number of client connections with state
Shown as connection
nginx_ingress.nginx.connections.total
(count)
Total number of connections with state
Shown as connection
nginx_ingress.nginx.cpu.time
(count)
Cpu usage in seconds
Shown as second
nginx_ingress.nginx.mem.resident
(gauge)
Resident memory size in bytes
Shown as byte
nginx_ingress.nginx.mem.virtual
(gauge)
Virtual memory size in bytes
Shown as byte
nginx_ingress.nginx.process.count
(gauge)
Number of nginx processes
Shown as process
nginx_ingress.nginx.requests.total
(count)
Total number of client requests
Shown as request

이벤트

NGINX Ingress Controller에는 이벤트가 포함되어 있지 않습니다.

서비스 점검

NGINX Ingress Controller에는 서비스 점검이 포함되어 있지 않습니다.

트러블슈팅

도움이 필요하신가요? Datadog 지원팀에 문의하세요.

PREVIEWING: aliciascott/DOCS-9725-Cloudcraft