발단
이전 글에서 docker compose 를 통해 모니터링 환경을 구성해 보았습니다. 그러나 Prometheus 에서 제공하는 PromQL 을 통해 Grafana 에서 dashbaord 를 구성하는 것은 쉬운일이 아닌데요. 따라서, Grafana 에서 제공하는 Dashboards Template 을 사용하여 대중적인 시각화 UI 를 구축하는 부분을 설명하면 어떨까 싶어 글을 남깁니다.
사용법
Grafana 에서 제공하는 템플릿 페이지를 알아보고 모니터링 환경에서 UI 를 어떻게 구축하면 좋을지 알아볼 것입니다.
Grafana Dashboards
Grafana 클라우드에서 기록되고 있는 Dashboards 템플릿을 확인할 수 있는 웹사이트입니다. 해당 페이지에서 원하는 템플릿을 선택할 수 있습니다.
우리는 Prometheus 를 통해 데이터를 제공받고 있음으로 해당 페이지 옵션에서 Datasource 를 Prometheus 로 선택하여 검색하여야 합니다. 그렇지 않으면 Grafana Dashbaord 구성시 의도하지 않은 Datasource 를 추가해야 할 염려가 생길 수 있습니다.
Prometheus 확인
- Endpoint 를 확인해보면 promehteus.yml 에서 설정한 URL 과 경로로 메트릭을 제공받고 있습니다.
- State 는 현재 해당 Target 의 상태를 의미하며, UP 이라고 명시되어 있어야 메트릭을 정상적으로 제공받고 있는 상태가 됩니다.
Grafana 확인
Login
docker-compose.yml 에서 설정한 env 하위에 명시한 ID, PW 계정을 사용하여 로그인 할 수 있습니다. 기본값은 admin/admin 입니다.
Datasource 추가
대시보드에 필요한 메트릭 정보 제공을 위한 연결 정보를 생성하여야 합니다. 사진에 명시된 순서에 맞게 클릭하여 검색한후 목록에서 `Prometheus` 를 선택하여주세요.
우측 상단의 `Add new data source` 를 통해 datasource 생성 페이지로 진입합니다.
- Name 은 임의로 설정하시면 됩니다.
- Connection 에 http://prometheus:9090 을 입력한뒤, 페이지 스크롤을 아래로 내려 `Save & Test` 버튼을 클릭하여 동작하는지 확인하시면 됩니다.
- prometheus:9090 와 같이 IP 가 아닌 도메인 호출방식처럼 사용할 수 있는건 docker compose 의 기능중 하나입니다. docker comopse 로 실행된 각 컨테이너는 그들의 컨테이너명 혹은 서비스명을 통해 각 컨테이너로 접근이 가능합니다. 따라서, grafana 서비스 내에서 prometheus 로 위와 같은 URL 로 접근할 수 있게 되는 것 입니다.
Dashboard 추가
Dashboard 페이지로 이동하여 `Import dashboard` 버튼을 통해 진입합니다.
위에서 보는 바와 같이 dashboard 의 특징은 Json 으로 기록되고 저장됩니다. 그리고, Grafana 는 이를 URL 혹은 Json 파일로 Import 를 가능케 합니다. 우리는 linux server 에 대한 모니터링을 할 것 이고 URL 로 진행할 것 임으로임으로 아래 URL 을 입력창에 입력한뒤 `Load` 버튼을 눌러주세요.
https://grafana.com/grafana/dashboards/1860-node-exporter-full/
Load 버튼을 누르게 되면 위와 같은 화면으로 진입하게 됩니다.
- Name 은 임의로 설정하시면 됩니다.
- 아래 Prometheus SelectBox 에서 기존에 추가하였던 Datasource 를 선택해주시면 됩니다.
- 테스트 하는 과정에서 두개의 datasource 를 추가하여 datasource 가 두개 존재하는 것으로 보입니다. 예제를 따라하시는 분들은 이미지와 무관하게, 첫번째 prometheus datasource 를 선택하시면 될겁니다.
마침
이상으로 Prometheus 와 Grafna 환경이 준비된 곳에서 어떻게 Dashboard 를 추가할 수 있는지 확인하였습니다. 진행하시면서 원하시는대로 동작하지 않는 부분이 있으면 질문 부탁드립니다. 최대한 빨리 답변 드리겠습니다.
'ETC > Monitoring' 카테고리의 다른 글
[Monitoring] Docker 와 Prometheus, Grafana 사용해 Linux 서버의 상태 모니터링(feat. docker compose) (0) | 2025.01.14 |
---|