티스토리 뷰

linkerd-viz 배포시 기본옵션은 그라파나,프로메테우스가 다 배포되어진다

 

물론 해당 그라나파와 프로메테우스는 linkerd에서만 사용하므로 따로 써도 무방하나

 

나처럼 기존에 사용하던 그라파나와 프로메테우스를 이용하고 싶다면 아래의 방법대로 하면 된다

 

먼저 기존 프로메테우스에 linkerd 스크랩 정책을 추가하여 준다

 

{{}} 안에는 실제 사용하는 값을 넣어야함(linkerd ns)

 

    - job_name: 'linkerd-controller'
      kubernetes_sd_configs:
      - role: pod
        namespaces:
          names:
          - '{{.Values.linkerdNamespace}}'
          - '{{.Values.namespace}}'
      relabel_configs:
      - source_labels:
        - __meta_kubernetes_pod_container_port_name
        action: keep
        regex: admin-http
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: replace
        target_label: component

    - job_name: 'linkerd-service-mirror'
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels:
        - __meta_kubernetes_pod_label_linkerd_io_control_plane_component
        - __meta_kubernetes_pod_container_port_name
        action: keep
        regex: linkerd-service-mirror;admin-http$
      - source_labels: [__meta_kubernetes_pod_container_name]
        action: replace
        target_label: component

    - job_name: 'linkerd-proxy'
      kubernetes_sd_configs:
      - role: pod
      relabel_configs:
      - source_labels:
        - __meta_kubernetes_pod_container_name
        - __meta_kubernetes_pod_container_port_name
        - __meta_kubernetes_pod_label_linkerd_io_control_plane_ns
        action: keep
        regex: ^{{default .Values.proxyContainerName "linkerd-proxy" .Values.proxyContainerName}};linkerd-admin;{{.Values.linkerdNamespace}}$
      - source_labels: [__meta_kubernetes_namespace]
        action: replace
        target_label: namespace
      - source_labels: [__meta_kubernetes_pod_name]
        action: replace
        target_label: pod
      # special case k8s' "job" label, to not interfere with prometheus' "job"
      # label
      # __meta_kubernetes_pod_label_linkerd_io_proxy_job=foo =>
      # k8s_job=foo
      - source_labels: [__meta_kubernetes_pod_label_linkerd_io_proxy_job]
        action: replace
        target_label: k8s_job
      # drop __meta_kubernetes_pod_label_linkerd_io_proxy_job
      - action: labeldrop
        regex: __meta_kubernetes_pod_label_linkerd_io_proxy_job
      # __meta_kubernetes_pod_label_linkerd_io_proxy_deployment=foo =>
      # deployment=foo
      - action: labelmap
        regex: __meta_kubernetes_pod_label_linkerd_io_proxy_(.+)
      # drop all labels that we just made copies of in the previous labelmap
      - action: labeldrop
        regex: __meta_kubernetes_pod_label_linkerd_io_proxy_(.+)
      # __meta_kubernetes_pod_label_linkerd_io_foo=bar =>
      # foo=bar
      - action: labelmap
        regex: __meta_kubernetes_pod_label_linkerd_io_(.+)
      # Copy all pod labels to tmp labels
      - action: labelmap
        regex: __meta_kubernetes_pod_label_(.+)
        replacement: __tmp_pod_label_$1
      # Take `linkerd_io_` prefixed labels and copy them without the prefix
      - action: labelmap
        regex: __tmp_pod_label_linkerd_io_(.+)
        replacement:  __tmp_pod_label_$1
      # Drop the `linkerd_io_` originals
      - action: labeldrop
        regex: __tmp_pod_label_linkerd_io_(.+)
      # Copy tmp labels into real labels
      - action: labelmap
        regex: __tmp_pod_label_(.+)

 

 

이제 위 프로메테우스와 기 배포된 grafana를 사용하도록 옵션을 주고 viz install을 수행한다

 

아래의 url은 실제 사용하는 url로 변경하여야 한다

 

linkerd viz install --set grafana.enabled=false --set grafana.url=http://kube-prometheus-stack-grafana.monitoring:3000 --set prometheusUrl=kube-prometheus-stack-prometheus.monitoring:9090 --set prometheus.enabled=false | kubectl apply -f -

 

메트릭 수집이 잘된다면 해당 메트릭을 그라나파에서도 볼수 있도록 아래 대시보드를 추가하여 준다

 

https://grafana.com/orgs/linkerd/dashboards

 

linkerd Dashboards | Grafana Labs

Data visualization & monitoring with support for Graphite, InfluxDB, Prometheus, Elasticsearch and many more databases

grafana.com

 

참고로 기본 대시보드 함수에는 scrape interval이 30초라 기본값(30초)로 배포했다면 메트릭 계산이 안되어 제대로 그래프 출력이 되지 않는다

 

이경우에는 함수를 30초초과로 설정하거나 scrapeinterval을 30초 미만으로 설정하면 잘 출력된다

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함