반응형

1. 시험환경

    ˙ ubuntu v20.04

    ˙ docker-compose

   ˙ Grafana (DockerHub)

   ˙ MySQL (DockerHub)

 

2. 목적

    ˙ Grafana와 MySQL 연동 서비스를 위한 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 설정)

        - depends_on : grafana container 생성 전에 db service가 먼저 서비스되어야 한다. (의존성 관계 설정)

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: '3.9'
 
services:
  db:
    image: mysql:5.7
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 1q2w3e
      MYSQL_DATABASE: grafana
      MYSQL_USER: devops
      MYSQL_PASSWORD: 1q2w3e
    ports:
    - 3306:3306
    volumes:
    - mysql-data:/var/lib/mysql
    logging:
      driver: "json-file"
      options:
        max-size: "8m"
        max-file: "10"
 
  grafana:
    depends_on:
    - db
    image: grafana/grafana:8.2.2
    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:
  mysql-data: {}
  grafana-data: {}
cs

 

    ② grafana 환경 변수 설정 파일

        - ./files/grafana.ini

grafana.ini
0.00MB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
app_mode = production
instance_name = ${HOSTNAME}
 
################ Server ################
[server]
protocol = http
http_addr =
http_port = 3000
 
################ Database ##############
[database]
type = mysql
host = db:3306
name = grafana
user = devops
password = 1q2w3e
 
 
################ Logging ###############
[log]
mode = console
level = info
 
################ Alerting ##############
[alerting]
enabled = true
cs

 

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

        - $ docker-compose up -d

 

    ④ Grafana에 접속하여 grafana.ini 기반으로 DB 설정 정보가 설정되었는지 확인한다.

 

    ⑤ Grafana에서 신규 사용자를 생성한다.

 

4. 결과

    ˙ Grafana에서 추가한 사용자 정보가 MySQL DB에 저장되었는지 확인한다.

반응형

+ Recent posts