네트워크 로드 밸런서 메트릭 모니터링

IBM Cloud® Network Load Balancer for VPC 모니터링 메트릭은 데이터 집계, 사용 경보 및 심층적인 시각화에 특화된 모니터링 서비스인 IBM Cloud Monitoring와 함께 제공됩니다. 자세한 정보는 IBM Cloud 모니터링을 참조하십시오.

다음 정보는 개인 경로 네트워크 부하 분산기에 적용되지 않습니다.

네트워크 로드 밸런서는 메트릭을 계산하고 모니터링 인스턴스로 해당 메트릭을 전송하여 다양한 유형의 사용 및 트래픽을 반영합니다. IBM Cloud Monitoring 대시보드 또는 해당 API에서 메트릭을 시각화하고 분석할 수 있습니다.

서비스 플랜별 사용 가능한 메트릭

지원되는 모니터링 메트릭에는 다음이 포함됩니다.

  • 주어진 시간에 로드 밸런서에 대한 활성 연결.
  • 로드 밸런서에 대한 그만저만한 연결이 이루어질 때의 분석 또는 연결 속도.

이러한 메트릭은 NLB의 트래픽 및 사용 패턴을 추적하는 데 도움을 주며 피크 트래픽 시간, 사용량 감소 및 전체 사용 패턴에 대한 정보를 제공할 수 있습니다.

각각의 메트릭은 다음의 메타데이터 유형으로 구성되어 있습니다.

  • 메트릭 이름 - 수집된 메트릭의 이름입니다.
  • 메트릭 유형 - 메트릭 유형은 메트릭 값이 카운터 메트릭이거나 게이지 메트릭인지 여부를 판별합니다. 이러한 각 메트릭의 유형은 시간이 지나면서 임의로 변동이 가능한 단일 숫자 값을 나타내는 gauge입니다.
  • 값 유형 - 특정 메트릭의 측정 단위입니다. 예: 바이트 또는 개수. none 값은 메트릭 값이 해당 메트릭 유형의 개별 어커런스를 나타냄을 의미합니다.
  • 세그먼트 - 모니터링 메트릭을 나누고 표시하는 방법입니다.

활성 연결

활성 연결은 특정 시간에 로드 밸런서에 설정된 연결의 수입니다.

활성 연결 메트릭에는 다음 메타데이터가 포함되어 있습니다.

IBM VPC 활성 연결 메트릭스 메타데이터용 로드 밸런서
메타데이터 설명
메트릭 이름 ibm_is_load_balancer_active_connections
메트릭 유형 gauge
값 유형 none
세그먼트화 기준 IBM Load Balancer for VPC appliance metricsIBM Load Balancer for VPC listener metrics

연결 비율

연결 속도는 로드 밸런서에 대해 초당 새로 수신되는 활성 연결 수입니다.

IBM VPC 연결 속도 메트릭스 메타데이터용 로드 밸런서
메타데이터 설명
메트릭 이름 ibm_is_load_balancer_connection_rate
메트릭 유형 gauge
값 유형 none
세그먼트화 기준 IBM Load Balancer for VPC appliance metricsIBM Load Balancer for VPC listener metrics

메트릭 세그멘트화

IBM Cloud Monitoring가 제공하는 데이터를 대시보드에서 다양한 시각화로 분할하여 사용자의 환경 설정에 따라 다른 메트릭을 볼 수 있습니다. 예를 들어, 여러 개의 로드 밸런서가 있거나 각 계정에 로드 밸런서가 서로 다른 계정이 있는 경우 특정 리스너 포트에 초점을 맞추려고 할 수 있습니다.

예를 들어, active connectionsIBM Load Balancer for VPC listener port를 세그먼트화하여 리스너 유형을 통해 로드 밸런서에 연결된 활성 사용자 수를 표시할 수 있습니다. 이를 설명하기 위해 네트워크 로드 밸런서에는 포트 8080에 TCP에 대한 리스너 프로토콜 TCP가 있다고 가정합니다. 이 대시보드에는 하나의 색상으로 포트 80에서 HTTP를 통해 연결된 10명의 사용자와 다른 색상으로 포트 8080에서 TCP를 통해 연결된 6명의 사용자를 보여주는 서로 다른 라인이 포함되어 있습니다.

글로벌 속성

다음 속성은 세 개의 메트릭을 세분화하는 데 사용할 수 있습니다.

글로벌 속성
속성 속성 이름 속성 설명
Resource ibm_resource 로드 밸런서의 고유 ID입니다.
Scope ibm_scope 지정된 로드 밸런서와 연관된 계정
Service name ibm_service_name ibm-is-load-balancer

추가 속성

다음 속성은 하나 이상의 글로벌 속성을 세그먼트화하는 데 사용될 수 있습니다. 세그먼트화 옵션에 대해서는 개별 메트릭을 참조하십시오.

추가 속성
속성 속성 이름 속성 설명
IBM Load Balancer for VPC 어플라이언스 메트릭 ibm_is_load_balancer_appliance_ip 로드 밸런서 백엔드에서 제공되는 메트릭입니다. 로드 밸런서가 고가용성이므로, 다중 어플라이언스는 중복성을 위해 각 로드 밸런서를 지원합니다.
IBM Load Balancer for VPC 리스너 메트릭 ibm_is_load_balancer_listener_port 개별 리스너 및 해당 포트에서 수집된 메트릭입니다. 로드 밸런서 설정에서 리스너를 구성하십시오. 모니터링 메트릭은 해당 리스너에서 가져온 메트릭을 반영합니다.

표시되는 메트릭에는 UNIX Epoch 시간의 시간소인과 해당 시간소인에 종료되는 시간 간격의 메트릭 값이 포함되어 있습니다. 메트릭을 보고할 시간 간격을 포함하여 다양한 범위를 지정할 수 있습니다.

네트워크 로드 밸런서에 지원되는 리스너 프로토콜은 다음과 같습니다.

  • TCP

메트릭을 보고할 시간 간격을 지정할 수도 있습니다. 대시보드에서 지원되는 시간 간격은 다음과 같습니다.

  • 10초
  • 1분
  • 10분
  • 1시간
  • 6시간
  • 2주
  • 사용자 정의

보고할 수 있는 데이터 점의 수는 각 시간 간격의 경우 개략적으로 동일합니다. 예를 들어, 간격이 1시간이면 각 데이터 점이 5분의 데이터를 표시합니다. 간격이 2주인 경우에는 각 데이터 점이 24시간의 데이터를 표시합니다.

메트릭 모니터링 사용

모니터링 메트릭을 수신하려면 모니터링 인스턴스로 IBM Cloud Monitoring을 설정해야 합니다.

이를 수행하려면 다음 단계를 따르십시오.

  1. 메트릭 모니터링 포털로 이동한 다음 모니터링 인스턴스 만들기를 클릭합니다.

  2. 모니터링 인스턴스를 위한 지역을 선택하십시오.

    기존 로드 밸런서가 없는 경우 로드 밸런서를 프로비저닝하려면 네트워크 로드 밸런서 작성을 참조하십시오.

    지역은 기존 로드 밸런서의 위치와 일치해야 합니다.

  3. 가격 플랜을 선택하십시오.

    가격 플랜 세부사항은 선택 창에 설명되어 있습니다. 자신의 요구사항에 가장 잘 맞는 플랜을 선택하십시오.

  4. 인스턴스에 대한 고유한 서비스 이름을 제공하십시오.

  5. 선택사항으로, 리소스 그룹을 선택하십시오. 리소스 그룹은 사용자 정의할 수 있는 그룹화에서 계정 리소스를 구성하는 방법입니다. IBM Cloud® Identity and Access Management (IAM) 액세스 제어를 사용하여 관리되는 모든 계정 리소스는 계정 내의 리소스 그룹에 속합니다.

    사전 구성된 리소스 그룹이 없거나 선별적으로 이 리소스를 공유할 이유가 없는 경우에는 기본 선택사항을 사용하십시오.

    계정에 여러 개의 리소스 그룹이 있는 경우 이 모니터링 인스턴스에 대한 액세스 권한이 있는 사용자를 선택할 수 있습니다. 이를 통해 사용자는 기타 리소스 그룹이 아닌 일부 특정한 리소스 그룹이 메트릭을 사용할 수 있도록 허용할 수 없습니다.

  6. 플랫폼 메트릭 사용 선택란을 선택하십시오. 로드 밸런서에서 메트릭을 수신하려면 이를 선택해야 합니다.

  7. 작성을 클릭하십시오. 모니터링 메트릭 홈 페이지로 리턴됩니다.

몇 분 이내에 몇 가지 구성을 사용하여 새 모니터링 인스턴스가 표시됩니다. 이를 보기 위해 브라우저를 새로 고쳐야 할 수도 있습니다.

IBM Cloud Monitoring 대시보드 관련 작업

모니터링 메트릭을 보고 작업하려면 다음 단계를 따르십시오.

  1. 메트릭 모니터링 포털로 이동하십시오.

  2. 작업할 모니터링 인스턴스의 서비스 이름 옆에 있는 대시보드 열기를 클릭하십시오.

    모니터링 인스턴스에 처음 액세스하면 내부 설정의 파트로 여러 개의 창이 표시됩니다. 이러한 선택사항을 기본 항목으로 두고, 기본 페이지에 도달할 때까지 페이지를 클릭하십시오.

  3. 왼쪽 사이드바에서 대시보드를 선택하여 IBM Load Balancer Monitoring Metrics 대시보드를 여십시오. 그리고 기본 대시보드 > IBM > Load Balancer Monitoring Metrics를 클릭하십시오. 기본 대시보드는 편집할 수 없습니다.

  4. 대시보드의 두 가지 주요 메트릭(활성 연결 수 및 연결 속도)이 표시됩니다. 로드 밸런서 ID 또는 리스너 포트를 통해 매개변수를 수정하고 메트릭을 세분화하려면 사용자 정의 대시보드를 작성해야 합니다.

    맨 아래의 막대를 사용하여 표시된 메트릭을 보려는 시간을 선택할 수 있습니다.

사용자 정의 메트릭 대시보드 작성

사용자 고유의 대시보드를 작성하여 특정 로드 밸런서에 대한 정보 보기 또는 특정 리스너를 통해 제공되는 트래픽만 보기 등 모니터링 메트릭을 사용자 정의할 수 있습니다.

대시보드를 사용자 정의하려면 다음 단계를 따르십시오.

  1. 메트릭 모니터링 포털로 이동하십시오.

  2. 작업할 모니터링 인스턴스의 서비스 이름 옆에 있는 대시보드 열기를 클릭하십시오. 대시보드가 표시됩니다.

  3. 왼쪽 사이드바에서 대시보드를 선택하십시오. 그런 다음 패널에서 초록색 + 부호를 클릭하십시오.

  4. 공백 대시보드를 선택한 후 원하는 비주얼 표시의 유형을 선택하십시오.

    IBM Cloud Monitoring에서는 대시보드에 대해 서로 다른 8가지 시각화를 제공합니다. 각 시각화에 대한 설명을 읽은 후 자신의 요구사항에 가장 적합한 시각화를 선택하십시오.

    라인("시간에 따른 동향 보기")은 가장 손쉽고 가장 기본적인 옵션입니다. 이는 가장 빈번히 선택되는 옵션이기도 합니다. 이 주제의 예제는 라인 기반 시각화를 보여줍니다.

  5. 사용자 정의 대시보드를 구성하십시오.

    • 메트릭 필드에서 ibm_is를 입력하여 두 개의 다음 로드 밸런서 메트릭을 표시하십시오. ibm_is_load_balancer_active_connectionsibm_is_load_balancer_connection_rate.

      ibm_is_load_balancer_listener_port 메트릭을 사용하여 리스너 포트 트래픽을 모니터할 수 있습니다.

    • 대시보드 범위 대체를 클릭하여 대시보드에 표시할 범위를 선택할 수 있습니다. 예를 들어, 특정 로드 밸런서에 대한 메트릭을 표시할 수 있습니다.

    • 또한 정의한 범위에서 메트릭을 비교하도록 세그먼트를 설정할 수도 있습니다. 예를 들어, 리스너 포트별로 세그먼트화된 특정 로드 밸런서의 활성 연결을 확인할 수 있습니다.

  6. 새 사용자 정의 대시보드에 액세스할 수 있도록 저장을 클릭하십시오.

    기본적으로 대시보드는 "blank dashboard"라는 이름으로 시작됩니다. 사이드바에서 대시보드 을 선택한 다음 이름 옆에 있는 편집 아이콘 수정 아이콘 을 클릭하여 이름을 변경할 수 있습니다.

언제든지 기본 대시보드로 돌아가려면 대시보드 > 기본 대시보드 > IBM > 로드 밸런서 모니터링 메트릭을 선택하십시오.

API를 사용하여 IBM Cloud Monitoring 관련 작업 수행

또한 메트릭 조회 API를 사용하여 모니터링 인스턴스에 대한 작업을 수행할 수도 있습니다. 원시 데이터 점이 필요하거나 대시보드를 사용하지 않고 명령행 인터페이스에서 메트릭을 이용하려는 경우 이 작업을 수행할 수 있습니다.

IBM Cloud Monitoring 인스턴스를 작성한 후 다음의 두 가지 정보를 수집해야 합니다.

  • 모니터 API 토큰
  • IBM Cloud Monitoring 인스턴스의 엔드포인트

이 정보를 수집하고 메트릭 조회 API를 사용하여 모니터링 인스턴스에 대한 작업을 시작하려면 다음 단계를 수행하십시오.

  1. 모니터링 홈 페이지에 액세스하고 작업하려는 인스턴스 옆의 대시보드 열기를 클릭합니다. IBM Cloud Monitoring 대시보드가 표시되면 왼쪽 사이드바에서 계정 프로파일 아이콘을 선택한 다음 설정을 선택하십시오. 계정 설정이 표시됩니다.

  2. 모니터 API 토큰은 모니터 API 토큰 필드에 있는 영숫자 문자열입니다. 키의 오른쪽에 있는 복사 단추를 클릭하여 이를 클립보드로 전송하십시오.

    이 API 토큰을 공유하지 마십시오. 이 API 토큰이 있는 사용자에게는 메트릭에 대한 전체 액세스 권한이 부여됩니다.

  3. IBM Cloud Monitoring 인스턴스의 엔드포인트로 이동하려면 브라우저에서 기본 대시보드로 이동하십시오. 그런 다음 대시보드에 대한 URL을 선택하십시오. 이는 다음과 유사합니다.

    https://us-south.monitoring.cloud.ibm.com/#/default-dashboard/ibm_is_load_balancer?last=3600
    

    URL(이 경우 us-south.monitoring.cloud.ibm.com)의 첫 번째 부분은 사용자의 엔드포인트입니다. 이를 기록해 두십시오.

  4. API 토큰과 엔드포인트를 모두 보유한 후에는 POST 요청을 형식화할 수 있습니다. 다음 POST 요청은 수정할 수 있는 모든 매개변수가 포함된 예입니다. 이러한 매개변수는 다음과 같습니다.

    • 모니터 API 토큰

    • 모니터링 인스턴스의 엔드포인트

    • ibm_resource의 값(이는 해당 메트릭을 보고자 하는 로드 밸런서 ID임).

      모든 로드 밸런서에 대해 이 메트릭을 보려면 scope 속성의 값을 입력하지 마십시오. 예를 들어, "scope" : ""를 사용하십시오.

    • 해당 결과를 보고자 하는 메트릭 유형. 이 예에서는 ibm_is_load_balancer_active_connections를 사용하지만 ibm_is_load_balancer_connection_rate도 유효한 옵션입니다.

    • fromto 속성은 에포크 시간 및 마이크로초 단위로 설정된, 스캔에 초점을 둘 시간을 정의합니다.

    • samplingvalue 속성은 데이터가 POST 요청에서 리턴되는 단위를 설정합니다.

대량의 데이터가 IBM Cloud Monitoring에 저장되므로 특정 레벨의 세분성을 선택하는 것이 중요합니다. IBM Cloud Monitoring에서는 언제든지 지정된 요청을 사용하여 600개의 데이터 점만 리턴할 수 있습니다. 따라서 samplingvalue 속성이 중요합니다. 이 두 행을 요청에서 제외하면 해당 기간 동안 총합이 대신 리턴됩니다.

fromto에서 지정하는 시간 범위가 크지만(예: 4일) 10초의 samplingvalue를 정의하는 경우, 이는 10초 단위로 분할된 4일에 해당되는 데이터를 수신함을 의미합니다. 많은 양의 데이터가 리턴되므로, 이는 유용한 샘플링이 아닙니다. 더 큰 청크를 지정하는 것이 좋습니다(예: 10초 대신 1시간).

curl \
-H 'Authorization: Bearer <API_TOKEN>’ \
-H 'Content-Type: application/json' \
https://us-south.monitoring.cloud.ibm.com/api/data/batch  \
-d '{
 "requests": [
     {
         "format": {
             "type": "data"
         },
         "scope": "ibm_resource = \"cfc851b1-f30b-4a06-b354-5b64526c0a69\"",
         "metrics": {
             "k0": "timestamp",
             “v1”: "ibm_is_load_balancer_active_connections"
         },
         "time": {
             "from": 1584396900000000,
             "to": 1584402600000000,
              “sampling”: 600000000
         },
         "group": {
             "by": [
                 {
                     "metric": "k0",
                     “value” : 600000000
                 }
             ],
             "aggregations": {
                 “v1”: "sum"
             },
             "groupAggregations": {
                 “v1”: "sum"
             }
         }
     }
 ]
}'