반응형

1. 시험환경

    ˙ ubuntu v20.04

    ˙ docker-compose

   ˙ Grafana (DockerHub)

 

2. 목적

    ˙ Grafana 서비스를 위한 docker-compose.yml 파일을 작성한다.

    ˙ docker-compose를 이용하여 Grafana 서비스를 기동한다.

 

3. 적용

    ① Grafana container를 실행하기 위한 설정 파일을 구성한다.

        - image : repository 및 image

        - ports: 외부 접속을 위한 port 매핑

        - volumes : ./files/grafana.ini (grafana 설정, host 경로)를 docker container 경로의 /etc/grafana/grafana.ini로 복사

        - grafana-data : /var/lib/grafana (grafana DB 데이터가 저장되는 경로, 기본DB는 SQLite 설정)

Dockerfile
0.00MB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$ cat docker-compose.yml
version: '3.9'
 
services:
  grafana:
    image: grafana/grafana:8.2.6
    restart: unless-stopped
    environment:
      GF_INSTALL_PLUGINS: grafana-clock-panel
    ports:
    - 3000:3000
    volumes:
    - ./files/grafana.ini:/etc/grafana/grafana.ini:ro
    - grafana-data:/var/lib/grafana
    logging:
      driver: "json-file"
      options:
        max-size: "8m"
        max-file: "10"
 
volumes:
  grafana-data: {}
cs

 

    ② grafana 환경 변수 설정 파일

grafana.ini
0.00MB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
app_mode = production
instance_name = ${HOSTNAME}
 
############### Server ####################
[server]
protocol = http
http_addr =
http_port = 3000
 
############### Logging ###################
[log]
mode = console
level = info
 
############### Alert ####################
[alerting]
enabled = true
 
cs

 

    ③ Grafana container를 서비스하기 위해 구성한 docker-compose.yml 파일을 실행한다.

        - $ docker-compose up -d

 

    ④ Grafana container 쉘에 접속하여 설정파일(grafana.ini)와 SQLite DB 설정이 되었는지 확인한다.

        - container 쉘 접속 : $ docker exec -it [image] sh

 

    ⑤ docker-compose 서비스를 제거한다.

        - $ docker-compose down -v

 

4. 결과

    ˙ 호스트 서버에 접속하여 Grafana 서비스 동작 여부를 확인한다.

        - URL : http://[호스트 서버 IP]:3000

 

반응형

+ Recent posts