8.6. FlowMetric API를 사용하여 사용자 정의 메트릭 구성


flowlogs 데이터 필드를 Prometheus 라벨로 사용하여 사용자 정의 지표를 생성하도록 FlowMetric API를 구성할 수 있습니다. 프로젝트에 여러 FlowMetric 리소스를 추가하여 여러 대시보드 뷰를 볼 수 있습니다.

프로세스

  1. 웹 콘솔에서 Operators 설치된 Operators 로 이동합니다.
  2. NetObserv Operator제공된 API 제목에서 FlowMetric 을 선택합니다.
  3. Project: 드롭다운 목록에서 Network Observability Operator 인스턴스의 프로젝트를 선택합니다.
  4. FlowMetric 만들기를 클릭합니다.
  5. 다음 샘플 구성과 유사하게 FlowMetric 리소스를 구성합니다.

    예 8.1. 클러스터 외부 소스에서 수신한 수신 바이트를 추적하는 메트릭 생성

    apiVersion: flows.netobserv.io/v1alpha1
    kind: FlowMetric
    metadata:
      name: flowmetric-cluster-external-ingress-traffic
      namespace: netobserv                              1
    spec:
      metricName: cluster_external_ingress_bytes_total  2
      type: Counter                                     3
      valueField: Bytes
      direction: Ingress                                4
      labels: [DstK8S_HostName,DstK8S_Namespace,DstK8S_OwnerName,DstK8S_OwnerType] 5
      filters:                                          6
      - field: SrcSubnetLabel
        matchType: Absence
    1
    FlowMetric 리소스는 기본적으로 netobservFlowCollector spec.namespace 에 정의된 네임스페이스에 생성해야 합니다.
    2
    웹 콘솔에 netobserv-<metricName> 접두사가 표시되는 Prometheus 지표의 이름입니다.
    3
    유형은 메트릭 유형을 지정합니다. Cryo stat 유형은 바이트 또는 패킷을 계산하는 데 유용합니다.
    4
    캡처할 트래픽 방향입니다. 지정하지 않으면 수신 및 송신이 모두 캡처되므로 중복될 수 있습니다.
    5
    레이블은 지표의 모양과 다른 엔티티 간의 관계를 정의하고 메트릭 카디널리티도 정의합니다. 예를 들어 SrcK8S_Name 은 높은 Cardinality 메트릭입니다.
    6
    나열된 기준에 따라 결과를 구체화합니다. 이 예에서는 클러스터 외부 트래픽만 선택하면 SrcSubnetLabel 이 없는 흐름만 일치하여 수행됩니다. 이는 기본적으로 서브넷 레이블 기능이 ( spec.processor.subnetLabels을 통해) 활성화되어 있다고 가정합니다.

    검증

    1. Pod가 새로 고쳐지면 모니터링 메트릭 으로 이동합니다.
    2. Expression 필드에 해당 결과를 볼 메트릭 이름을 입력합니다. (DstK8S_HostName, DstK8S_OwnerName, DstK8S_OwnerName, DstK8S_OwnerName, DstK8S_OwnerName)를 통해 topk(5, sum(netobserv_cluster_external_ingress_bytes_total{DstK8S_Namespace="my-namespace"}[2m])와 같은 표현식을 입력할 수도 있습니다.

    예 8.2. 클러스터 외부 수신 트래픽의 RTT 대기 시간 표시

    apiVersion: flows.netobserv.io/v1alpha1
    kind: FlowMetric
    metadata:
      name: flowmetric-cluster-external-ingress-rtt
      namespace: netobserv    1
    spec:
      metricName: cluster_external_ingress_rtt_seconds
      type: Histogram                 2
      valueField: TimeFlowRttNs
      direction: Ingress
      labels: [DstK8S_HostName,DstK8S_Namespace,DstK8S_OwnerName,DstK8S_OwnerType]
      filters:
      - field: SrcSubnetLabel
        matchType: Absence
      - field: TimeFlowRttNs
        matchType: Presence
      divider: "1000000000"      3
      buckets: [".001", ".005", ".01", ".02", ".03", ".04", ".05", ".075", ".1", ".25", "1"]  4
    1
    FlowMetric 리소스는 기본적으로 netobservFlowCollector spec.namespace 에 정의된 네임스페이스에 생성해야 합니다.
    2
    유형은 메트릭 유형을 지정합니다. histogram 유형은 대기 시간 값 (TimeFlowRttNs)에 유용합니다.
    3
    RTT(Round-trip Time)는 흐름에서 나노로 제공되기 때문에 Prometheus 지침의 표준인 10억의 분할기를 사용하여 초 단위로 변환합니다.
    4
    사용자 지정 버킷은 RTT에 대한 정확도를 지정하고 5ms와 250ms 사이에 최적의 정확성을 지정합니다.

    검증

    1. Pod가 새로 고쳐지면 모니터링 메트릭 으로 이동합니다.
    2. Expression 필드에서 메트릭 이름을 입력하여 해당 결과를 볼 수 있습니다.
중요

높은 카디널리티는 Prometheus의 메모리 사용량에 영향을 미칠 수 있습니다. 네트워크 흐름 형식 참조 에서 특정 레이블의 카디널리티가 높은지 확인할 수 있습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.