Prometheus and Grafana in K8S

이민석's avatar
Mar 26, 2024
Prometheus and Grafana in K8S

Introduction

Thank you for clicking through to my arcticle. I've been a DevOps engineer for 2 years in dev-team of 7 engineers.

My name is MINSEOK, LEE, but I use Unchaptered as an alias on the interenet. So, you can call me anythings "MINSEOK, LEE" or "Unchaptered" to ask something.

Before started

This article is some kind of note for AEWS 2, Week 4, Restropection.

Architecture

Prometheus

Defi of prometheus

Prometheus는 오픈 소스 시계열 데이터베이스로, 클라우드 및 온프레미스 환경에서 확장 가능한 모니터링 솔루션을 제공

Role of prometheus

  • 시계열 데이터 수집 : 서버, 애플리케이션, 시스템 및 기타 리소스에서 지표(metric)를 수집합니다.

  • 데이터 저장 : 수집한 지표를 내부 데이터베이스에 저장하고 쿼리할 수 있도록 합니다.

  • 알람 및 경고 : 지정된 임계값을 초과하는 경우 경고를 생성하고 알림을 보냅니다.

    일반적으로 Prometheus의 내장 알림 기능이 존재는 하지만 자주 쓰이지는 않습니다.

Grafana

Defi of grafana

Grafana는 다양한 데이터 소스에서 데이터를 시각화하고 모니터링하기 위한 오픈 소스 분석 및 시각화 도구

Role of grafana

  • 데이터 시각화: Prometheus와 같은 데이터 소스로부터 데이터를 시각화하여 대시보드를 만듭니다.

  • 경고 및 알람: Prometheus에서 생성된 경고 및 알람을 받아들이고 시각적으로 표시합니다.

  • 대시보드 관리: 사용자 정의 대시보드를 만들고 관리하여 시스템 및 애플리케이션의 성능 및 상태를 모니터링합니다.

  • 다양한 데이터 소스 지원: Prometheus 외에도 InfluxDB, Elasticsearch, MySQL 등 다양한 데이터 소스와 연동하여 데이터를 시각화할 수 있습니다.

Examples

Node Exporter

node-exporter

[사전]
Exporter은 어떤 대상(앱 등)이 본인의 매트릭 데이터를 특정한 목적지(Destination)로 전송하는 부류를 일컫습니다.

다른 서비스이긴하지만, 개념 이해를 위해서 Opentelemetry Exporter를 참고해도 좋습니다.

[정의]
노드 수준(EC2, ECS Fargate 등)에서 시스템 매트릭을 수집
CPU, MEM, Disk, Networking 등의 다양한 시스템 리소스 사용륭을 모니터링

Kube State Metrics

kube-state-metrics

[정의]
Kuberenetes Cluster의 상태 및 Object 매트릭을 수집
현재 Cluster의 Pod, Node, Service, Deployment 등과 관련된 매트릭 정보를 수집

Kube Proxy

kube-proxy

[정의]
파드 간 및 파드와 외부의 통신을 관리 및 관련 매트릭 수집
로드 밸런싱, 포트포워딩, NAT 네트워킹 등의 기능을 제공
네트워크 관련 매트릭을 수집하여 Cluster의 네트워크 성능 및 동작을 모니터링

CNI Metrics Dashboard of Grafana

References on Grafana Blog | AWS CNI Metrics.

Contains...

  • The ENI / IP usage

  • The latency related to the different AWS API calls

  • The errors on the API calls and the IPAM operations

Share article

Unchaptered