본문 바로가기

기타

[로그 모니터링] Garafana 설치

반응형

앞선 (https://jammdev.tistory.com/282) 에서 로그 모니터링 시스템의 구조를 설계했다. 이어서 설계한 구조대로 로그 모니터링 시스템을 구성해 것이다.

 

간단한 로그를 출력하는 app 두고 로그를 대시보드에서 모니터링 있도록 Fluent-bit, Loki, Grafana 설치할 것이다. 시스템 구성을 간편하게 하기 위해 호스트에 직접 설치하기 보다는 docker compose 를 사용하여 시스템을 구성할 것이다.

 

가장 먼저 Grafana 를 설치 과정을 정리해보았다.

Grafana

Grafana 오픈 소스 소프트웨어로 여러 방식으로 설치할 있다. Debian, Ubuntu, Windows, macOS 다양한 OS Docker, k8s 다양한 환경을 지원해준다.

 

로그 모니터링 시스템은 docker compose 로 환경을 구성할 것이기 때문에 Grafana docker container 실행하려고 한다.

- docker-compose.yaml 설정

Grafana 실행하기 위해 docker-compose.yaml 파일을 정의하였다. 아래의 docker-compose.yaml Grafana 공식문서의 예제로 Grafana 에서 제공해주는 Docker image 사용하고, 사이트 접속을 위해 3000 포트를 개방하도록 서비스를 정의했다.

 

services:
  grafana:
    image: grafana/grafana-enterprise
    container_name: grafana
    restart: unless-stopped
    ports:
      - '3000:3000'

 

docker-compose.yaml 서비스를 실행한 , localhost:3000 으로 접속하면 Grafana 화면에 접근할 있다.

 

 

사이트 접속을 위해서는 로그인이 필요한데, 기본 계정은 `id: admin / password: admin` 이다.

 

 

로그인하면 위와 같이 Grafana 사이트에 접속되는 것을 확인할 있다.

- Grafana data 영속성 설정

Grafana 기본 저장소로 내부에서 SQLite DB 사용한다. DB 에는 Grafana 설정, 유저 정보, 대시보드 등의 정보가 저장된다.

 

컨테이너 내부에 저장된 정보들은 컨테이너가 재실행 때마다 초기화 되는데, 이를 유지하기 위해서는 컨테이너 외부 저장소와 연결이 필요하다.

 

아래의 예제는 Docker volume 정의하여 데이터를 저장하는 방식이다. grafana-storage 라는 volume 영역을 생성하여 해당 영역에 /var/lib/grafana 경로를 연결하여 데이터를 저장한다.

 

services:
  grafana:
    image: grafana/grafana-enterprise
    container_name: grafana
    restart: unless-stopped
    ports:
      - '3000:3000'
    volumes:
      - grafana-storage:/var/lib/grafana
volumes:
  grafana-storage: {}

 

Docker volume 아닌 mount binding 사용할 수도 있다. 아래와 같이 host 디렉토리를 volume 경로로 지정하여 컨테이너의 /var/lib/grafana 경로의 데이터를 지정한 디렉토리에 저장한다.

 

services:
  grafana:
    image: grafana/grafana-enterprise
    container_name: grafana
    restart: unless-stopped
    user: '0'
    ports:
      - '3000:3000'
    volumes:
      - './grafana/data:/var/lib/grafana'

 

mount 사용 , host 디렉토리와 컨테이너 내부에서의 사용자 권한 차이, 보안 문제 등을 이유로 volume 방식을 권장한다.

[References]

- https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/#run-grafana-via-docker-compose

 

Run Grafana Docker image | Grafana documentation

CautionStarting with Grafana release 12.4.0 , the grafana/grafana-oss Docker Hub repository will no longer be updated. Instead, we encourage you to use the grafana/grafana Docker Hub repository. These two repositories have the same Grafana OSS docker image

grafana.com

 

반응형