3.2.22. 라우터 지표 노출


HAProxy 라우터 지표 는 기본적으로 외부 지표 수집 및 집계 시스템(예: Prometheus, statsd)에서 사용할 수 있도록 Prometheus 형식에 노출되거나 게시됩니다. 지표는 브라우저 또는 CSV 다운로드에서 볼 수 있도록 자체 HTML 형식으로 HAProxy 라우터 에서 직접 사용할 수도 있습니다. 이러한 지표에는 HAProxy 기본 지표 및 일부 컨트롤러 지표가 포함됩니다.

다음 명령을 사용하여 라우터를 생성할 때 OpenShift Container Platform에서는 기본적으로 1936년까지 통계 포트의 Prometheus 형식으로 지표를 사용할 수 있습니다.

$ oc adm router --service-account=router
  • Prometheus 형식의 원시 통계를 추출하려면 다음 명령을 실행합니다.

    curl <user>:<password>@<router_IP>:<STATS_PORT>

    예를 들면 다음과 같습니다.

    $ curl admin:sLzdR6SgDJ@10.254.254.35:1936/metrics

    라우터 서비스 주석에서 메트릭에 액세스하는 데 필요한 정보를 가져올 수 있습니다.

    $ oc edit service <router-name>
    
    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        prometheus.io/port: "1936"
        prometheus.io/scrape: "true"
        prometheus.openshift.io/password: IImoDqON02
        prometheus.openshift.io/username: admin

    prometheus.io/port 는 기본적으로 1936년 통계 포트입니다. 액세스를 허용하도록 방화벽을 구성해야 할 수도 있습니다. 이전 사용자 이름 및 암호를 사용하여 지표에 액세스합니다. 경로는 /metrics 입니다.

    $ curl <user>:<password>@<router_IP>:<STATS_PORT>
    for example:
    $ curl admin:sLzdR6SgDJ@10.254.254.35:1936/metrics
    ...
    # HELP haproxy_backend_connections_total Total number of connections.
    # TYPE haproxy_backend_connections_total gauge
    haproxy_backend_connections_total{backend="http",namespace="default",route="hello-route"} 0
    haproxy_backend_connections_total{backend="http",namespace="default",route="hello-route-alt"} 0
    haproxy_backend_connections_total{backend="http",namespace="default",route="hello-route01"} 0
    ...
    # HELP haproxy_exporter_server_threshold Number of servers tracked and the current threshold value.
    # TYPE haproxy_exporter_server_threshold gauge
    haproxy_exporter_server_threshold{type="current"} 11
    haproxy_exporter_server_threshold{type="limit"} 500
    ...
    # HELP haproxy_frontend_bytes_in_total Current total of incoming bytes.
    # TYPE haproxy_frontend_bytes_in_total gauge
    haproxy_frontend_bytes_in_total{frontend="fe_no_sni"} 0
    haproxy_frontend_bytes_in_total{frontend="fe_sni"} 0
    haproxy_frontend_bytes_in_total{frontend="public"} 119070
    ...
    # HELP haproxy_server_bytes_in_total Current total of incoming bytes.
    # TYPE haproxy_server_bytes_in_total gauge
    haproxy_server_bytes_in_total{namespace="",pod="",route="",server="fe_no_sni",service=""} 0
    haproxy_server_bytes_in_total{namespace="",pod="",route="",server="fe_sni",service=""} 0
    haproxy_server_bytes_in_total{namespace="default",pod="docker-registry-5-nk5fz",route="docker-registry",server="10.130.0.89:5000",service="docker-registry"} 0
    haproxy_server_bytes_in_total{namespace="default",pod="hello-rc-vkjqx",route="hello-route",server="10.130.0.90:8080",service="hello-svc-1"} 0
    ...
  • 브라우저에서 메트릭을 가져오려면 다음을 수행합니다.

    1. 라우터 배포 구성 파일에서 다음 환경 변수를 삭제합니다.

      $ oc edit dc router
      
      - name: ROUTER_LISTEN_ADDR
        value: 0.0.0.0:1936
      - name: ROUTER_METRICS_TYPE
        value: haproxy
    2. 라우터 준비 프로브를 패치하여 haproxy 라우터에서 현재 제공하는 활성 프로브와 동일한 경로를 사용합니다.

      $ oc patch dc router -p '"spec": {"template": {"spec": {"containers": [{"name": "router","readinessProbe": {"httpGet": {"path": "/healthz"}}}]}}}'
    3. 브라우저에서 다음 URL을 사용하여 stats 창을 시작합니다. 여기서 STATS_PORT 값은 기본적으로 1936 입니다.

      http://admin:<Password>@<router_IP>:<STATS_PORT>

      URL에 ;csv 를 추가하여 CSV 형식으로 통계를 가져올 수 있습니다.

      예를 들면 다음과 같습니다.

      http://admin:<Password>@<router_IP>:1936;csv

      라우터 IP, 관리자 이름 및 암호를 가져오려면 다음을 수행합니다.

      oc describe pod <router_pod>
  • 메트릭 컬렉션을 비활성화하려면 다음을 수행합니다.

    $ oc adm router --service-account=router --stats-port=0
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.