An open API service indexing awesome lists of open source software.

https://github.com/le2sky/grafana-mysql

docker-compose practice, grafana-mysql 구축
https://github.com/le2sky/grafana-mysql

docker docker-compose grafana

Last synced: about 2 months ago
JSON representation

docker-compose practice, grafana-mysql 구축

Awesome Lists containing this project

README

          

# Grafana란

Grafana란, Grafana Labs에서 관리하고 있는 `오픈 소스 시각화 및 분석 도구`이다.

Grafana는 Prometheus, InfluxDB, ElasticSearch, 기존 관계형 데이터베이스 엔진과 같은 다양한 `데이터 소스`에 연결된다.복잡한 대시보드는 이러한 소스를 사용하여 데이터에서 관련 필드를 선택하여 만들진다. 대시보드는 차트, 핫맵 및 히스토그램과 같은 다양한 `시각화 구성 요소`를 병합할 수 있다.

> 보통 상용 환경에서는 Grafana와 함께 연동해서 사용하는 것이 일반적이다. Grafana는 여러 데이터 소스에 대한 대시보드 템플릿을 제공하기 때문에, Prometheus 등의 데이터 소스의 쿼리 방법을 잘 모른다 하더라도 기본적인 대시보드 구성이 가능하다.

## Grafana를 사용하는 경우와, 고려 사항

- 어플리케이션 성능, 오류율을 언제든지 모니터링 할 수 있도록 `인프라 모니터링 도구`로 가장 많이 사용
- 시각화 대시보드를 사용하면 스택이 제대로 작동하는지 빠르고 쉽게 평가 가능
- 데이터 포인트를 수동으로 필터링하지 않고도 실시간 통찰력 제공
- 액세스를 집계할 소스가 여러 개인 경우 사용
- 하드웨어 리소스 사용률, 중요 로그 행 및 데이터베이스에서 새 사용자가 등록한 차트를 단일 화면에 표시하는 개요 대시보드 구성 가능
- 조직 내에 발생하는 모든 일에 대한 요약이 필요할 때, 이를 통해 하나의 목적지 제공

> 데이터 포인트는 특정 측정치 집계 기간 동안의 측정치 값

**고려 사항 :**

- 엔지니어링과 운영을 촉진하는 데이터 우선 방법을 돕는다.

: 여러 소스에서 대량의 데이터를 볼 떄 가장 큰 이점을 얻을 수 있다.

- 사용 중인 뷰는 사용자 조직 및 목표에 따라 지정되어야 한다.

: 잘못된 데이터를 표시하는 것은 데이터가 없는 것처럼 무용지물이다.

- 대시보드에 데이터를 가득 채우려고 하지마라. Grafana의 목적은 데이터를 쉽게 이해하는 것이다.

- 시각화한 인프라 구성요소의 영향을 고려하는 것도 중요하다.

: 데이터베이스 및 모니터링된 서비스에서 데이터를 검색하면 이러한 리소스에 영향을 미칠 수 있는 오버헤드가 발생한다.

- 낮은 빈도의 새로 고침에 만족하면 인프라의 로드가 감소한다.(데이터 소스 새로고침 자주 하지마셈!)

## Step01.Grafana 구성

요구사항

- Grafana의 3000번 포트는 호스트의 3000번 포트와 바인딩
- Grafana의 설정파일인 grafana.ini는 호스트에서 주입 가능하도록 구성하고 읽기 전용 설정
- Grafana의 로컬 데이터 저장 경롤를 확인하여 도커 볼륨 마운트
- Grafana의 플러그인 추가 설치를 위한 환경변수 설정
- 로그 드라이버 옵션을 통해 로그 로테이팅

## Step02. Grafana + MySQL 구성

요구사항

- 1단계 요구사항을 포함
- grafana.ini를 통해 database 설정을 sqlite에서 MySQL로 변경
- MySQL 컨테이너를 docker-compose에 db 서비스로 추가
- grafana 서비스가 db 서비스를 database로 연결하도록 구성
- MySQL의 로컬 데이터 저장 경로 확인하여 도커 볼륨 마운트

## Guide

- [Grafana 도커 가이드](https://grafana.com/docs/grafana/latest/installation/docker)
- [MySql 도커 가이드](https://hub.docker.com/_/mysql)

## start

```sh
docker-compose up -d
```

## down

```sh
docker-compose down -v
```