본 글은 Grafana에 대해서 공부한 지식을 정리한 글입니다.
앞선 "Prometheus"포스팅에서 알아보았듯이 Prometheus는 시스템의 상태를 수집하고 분석하는 데 매우 유용한 도구입니다. 하지만, 수집된 시계열 데이터는 그 자체로는 해석하기 어려울 수 있습니다.
단순히 수치 데이터를 나열하는 것은 시스템의 성능을 이해하는 데 한계가 있습니다. 이때 데이터의 추세와 패턴을 직관적으로 파악할 수 있도록 도와주는 도구가 필요합니다. 바로 이 역할을 수행하는 것이 Grafana입니다.
Grafana란❓
Grafana는 오픈소스 데이터 시각화 및 분석 도구로, 다양한 데이터 소스에서 데이터를 시각적으로 표현하는 데 최적화되어 있습니다.
대시보드 및 차트, 그래프를 통해 데이터를 효과적으로 분석하고 모니터링할 수 있도록 도와줍니다. Grafana는 특히 시계열 데이터를 시각화하는 데 강점을 가지며, Prometheus와의 통합으로 더욱 강력한 모니터링 환경을 제공합니다.
Grafana의 주요 기능
다양한 데이터 소스 지원
- Grafana는 Prometheus를 비롯한 다양한 데이터 소스를 지원합니다.
- 이를 통해 사용자는 여러 데이터 소스를 통합하여 한 곳에서 시각화할 수 있습니다.
강력한 대시보드 기능
- Grafana는 사용자가 쉽게 대시보드를 생성하고, 다양한 유형의 차트와 그래프를 추가하여 데이터를 시각화할 수 있도록 합니다.
- 사용자 정의 대시보드를 통해 원하는 정보를 직관적으로 표현할 수 있습니다.
사용자 정의 알림 설정
- Grafana는 특정 조건에 기반한 알림을 설정할 수 있는 기능을 제공합니다.
- 알림은 이메일, Slack, PagerDuty 등 다양한 채널로 전송될 수 있습니다.
풍부한 플러그인 생태계
- Grafana는 다양한 플러그인 및 확장 기능을 제공하여, 추가적인 데이터 시각화 옵션과 기능을 사용할 수 있습니다.
- 예를 들어, 새로운 차트 유형이나 데이터 소스 플러그인 등을 설치하여 기능을 확장할 수 있습니다.
Prometheus와 Grafana의 통합
Prometheus와 Grafana의 통합은 매우 간단합니다. Grafana는 Prometheus를 데이터 소스로 추가하여, Prometheus에서 수집된 시계열 데이터를 실시간으로 시각화할 수 있습니다.
1. Grafana 설치 및 실행
docker run -d --name=grafana -p 3000:3000 grafana/grafana
Grafana는 다양한 플랫폼에서 설치할 수 있으며, Grafana 공식 웹사이트에서 설치 파일을 다운로드할 수 있습니다. 본 글에서는 Docker를 사용하여 간편하게 설치해보겠습니다.
설치를 하고 나서, 위와 같이 docker ps 명령어를 사용해서 컨테이너 목록을 확인해보면 Grafana 컨테이너가 정상적으로 설치가 되었습니다.
2. Grafana 접속
3000번 포트로 설치했기 때문에 localhost:3000으로 접속하면 위와같이 로그인 페이지가 뜹니다.
- 초기 ID : admin
- 초기 PW : admin
3. Prometheus 데이터 소스 추가
Grafana에 로그인한 후, 설정 페이지에서 "Data Sources"를 선택하고, Prometheus를 데이터 소스로 추가합니다. Prometheus 서버의 URL을 입력하여 연결합니다.
현재 Prometheus는 docker위에서 동작하고있습니다. 따라서 host.docker.internal을 사용해서 Prometheus server URL을 지정합니다.
Grafana 또한 Docker 컨테이너에서 실행되고 있습니다. 따라서 Grafana가 Prometheus 컨테이너를 제대로 찾을 수 있도록, Grafana 컨테이너는 호스트 네트워크를 통해 Prometheus 컨테이너에 접근할 수 있게 설정해야 합니다.
이렇게 하면 Grafana가 Prometheus에서 수집한 메트릭 데이터를 올바르게 조회하고 시각화할 수 있습니다.
Sava & test를 클릭한 후, 'Data Sources' 탭으로 이동하면 Grafana에서 Prometheus 데이터 소스가 정상적으로 등록된 것을 확인할 수 있습니다.
4. Dashboards 생성
대시보드를 직접 만들거나, Grafana에서 제공하는 디폴트 대시보드를 가져옵니다.
저는 Spring boot 3.X버전이기때문에 3.0 Template를 사용했습니다.
Load를 클릭하면 위와 같이 나오고, 좀 전에 등록한 Prometheus를 등록해주고 import해줍니다.
위와 같이 Import가 정상적으로 완료되었습니다.
이 대시보드는 이전에 설정한 8080 포트에서 실행 중인 애플리케이션의 로그를 시각화하여 보여주는 대시보드입니다.
'Monitoring' 카테고리의 다른 글
[Grafana] Grafana Loki란 무엇일까❓개념부터 로그 확인까지 (0) | 2024.08.19 |
---|---|
[Grafana] Grafana와 Slack 연동하여 Alert 설정하기 (0) | 2024.08.19 |
[Prometheus] Prometheus란 무엇일까❓(Spring Boot 애플리케이션의 메트릭 모니터링) (0) | 2024.08.19 |