Grafana Sankey Panel Plugin을 사용하여 API Flow 시각화

API는 현대 소프트웨어 개발에서 필수적인 요소로, 시스템 간 데이터 교환을 가능하게 합니다. 하지만 복잡한 API 흐름을 추적하고 성능을 모니터링하는 것은 쉽지 않은 일입니다. Grafana는 강력한 오픈소스 시각화 도구로, API 흐름을 시각화하고 성능 지표를 모니터링하는 데 이상적입니다. 이 포스트에서는 Grafana Sankey Panel Plugin을 활용하여 API 흐름을 시각화하는 방법을 단계별로 설명합니다.

목차

1. 전제 조건
2. Grafana Sankey Panel Plugin이란?
3. Grafana Sankey Panel Plugin 추가 활성화
4. Sankey Panel 대시보드 생성
5. 결론

1. 전제 조건

이 포스트에서는 아래와 같은 환경에서 진행됩니다.

  • Clickhouse Database 24.8.4
  • Grafana 11.2.0

이 포스트에서는 Grafana 및 Clickhouse 설치 및 배포에 관한 사항은 다루지 않습니다.

2. Grafana Sankey Panel Plugin이란?

Grafana의 Sankey Panel Plugin은 Grafana 대시보드에서 Sankey 다이어그램을 시각화하기 위한 플러그인입니다. Sankey 다이어그램은 데이터 흐름을 시각적으로 표현하는 데 사용되며, 흐름의 크기(예: 트래픽, 요청 수, 에너지 흐름 등)에 비례하여 선의 너비가 조정됩니다. 특히 API 흐름, 네트워크 트래픽, 또는 프로세스 간 데이터 이동을 시각화하는 데 유용합니다.

3. Grafana Sankey Panel Plugin 추가 활성화

1. 좌측 메뉴에서 Administration > Plugins and data > Plugins를 클릭합니다.

2. 검색 칸에 “sankey”를 검색하여 Sankey Panel을 찾습니다.

3. 우측 상단 Install 버튼을 클릭하여 Sankey Panel plugin을 다운로드 합니다.

4. Sankey Panel 대시보드 생성

1. 좌측 메뉴에서 Dashboards로 이동한 뒤, Create dashboard 버튼을 클릭하여 대시보드를 생성합니다.

2. Add visualization을 클릭하여 대시보드를 생성하고, Data source ClickHouse를 선택합니다.

3. 우측 상단에 “sankey”를 검색하여 Sankey Panel을 클릭합니다.

4. 데이터베이스에 아래와 같은 데이터가 있을 때

host > path의 흐름을 나타내려면 아래와 같은 쿼리를 사용합니다.

SELECT
  'host:' || host AS source,
  'path:' || path AS target,
  COUNT(*) AS value
FROM access_log
GROUP BY host, path

위 쿼리를 SQL Editor에 추가한 뒤, Run Query를 눌러 실행시키고, 정상적으로 수행디면 우측 상단의 Apply 버튼을 클릭하여 적용시킵니다.

host > path의 sankey diagram형식으로 대시보드가 생성된 것을 확인할 수 있습니다.

5. 결론

Grafana와 ClickHouse를 결합하여 API 흐름을 시각화하면 복잡한 API 호출 데이터를 직관적으로 이해하고 성능 병목 지점을 빠르게 파악할 수 있습니다. 특히 Sankey Panel을 활용하면 API 간 호출 관계와 트래픽 흐름을 시각적으로 명확히 표현할 수 있습니다. ClickHouse의 고성능 쿼리 처리와 Grafana의 유연한 시각화 기능을 통해 실시간 모니터링과 분석이 가능해집니다. 지금 Grafana 대시보드를 설정하고 API 성능을 최적화하여 시스템의 효율성을 높여보세요!

Grafana 도입 및 기술 지원이 필요하시다면 NGINX STORE에 연락하여 논의하십시오.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required