Grafana 는 모니터링 및 관찰 가능성 (observability) 을 위한 선도적인 오픈 소스 플랫폼입니다. Grafana 를 사용하면 어디에 저장되어 있든 메트릭을 쿼리하고, 시각화하고, 알림을 설정하고, 이해할 수 있습니다. Grafana 를 통해 팀과 대시보드를 생성하고, 탐색하고, 공유하며, 데이터 기반 문화를 조성할 수 있습니다.
이 랩에서는 Docker 를 사용하여 Grafana 인스턴스를 빠르고 쉽게 설정합니다. 랩 환경에는 이미 실행 중인 Prometheus 컨테이너가 사전 구성되어 있으며, 이는 우리의 데이터 소스로 사용될 것입니다. 여러분의 목표는 자체 컨테이너에 Grafana 를 설치하고 이 Prometheus 인스턴스에 연결하여 향후 데이터 시각화 작업을 위한 기반을 마련하는 것입니다.
Grafana Docker 이미지 가져오기
이 단계에서는 Docker Hub 에서 공식 Grafana Docker 이미지를 다운로드합니다. Docker 이미지는 컨테이너의 청사진으로, 애플리케이션과 모든 종속성을 포함합니다.
docker pull 명령은 레지스트리에서 이미지를 가져오며, 기본적으로 Docker Hub 입니다. Grafana 팀에서 유지 관리하는 공식 이미지인 grafana/grafana 이미지를 가져올 것입니다.
터미널에서 다음 명령을 실행하십시오.
docker pull grafana/grafana
이미지의 각 레이어에 대한 다운로드 진행 상황을 보여주는 출력이 표시됩니다. 완료되면 이미지가 로컬 머신에 저장되어 사용할 준비가 됩니다.
Using default tag: latest
latest: Pulling from grafana/grafana
a48c500ed24e: Pull complete
...
...
Status: Downloaded newer image for grafana/grafana
docker.io/grafana/grafana
Grafana 컨테이너를 포트 3000 에서 실행
이 단계에서는 Grafana 이미지를 컨테이너로 실행합니다. 지정된 이미지에서 새 컨테이너를 생성하고 시작하는 docker run 명령을 사용합니다.
컨테이너를 구성하기 위해 다음과 같은 플래그도 사용합니다.
-d: 컨테이너를 분리 모드 (백그라운드) 로 실행합니다.
-p 8080:3000: 호스트 머신의 포트 8080 을 컨테이너의 포트 3000 에 매핑합니다. 이를 통해 이미 포트 3000 을 사용 중인 서비스와의 충돌을 피하면서 브라우저에서 Grafana 웹 UI 에 액세스할 수 있습니다.
--name grafana: 참조를 쉽게 하기 위해 컨테이너에 사용자 지정 이름을 할당합니다.
--network monitoring: 컨테이너를 monitoring 네트워크에 연결합니다. 이 Grafana 컨테이너가 동일한 네트워크에 있는 Prometheus 컨테이너와 컨테이너 이름을 사용하여 통신할 수 있도록 하므로 이는 매우 중요합니다.
Grafana 컨테이너를 시작하려면 다음 명령을 실행하십시오.
docker run -d -p 8080:3000 --name grafana --network monitoring grafana/grafana
이 단계에서는 브라우저에서 Grafana 웹 인터페이스에 액세스합니다. 이전 단계에서 포트 3000 을 매핑했기 때문에 Grafana UI 는 이제 로컬 머신에서 사용할 수 있습니다.
LabEx VM 의 리버스 프록시 설정으로 인해 데스크톱 인터페이스로 전환하고 왼쪽 상단 모서리에 있는 Firefox 브라우저를 클릭한 다음 주소 표시줄에 http://localhost:8080을 입력하십시오. Grafana 로그인 페이지가 표시되어야 합니다.
이를 통해 Grafana 컨테이너가 올바르게 실행되고 액세스 가능한지 확인할 수 있습니다.
최초 로그인 및 비밀번호 설정
이 단계에서는 처음으로 Grafana 에 로그인합니다. Grafana 는 보안상의 이유로 첫 로그인 시 즉시 기본 비밀번호를 변경하도록 요구합니다.
새로운 Grafana 인스턴스의 기본 자격 증명은 다음과 같습니다.
사용자 이름: admin
비밀번호: admin
이전 단계에서 연 Grafana 로그인 페이지에 사용자 이름과 비밀번호 필드 모두에 admin을 입력한 다음 Log in 버튼을 클릭하십시오.
새 비밀번호를 만들라는 메시지가 표시됩니다. 이 랩 환경에서는 기본 관리자 비밀번호를 계속 사용하기 위해 "Skip" 버튼을 클릭하는 것이 좋습니다. 새 비밀번호를 설정하기로 선택한 경우 나중에 Grafana 에 액세스하지 못하는 것을 방지하기 위해 기억하십시오.
로그인 후 Grafana 홈 대시보드로 리디렉션됩니다. 이제 로그인되었으며 Grafana 를 구성할 준비가 되었습니다.
Grafana 에 Prometheus 데이터 소스 추가
이 단계에서는 실험 설정의 일부로 백그라운드에서 이미 실행 중인 Prometheus 인스턴스에 Grafana 를 연결합니다. 이를 통해 Grafana 는 Prometheus 에서 메트릭을 쿼리할 수 있습니다.
Grafana UI 내에서 다음 지침을 따르십시오.
왼쪽 메뉴에서 Connections 아이콘 (플러그 또는 커넥터 모양) 을 클릭합니다.
Connections 페이지에서 Data sources를 클릭합니다.
Data sources 페이지에서 Add new data source 버튼을 클릭합니다.
사용 가능한 데이터 소스 유형 목록에서 Prometheus를 선택합니다.
이제 연결 설정을 구성해야 합니다. 가장 중요한 설정은 URL 입니다.
Prometheus server URL 필드에 http://prometheus:9090을 입력합니다.
이 URL 은 Grafana 및 Prometheus 컨테이너가 동일한 Docker 네트워크 (monitoring) 에 연결되어 있기 때문에 작동합니다. Docker 의 내부 DNS 를 통해 동일한 네트워크의 컨테이너는 컨테이너 이름 (prometheus인 경우) 으로 서로를 확인할 수 있습니다.
URL 을 입력한 후 페이지 하단으로 스크롤하여 Save & test 버튼을 클릭합니다.
Grafana 는 Prometheus 서버에 연결을 시도합니다. 연결에 성공하면 "Data source is working"이라는 녹색 알림이 표시됩니다.
이제 가이드를 따라 Grafana 의 기능을 탐색할 수 있습니다. Prometheus 를 데이터 소스로 추가한 후 왼쪽 메뉴에서 Explore를 자유롭게 클릭하십시오. 여기서 Prometheus 데이터에 대한 쿼리를 실행하고 결과를 실시간으로 시각화할 수 있습니다. 다양한 쿼리를 시도하여 Grafana 가 메트릭과 상호 작용하는 방식을 익히십시오!
요약
축하합니다! 이 실험을 성공적으로 완료했습니다.
이 실험에서는 Grafana 및 Docker 작업을 위한 몇 가지 기본 기술을 배웠습니다.
Docker Hub 에서 공식 Docker 이미지를 가져오는 방법
특정 네트워크 및 포트 구성으로 Docker 컨테이너를 실행하는 방법
컨테이너 내에서 실행되는 웹 애플리케이션에 액세스하는 방법
새 Grafana 인스턴스에 대한 초기 보안 설정을 수행하는 방법
공유 Docker 네트워크 내에서 Grafana 를 Prometheus 데이터 소스에 연결하는 방법
이제 데이터 소스에 연결된 완전한 기능을 갖춘 Grafana 인스턴스를 보유하게 되었으며, 데이터를 시각화하기 위한 강력하고 통찰력 있는 대시보드를 구축할 준비가 되었습니다.