DevOps/k8s

HoneyComb 오픈텔레메트리를 위한 모니터링 Tool

Sophie소피 2023. 12. 14. 20:08

Honeycomb for Kubernetes

2023년 11월 01일 Kubernetes용 Honeycomb 플랫폼 출시 발표

Kubernetes Quick Start

  • 대략적인 Kubernetes 설치 과정
    1. 구글 소셜 화원가입/로그인
    2. Api key 발급
    3. kubernetes quick start docs 보고 Command 따라치기
    4. helm을 이용하여 Honeycomb agent 설치
    5. Query로 직접 차트와 대시보드 구성
    6. 기본 템플릿을 사용하여 차트와 대시보드 구성
  • Honeycomb 설치 Command
#클러스터 object를 관리하는 수집기 인프라를 포함할 네임스페이스 생성 
daeunkim@Daeunui-MacBookPro ~ % kubectl create namespace honeycomb

# honeycomb 네임스페이스 생성 확인 
daeunkim@Daeunui-MacBookPro ~ % kubectl get namespace
NAME                   STATUS   AGE
default                Active   15d
development            Active   14d
honeycomb              Active   36s
kube-node-lease        Active   15d
kube-public            Active   15d
kube-system            Active   15d
kubernetes-dashboard   Active   14d
production             Active   14d



#발급 받은 Honeycomb API KEY로 Kubernetes 구성 
daeunkim@Daeunui-MacBookPro ~ % export HONEYCOMB_API_KEY=uJqSELdDiXB7KB88mUoOkA
kubectl create secret generic honeycomb --from-literal=api-key=$HONEYCOMB_API_KEY --namespace=honeycomb
secret/honeycomb created




#OpenTelemetry의 Helm 저장소 추가 
daeunkim@Daeunui-MacBookPro ~ % helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
"open-telemetry" has been added to your repositories



#Helm이 최신 버전을 인식하도록 저장소 업데이트 
daeunkim@Daeunui-MacBookPro ~ % helm repo update

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "open-telemetry" chart repository
...Successfully got an update from the "datadog" chart repository
...Successfully got an update from the "grafana" chart repository
...Successfully got an update from the "prometheus-community" chart repository
Update Complete. ⎈Happy Helming!⎈




#수집기 배포
# Deployment Mode 수집기 배포 
daeunkim@Daeunui-MacBookPro ~ % helm install otel-collector-cluster open-telemetry/opentelemetry-collector --namespace honeycomb --values https://docs.honeycomb.io/integrations/kubernetes/values-files/values-deployment.yaml

NAME: otel-collector-cluster
LAST DEPLOYED: Fri Nov 17 10:19:28 2023
NAMESPACE: honeycomb
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
[WARNING] No resource limits or requests were set. Consider setter resource requests and limits for your collector(s) via the `resources` field.

#DemonSet Mode 수집기 배포 
daeunkim@Daeunui-MacBookPro ~ % helm install otel-collector open-telemetry/opentelemetry-collector --namespace honeycomb --values https://docs.honeycomb.io/integrations/kubernetes/values-files/values-daemonset.yaml

NAME: otel-collector
LAST DEPLOYED: Fri Nov 17 10:20:52 2023
NAMESPACE: honeycomb
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
[WARNING] No resource limits or requests were set. Consider setter resource requests and limits for your collector(s) via the `resources` field.




#수집기 설치 확인 
daeunkim@Daeunui-MacBookPro ~ % kubectl get pods --namespace honeycomb

NAME                                                              READY   STATUS    RESTARTS   AGE
otel-collector-cluster-opentelemetry-collector-5cbb9d46bf-8dd2t   1/1     Running   0          93s
otel-collector-opentelemetry-collector-agent-fxcz5                1/1     Running   0          10s


#클러스터에 에이전트 추가 
daeunkim@Daeunui-MacBookPro ~ % kubectl apply -f https://raw.githubusercontent.com/honeycombio/honeycomb-kubernetes-agent/main/examples/quickstart.yaml

 

 

  • 설치 후기
    • 몇 분 후에 데이터가 Honeycomb으로 유입되기 시작합니다. 하지만 가장 기본적인 이벤트 기록만 보여주기 때문에 사용자가 직접 Query를 사용하거나, 기본 템플릿을 사용하여 모니터링 대시보드를 구성해야합니다.

 

 

  • 특징01 Query Assistant 기능을 사용하여 대시보드 구성
  • Honeycomb의 Query Assistant는 생성형 AI를 사용하여 자연스러운 영어 질문을 관련 쿼리로 처리하고 애플리케이션 성능에 대한 차트를 바로 생성할 수 있습니다.
  •  예시)
    • “Show me the average CPU of my pods”
    • “What’s the P99 memory usage of my nodes?”
    • “Show me the pods that have a reason of Started”
    • “Show me pods that are crashing”
    Container CPU Request
  •  

 

 

 

 

  • 특징02 기본 제공 템플릿을 사용하여 Dashboard 구성
    • Service Health
    • Refinery Operation
    • Real User Monitoring(RUM)
    • Kubernetes Pod Metric
    • Kubernetes Node Metric
    • Kubernetes Workload Health
    • Legacy Kubernetes Pod Metric
    • Legacy Kubernetes Node Metric

 

 

  • 특징03 BubbleUp과 Correlation 기능을 통해 분석기능 제공
  • BubbleUp

 

  • 알림
  • Trigger 기능을 통해 설정이 가능하고 무료 버전은 2개까지만 가능