새소식

기술/Application

[Kubernetes Monitoring] Grafana에서 Panel 추가하기

  • -

안녕하세요. 지난 글에서 Grafana에 Prometheus를 추가하여 Query를 입력하여 Metric을 불러왔는데요.

 

오늘은 예제를 통해 Grafana에 Panel을 추가하여 Node의 CPU를 확인해보도록 하겠습니다.

 

작업 순서는 다음과 같습니다.

 

1. Dashboard 생성

2. Dashboard에 Pannel 추가

3, Pannel에 옵션 주기

 

 

먼저 Panel들을 추가하고 모아두기 위해 Dashboard를 생성하도록 하겠습니다.

 

Grafana의 좌측 메뉴 Create 부분에 Dashboard를 선택합니다.

 

Add new panel을 선택합니다.

 

panel 추가 메뉴는 다음과 같이 구성되어 있습니다.

①은 사용할 Data Source를 선택하는 곳입니다.

②은 쿼리를 입력하는 곳입니다.

③출력된 값에 대한 이름을 부여하는 곳입니다.

 

이전 포스트에 사용한 "container_cpu_usage_seconds_total"라는 Metric을 사용합니다.

 

입력 후 많은 Value값과 Value에 대한 이름이 어지럽게 나열되어 있습니다.

 

우리가 수집할 내용은 Node에 대한 CPU 사용량이기 때문에 query문을 수정하여 필터링해보도록 하겠습니다.

 

잠시 이전에 보았던 explore 메뉴에서 같은 Metric을 조회하면 많은 양의 테이블이 생성됩니다.

 

여기서 id="/"만 나오도록 필터링하겠습니다.

 

 

container_cpu_usage_seconds_total => container_cpu_usage_seconds_total{id="/"}

 

필터를 사용할 때는 {} 안에 column의 이름과 원하는 값을 넣으면 됩니다.

 

저는 id라는 column에 /라는 값이 필요했기 때문에  {id="/"}를 입력하여 필터링한 상태입니다.

 

이제 다시 위에서 작성한 Metric을 입력하면 아래와 같이 나오게 됩니다.

 

CPU의 사용값인데, 1325k라니 뭔가 이상하지요?

 

최근 5분간의 사용량을 확인하기 위해 Query를 좀 더 수정해보도록 하겠습니다.

 

아래 문서를 참조하면 rate라는 값이 있는 것을 확인할 수 있습니다.

 

<PromQL Query Functions>

 

rate란 초당 평균 증가율을 계산하는 Function입니다.

 

5분 간 수집하기로 했기 때문에 위 문서를 참조하여 Query를 구성하면 아래와 같습니다.

 

rate(container_cpu_usage_seconds_total{id="/"}[5m])

 

자, 이제 해당 Query를 입력합니다.

 

입력한 Query를 적용하니 우리가 알고 있는 소수점 형태로 변경되었습니다.

 

그런데, 한 가지 걸리는 게 Value의 값이 또 길고 알아보기 어렵지 않나요?

 

 

이번엔 Legend를 수정하여 이름을 적용해보겠습니다.

 

아까 Explore에서 Query를 조회했을 때 아래와 같은 구조로 나왔습니다.

 

여기서 node라는 column에서 Node Name이 입력되어 있는데요.

 

해당 column name을 value로 활용해보겠습니다.

 

방법은 간단합니다.

 

Legend 폼에서 {{node}}라고 입력해주면 됩니다.

 

입력하면 아래와 같이 변경됩니다.

 

Legend에 {{column name}} 을 넣어주게 되면 value마다 column name이 갖고 있는 값이 자동으로 입력됩니다.

 

column name이 아닌 임의 값을 넣어줄 수 있으나, 그러면 여러 value가 생겨도 임의 값으로만 표시되기 때문에 value 정보에 대해서 정확하기 확인하기 어려운 문제가 있습니다.

 

이제 좌측 메뉴에서 Panel의 이름과 설명을 적어준 후 마무리하면 됩니다.

유니코드를 지원하기 때문에 한글로도 저장이 가능합니다.

 

설명 부분은 panel의 좌측 상단에 i가 생성되며, 마우스 오버를 하면 작성한 설명 내용이 출력됩니다.

 

이상으로 Panel 추가 방법에 대한 가이드를 마칩니다.

 

궁금한 점은 댓글로 남겨주시면 보는 대로 답변드리겠습니다. :)

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.