반응형
시스템 모니터링을 위한 Grafana, influxdb 2, telegraf 설치 방법이며
구동 환경은 편의성을 위해 docker 와 docker-compose를 사용한다.
특히 influxdb 2 를 이용하는 방법으로 설명한다.
docker-compose 및 데이터 경로 생성
# root 권한으로 작성한다. EC2 생성 시 /data 경로 필요
$ cd /data
$ mkdir -p /data/inftelegra/influxdb2/config
$ mkdir -p /data/inftelegra/influxdb2/data
$ mkdir -p /data/inftelegra/grafana/etc_grafana
$ mkdir -p /data/inftelegra/grafana/var_lib_grafana
$ mkdir -p /data/inftelegra/telegraf/
$ chown -R 472:472 /data/inftelegra/grafana/
/data/inftelegra 로 지정한 이유는 여러 개의 docker-composer를 구분하여 관리하기 위해서이다.
docker-compose.yml 파일 생성
# vi /data/inftelegra/docker-compose.yml
# telegraf는 http API 8086 으로 호출
version: '3.6'
services:
influxdb2:
image: influxdb:2.0.8-alpine
container_name: influxdb2
ports:
- 8086:8086
volumes:
- type: bind
source: /data/inftelegra/influxdb2/data
target: /var/lib/influxdb2
- type: bind
source: /data/inftelegra/influxdb2/config
target: /etc/influxdb2
restart: always
grafana:
image: grafana/grafana:8.1.2
container_name: grafana
ports:
- 3000:3000
environment:
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource
volumes:
- /data/inftelegra/grafana/var_lib_grafana:/var/lib/grafana
- /data/inftelegra/grafana/etc_grafana/grafana.ini:/etc/grafana/grafana.ini:ro
restart: always
telegraf:
image: telegraf:1.19.3
container_name: telegraf
# ports:
# - 8092:8092
# - 8094:8094
# - 8125:8125
volumes:
- /data/inftelegra/telegraf/telegraf.conf:/etc/telegraf/telegraf.conf:ro
restart: always
# 작성한 config 파일에 문제가 없는지 확인
$ docker-compose config
향후 관리를 위해 docker image는 버전을 지정하였다.
config 파일 생성
# tag 및 버전은 상황에 맞춰 수정한다.
# docker-compose에 기재된 버전을 따라야 한다.
# telgraf 용
docker run --rm telegraf:1.19.3 telegraf config > /data/inftelegra/telegraf/telegraf.conf
# grafana 용
docker run --rm --entrypoint /bin/sh grafana/grafana:8.1.2 -c "cat /etc/grafana/grafana.ini" > /data/inftelegra/grafana/etc_grafana/grafana.ini
컨테이너 실행
# 실행
$ docker-compose up -d
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b1f9815e4121 telegraf "/entrypoint.sh tele…" 53 minutes ago Up 53 minutes 8092/udp, 8125/udp, 8094/tcp telegraf
3a12bb621e52 grafana/grafana:latest "/run.sh" 53 minutes ago Up 53 minutes 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
aec446a6c8c7 influxdb "/entrypoint.sh infl…" 53 minutes ago Up 53 minutes 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp influxdb
# 종료
# docker-compose down
# 모든 컨테이너가 삭제된다.
반응형
Comment