Kubernetes의 시스템 메트릭을 Prometheus에서 수집하고 New Relic에 통합해보십시오.
소개
당사의 제품에서는 데이터 전송의 기반을 Kubernetes(EKS)로 구축하고 있습니다.
데이터 전송은 Jobs에서 수행됩니다.
인프라 및 애플리케이션 모니터링에는 New Relic을 사용합니다. 지표를 수집하려면 Prometheus을 사용합니다.
이번에는 Kubernetes의 시스템 메트릭을 Prometheus에서 수집하고 New Relic에 통합하는 곳까지를 소개하고 싶습니다.
Prometheus와 new relic의 협력에 대하여
Kubernetes와 New Relic의 협력은 New Relic Prometheus OpenMetrics을 사용합니다.
모니터링되는 Prometheus 엔드포인트를 자동으로 식별하여 메트릭을 수집할 수 있습니다. 수집한 지표는 New Relic Insights에 의해 시각화됩니다.
방법
Kubernetes에 New Relic Prometheus OpenMetrics를 도입하는 방법은 여기을 참조하십시오.
기본적으로 New Relic이 제공하는 manifest file에 New Relic의 라이센스 키나 클러스터 이름을 입력하고 apply하는 것만으로 도입 가능합니다.
배포가 완료되면 아래와 같이 New Relic Prometheus OpenMetrics 포드 (nri-prometheus-78888747d7-gxkrd
)가 시작됩니다.
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
aws-node-j825j 1/1 Running 0 63m
aws-node-qmr56 1/1 Running 0 4m
cluster-autoscaler-779c8bfb8-zvcxx 1/1 Running 0 25m
coredns-57db5788d5-968pj 1/1 Running 0 25m
coredns-57db5788d5-nrjpk 1/1 Running 0 25m
fluentd-7ft2n 1/1 Running 0 63m
fluentd-p48g5 1/1 Running 0 3m40s
kube-proxy-cktvq 1/1 Running 0 63m
kube-proxy-htwgh 1/1 Running 0 4m
kube-state-metrics-d6c99df65-9p8qk 2/2 Running 0 25m
nri-prometheus-78888747d7-gxkrd 1/1 Running 0 25m
수집할 Prometheus 엔드포인트를 식별하는 방법은 주로 두 가지입니다.
Kubernetes와 New Relic의 협력은 New Relic Prometheus OpenMetrics을 사용합니다.
모니터링되는 Prometheus 엔드포인트를 자동으로 식별하여 메트릭을 수집할 수 있습니다. 수집한 지표는 New Relic Insights에 의해 시각화됩니다.
방법
Kubernetes에 New Relic Prometheus OpenMetrics를 도입하는 방법은 여기을 참조하십시오.
기본적으로 New Relic이 제공하는 manifest file에 New Relic의 라이센스 키나 클러스터 이름을 입력하고 apply하는 것만으로 도입 가능합니다.
배포가 완료되면 아래와 같이 New Relic Prometheus OpenMetrics 포드 (nri-prometheus-78888747d7-gxkrd
)가 시작됩니다.
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
aws-node-j825j 1/1 Running 0 63m
aws-node-qmr56 1/1 Running 0 4m
cluster-autoscaler-779c8bfb8-zvcxx 1/1 Running 0 25m
coredns-57db5788d5-968pj 1/1 Running 0 25m
coredns-57db5788d5-nrjpk 1/1 Running 0 25m
fluentd-7ft2n 1/1 Running 0 63m
fluentd-p48g5 1/1 Running 0 3m40s
kube-proxy-cktvq 1/1 Running 0 63m
kube-proxy-htwgh 1/1 Running 0 4m
kube-state-metrics-d6c99df65-9p8qk 2/2 Running 0 25m
nri-prometheus-78888747d7-gxkrd 1/1 Running 0 25m
수집할 Prometheus 엔드포인트를 식별하는 방법은 주로 두 가지입니다.
kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
aws-node-j825j 1/1 Running 0 63m
aws-node-qmr56 1/1 Running 0 4m
cluster-autoscaler-779c8bfb8-zvcxx 1/1 Running 0 25m
coredns-57db5788d5-968pj 1/1 Running 0 25m
coredns-57db5788d5-nrjpk 1/1 Running 0 25m
fluentd-7ft2n 1/1 Running 0 63m
fluentd-p48g5 1/1 Running 0 3m40s
kube-proxy-cktvq 1/1 Running 0 63m
kube-proxy-htwgh 1/1 Running 0 4m
kube-state-metrics-d6c99df65-9p8qk 2/2 Running 0 25m
nri-prometheus-78888747d7-gxkrd 1/1 Running 0 25m
아래와 같이 Deployment template label에
prometheus.io
를 주는 것으로 식별 가능하게 됩니다. 아래 예제에서는 9394 포트 metrics에 액세스하여 메트릭 수집이 가능하도록 설정합니다.apiVersion: apps/v1
kind: Deployment
spec:
・
・
・
template:
metadata:
labels:
prometheus.io/scrape: "true"
prometheus.io/port: "9394"
prometheus.io/path: "metrics"
New Relic Prometheus OpenMetrics manifest 파일의 config.yaml 내에 고정 URL을 설정할 수 있는 항목이 있으므로, 거기에 엔드포인트 정보를 기재한다
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: nri-prometheus
・
・
・
apiVersion: v1
data:
config.yaml: |
・
・
・
targets:
- description: trocco app
urls: ["http://sample.com:9394/metrics", "http://sample.com:9100/metrics"]
이렇게 하면 Prometheus에서 수집한 지표를 New Relic과 연동할 수 있습니다.
수집된 지표 시각화
수집한 지표는 New Relic Insight에 의해 시각화가 가능합니다.
NRQL 쿼리에서 필요한 데이터를 추출하고 시각화, 경고를 설정합니다. 다음은 수집된 지표를 시각화한 예입니다.
오늘은 Kubernetes의 시스템 메트릭을 Prometheus에서 수집하고 New Relic에 통합하는 곳을 소개했습니다. 아직 New Relic은 만져 1개월 정도입니다만, 여러가지 할 수 있는 것이 많이 즐겁습니다. 앞으로 점점 잘 다루고 싶습니다.
끝까지 봐 주셔서 감사합니다!
Reference
이 문제에 관하여(Kubernetes의 시스템 메트릭을 Prometheus에서 수집하고 New Relic에 통합해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/dododo8m/items/b5d93ccb9e218a570a67
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Kubernetes의 시스템 메트릭을 Prometheus에서 수집하고 New Relic에 통합해보십시오.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/dododo8m/items/b5d93ccb9e218a570a67텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)