[인프라] PostgreSQL, Grafana 연동

개요

  • PostgreSQL, Grafana 연동하여 간단한 SQL 구문을 작성하여 Grafana Dashboard 에 표현되도록 PoC 진행합니다.

PostgreSQL, Grafana Docker-Compose 작성

  • PostgreSQL, Grafana 모두 Docker Image 를 다운받아 컨테이너로 실행합니다.
  • 2개의 이미지를 포함하는 docker-compose.yml 파일을 다음과 같이 작성하였습니다.
version: '3.4'

services:
  postgres:
    image: postgres
    container_name: postgres
    restart: always
    environment:
      - POSTGRES_USER=test
      - POSTGRES_PASSWORD=system
      - POSTGRES_DB=abc 
      - TZ=Asia/Seoul
    ports:
      - '5432:5432'
    volumes:
      - D:/postgresql/data/:/docker-entrypoint-initdb.d/
      - D:/postgresql/data/:/var/lib/postgresql/data
      - D:/postgresql/logs/:/var/lib/postgresql/logs
      #- /etc/localtime:/etc/localtime

  grafana:
    container_name: grafana
    image: grafana/grafana
    restart: always
    ports:
      - 3000:3000

Docker-Compose Up

  • docker-compose.yml 파일을 작성 완료 하였다면, 컴포즈 Up 을 진행하여 컨테이너를 실행합니다.
> docker-compose up

그라파나 접속

  • localhost:3000 을 웹 브라우저에 입력하여 그라파나에 접속합니다.
  • 처음 접속을 하면 다음과 같이 로그인 화면이 나오게 됩니다.

  • 초기 아이디/비밀번호는 admin/admin 으로 해당 정보를 입력하면 됩니다.
  • 그리고 나면 새로운 비밀번호를 생성하는 창으로 바뀌게 되는데 새로 설정해줘도 되고, 아니면 Skip 을 해도 됩니다.


그라파나 메인 화면

  • 접속을 하게 되면, 다음과 같이 그라파나 메인 화면이 나옵니다.

PostgreSQL DataSource 등록

  • 이제 그라파나에서 PostgreSQL DataSource 를 등록 진행합니다.
  • 등록하는 방법은 톱니바퀴 모양의 설정 아이콘을 클릭한 후, Data Sources 메뉴를 선택합니다.


Add data source 버튼 클릭

  • 다음으로 Add data source 버튼을 클릭합니다.


PostgreSQL 검색

  • 검색란에 PostgreSQL 이름을 검색한 후, 코끼리 아이콘을 클릭합니다.


PostgreSQL 설정

  • 이제 본인이 접속하고 하는 PostgreSQL 의 접속 정보를 알맞게 입력하면 됩니다.


접속 테스트

  • 앞서, 설정을 정상적으로 모두 완료 하였다면 Save & test 버튼을 통해 접속 연결 테스트를 진행할 수 있습니다.


Data Source 저장 확인

  • 정상적으로 저장이 되었는지 다시 확인 진행합니다.
  • Data Source 메뉴를 선택하면 다음과 같이 PostgreSQL Data Source 가 표시되는 것을 확인할 수 있습니다.


Dash Board 생성

  • 이제 연결을 모두 마쳤으니, 실제로 SQL 구문을 작성하여 Dash Board 가 그려지는지 테스트 진행합니다.
  • 먼저 New Dashboard 메뉴를 선택합니다.


Add a new panel 메뉴 선택

  • 다음으로 Add a new panel 메뉴를 선택합니다.


Query 옵션 설정

  • Add a new panel 메뉴를 선택 했다면, 하단에 여러 메뉴를 설정한 수 있는 옵션 창이 있습니다.
  • 여기서 Format as 를 Table, Edit SQL 메뉴를 선택합니다.

    Format as 를 Table 로 설정한 이유는, 제가 테스트 하는 SQL 구문은 시간 관련 SQL 구문이 아니기 때문입니다.


쿼리 작성 및 차트 확인

  • 제가 예제 쿼리로 작성한 구문은 AutoVacuum 을 모니터링 하는 SQL 구문 입니다.
  • 아래와 같이 SQL 구문을 정상적으로 작성하였고, Visualizations 옵션은 Bar Chart 로 변경하였습니다.
  • 저는 시계열 데이터가 아니기 때문에, Time series 가 아닌, Bar Chart 를 설정하였습니다.


적용 완료 모습

  • 정상적으로 Dash Board 가 생성 되었다면, 다음과 같이 Apply 하여 Dash Board 가 나오는 것을 확인할 수 있습니다.

728x90

이 글을 공유하기

댓글

Designed by JB FACTORY