• EnglishEspañol日本語한국어Português
  • 로그인지금 시작하기

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

HCP Consul 모니터링(StatsD를 통해)

HCP(Hashicorp Cloud Platform) Consul은 컨트롤 플레인이 HashiCorp Cloud Platform에서 관리되는 Consul 버전입니다. HCP Consul은 Hashicorp에서 제공하는 서비스 메시 및 서비스 검색 솔루션입니다. 이를 통해 플랫폼 운영자는 기본적으로 안전한 완전 관리형 서비스 메시를 신속하게 배포할 수 있으므로 개발자는 Kubernetes, Nomad 및 Amazon ECS를 포함하여 모든 런타임에서 모든 애플리케이션을 검색하고 안전하게 연결할 수 있습니다.

Consul 클러스터를 건강하게 유지하면 SQL 쿼리 시간 최적화, 느린 HTTP 응답 시간 문제 해결, Hashicorp 클러스터의 가동 중지 시간에 대한 실시간 경고에 도움이 될 수 있습니다. Hashicorp 클러스터 메트릭을 모니터링하는 것은 Hashicorp 메시 서비스를 최대 용량으로 유지하는 데 매우 중요합니다.

HCP가 아닌 Consul 인스턴스에 대한 HashiCorp Consul 통합 도 있습니다.

New Relic으로 HCP Consul 지표 모니터링

HCP Consul이 설치되는 방법과 환경에는 여러 가지가 있습니다. 아래 예에서는 Terraform을 통해 설치된 HCP의 Quick Start로 작업합니다.

New Relic은 StatsD 플러그인 통합을 통해 HCP Consul 및 Envoy 메트릭 모니터링을 지원합니다. StatsD 플러그인은 HCP Consul이 노출한 모든 메트릭을 집계하고 데이터 시각화 및 경고를 위해 New Relic에 푸시합니다.

Terraform 배포 파일 생성

HCP Portal 계정의 개요 페이지에서 Terraform 배포 파일을 생성합니다.

Consul 클러스터 배포

엔드 투 엔드 개요에서 적절한 환경에 대한 단계에 따라 Consul 클러스터를 배포합니다. 중요: Deploy[배포] 페이지 하단에 있는 Consul CLI configuration 따라야 합니다.

gostatsd 설치

deploy-gostatsd.yamlrbac-gostatsd.yaml 을 로컬 Kubernetes 클라이언트에 복사합니다.

deploy-gstatsd.yaml 편집

  1. YOUR_NEW_RELIC_ACCOUNT_ID를 New Relic 계정 ID로 바꿉니다.

  2. YOUR_NEW_RELIC_LICENSE_KEY를 New Relic로 교체

    .

  3. 필요한 경우 EU 또는 FedRAMP 계정의 URL을 조정합니다(파일의 설명 참조).

gostatsd 배포

로컬 Kubernetes 클라이언트에서 다음 명령을 실행합니다.

bash
$
kubectl apply -f deploy-gostatsd.yaml
$
kubectl apply -f rbac-gostatsd.yaml

메트릭을 보고하도록 Consul 클라이언트 구성

consul-Client-configMap 편집

Consule 클라이언트의 ConfigMap을 편집하여 Consule 원격 분석 구성 을 추가합니다.

bash
$
kubectl edit cm consul-client-config

데이터 아래에 다음을 추가합니다.

telemetry-config.json: |-
{
"telemetry": {
"disable_hostname": false,
"disable_compat_1.9": true,
"dogstatsd_addr": "gostatsd.default.svc.cluster.local:8125",
"dogstatsd_tags": ["consul.source.datacenter:<YOUR_CONSUL_DATACENTER_NAME_HERE>"]
}
}

결과는 다음과 같아야 합니다.

apiVersion: v1
data:
central-config.json: |-
{
"enable_central_service_config": true
}
config.json: |-
{
"check_update_interval": "0s"
}
extra-from-values.json: '{}'
telemetry-config.json: |-
{
"telemetry": {
"disable_hostname": false,
"disable_compat_1.9": true,
"dogstatsd_addr": "gostatsd.default.svc.cluster.local:8125",
"dogstatsd_tags": ["consul.source.datacenter:<YOUR_CONSUL_DATACENTER_NAME_HERE>"]
}
}

메모:

  1. 여기서는 dogstatsd_addr을 사용하여 consul.source.datacenter를추가할 수 있습니다. 각 측정항목에 태그를 지정합니다. 이렇게 하면 Consul Datacenter별로 대시보드를 필터링할 수 있습니다.
  2. <YOUR_CONSUL_DATACENTER_NAME_HERE> 를 Consul Datacenter 이름으로 바꿔야 합니다.
  3. Consul 원격 분석 구성 옵션을 참조하십시오.

consul-connect-injector 배포 편집

배포를 편집하여 배포에서 Consule 메트릭을 활성화합니다.

bash
$
kubectl edit deploy consul-connect-injector

default-enable-metrics 를 검색하고 true 로 설정합니다.

-default-enable-metrics=true \

Consul 클라이언트 포드 다시 시작

Consul 클라이언트는 구성 변경 후 다시 시작하거나 다시 시작하지 않을 수 있습니다. 그렇지 않은 경우 각 Consul 클라이언트 포드를 다시 시작합니다.

bash
$
kubectl delete pod consul-client-<POD_ID> -n <NAMESPACE>

New Relic에서 Consul 메트릭 찾아보기

New Relic에서 HCP Consul 데이터를 보려면 쿼리 빌더로 이동하십시오.

그런 다음 아래 쿼리를 사용하여 HCP Consul 메트릭을 확인합니다.

SELECT * FROM Metric WHERE metricName LIKE 'consul.%' SINCE 1 minute ago

대시보드 설치

클라이언트, 네트워크, 런타임, serf 및 Envoy에 대한 HCP Consul의 주요 메트릭을 볼 수 있는 사전 구축된 대시보드로 몇 분 만에 시작하십시오.

New Relic Instant Observability의 HCP Consul 빠른 시작 으로 이동하고 + 지금 설치 를 클릭합니다.

문제점 해결

초기화 시 충돌이 발생하는 포드의 경우:

bash
$
kubectl logs PODNAME -c consul-connect-inject-init

실행 중인 포드의 경우:

bash
$
kubectl logs PODNAME -c DEPLOYMENTNAME

유용한 kubectl 스니펫

모든 팟(Pod)을 삭제하십시오.

bash
$
kubectl get pods | grep PODNAMEPREFIX | cut -f 1 -d ' ' | xargs kubectl delete pods

배포 및 배포에서 생성되는 포드를 삭제합니다.

bash
$
kubectl delete deployment DEPLOYMENTNAME -n default
Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.