Grafana + Telegraf + InfluxDB(TIG 스택)는 시스템 및 네트워크 모니터링을 위한 강력한 스택으로, 실시간 모니터링과 시각화에 최적화되어 있습니다. 이 가이드는 Ubuntu 20.04를 기준으로 Grafana, Telegraf, InfluxDB 설치 및 설정 방법을 설명합니다.
1. InfluxDB 설치 및 설정
InfluxDB는 시계열 데이터베이스로, 시스템 및 애플리케이션의 성능 데이터를 저장하는 역할을 합니다.
InfluxDB 저장소 추가 및 설치
- 저장소 추가:
<bash>
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
echo "deb https://repos.influxdata.com/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
2. InfluxDB 설치:
<bash>
sudo apt update
sudo apt install -y influxdb
3. InfluxDB 시작 및 부팅 시 자동 시작 설정:
<bash>
sudo systemctl start influxdb
sudo systemctl enable influxdb
InfluxDB 데이터베이스 생성
Telegraf에서 데이터를 저장할 InfluxDB 데이터베이스와 사용자 계정을 생성합니다.
- InfluxDB CLI 실행:
<bash>
influx
2. 데이터베이스와 사용자 생성:
<sql>
CREATE DATABASE telegraf; CREATE USER telegraf WITH PASSWORD 'your_password'; GRANT ALL ON telegraf TO telegraf; EXIT
참고:
your_password
부분은 원하는 비밀번호로 설정하세요.
2. Telegraf 설치 및 설정
Telegraf는 InfluxDB에 성능 데이터를 전송하는 역할을 합니다. 시스템 메트릭, 애플리케이션 메트릭 등 다양한 데이터를 수집할 수 있습니다.
Telegraf 설치
- Telegraf 저장소 추가:
<bash>
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add - echo "deb https://repos.influxdata.com/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
2. Telegraf 설치:
<bash>
sudo apt update sudo apt install -y telegraf
Telegraf 설정
Telegraf의 설정 파일을 편집하여 InfluxDB에 데이터를 전송하도록 설정합니다.
- 설정 파일 열기:
<bash>
sudo nano /etc/telegraf/telegraf.conf
2. InfluxDB 출력 플러그인 설정
[[outputs.influxdb]]
부분을 찾아 아래와 같이 설정합니다.
<conf>
[[outputs.influxdb]]
urls = ["http://localhost:8086"]
database = "telegraf"
username = "telegraf"
password = "your_password" # InfluxDB 설정 시 지정한 비밀번호
3. 시스템 메트릭 입력 플러그인 활성화
기본적으로 Telegraf는 시스템 메트릭을 수집하도록 설정되어 있습니다. CPU, 메모리, 디스크 사용량 등 필요한 메트릭 설정을 확인합니다.
4.Telegraf 시작 및 자동 시작 설정
<bash>
sudo systemctl start telegraf
sudo systemctl enable telegraf
Telegraf가 InfluxDB로 데이터를 전송하기 시작합니다.
3. Grafana 설치 및 설정
Grafana는 InfluxDB에서 저장한 데이터를 시각화하는 대시보드를 제공합니다.
Grafana 설치
- Grafana 저장소 추가:
<bash>
wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
echo "deb https://packages.grafana.com/oss/deb stable main" | sudo tee /etc/apt/sources.list.d/grafana.list
2.Grafana 설치:
<bash>
sudo apt update
sudo apt install -y grafana
3.Grafana 시작 및 부팅 시 자동 시작 설정:
<bash>
sudo systemctl start grafana-server
sudo systemctl enable grafana-server
4. Grafana 설정 및 대시보드 구성
Grafana 웹 인터페이스를 통해 InfluxDB를 데이터 소스로 추가하고, 대시보드를 구성합니다.
Grafana 웹 인터페이스 접근
브라우저에서 http://YOUR_SERVER_IP:3000
로 접근하여 Grafana에 로그인합니다. 기본 계정 정보는 다음과 같습니다.
- ID: admin
- 비밀번호: admin (처음 로그인 시 비밀번호 변경이 요구됩니다.)
InfluxDB 데이터 소스 추가
- 데이터 소스 추가: 좌측 메뉴에서 Configuration > Data Sources로 이동하여 Add data source를 클릭합니다.
- InfluxDB 선택: 데이터베이스 목록에서 InfluxDB를 선택합니다.
- InfluxDB 설정:
- URL:
http://localhost:8086
- Database:
telegraf
- User:
telegraf
- Password: InfluxDB 설정 시 지정한 비밀번호
- URL:
- 설정이 완료되면 Save & Test를 클릭하여 연결이 성공적으로 이루어졌는지 확인합니다.
5. Grafana 대시보드 생성
- 대시보드 추가: 좌측 상단의 + 아이콘을 클릭하고 Dashboard를 선택하여 새 대시보드를 생성합니다.
- 그래프 패널 추가: Add new panel을 클릭하여 그래프 패널을 추가합니다.
- 쿼리 설정: 쿼리 편집기에서 InfluxDB 데이터베이스의 데이터를 불러오는 쿼리를 작성합니다. 예를 들어, CPU 사용률 데이터를 확인하려면 아래와 같이 설정할 수 있습니다.
- FROM: measurement 선택 (예:
cpu
) - Field:
usage_user
또는usage_system
선택 - Group by:
time($__interval)
- FROM: measurement 선택 (예:
- 시각화 설정: 필요한 시각화 유형을 선택하고, 패널 제목과 기타 세부 사항을 설정합니다.
- 저장: 패널 구성을 완료한 후 대시보드를 저장합니다.
이제 실시간으로 수집되는 성능 데이터를 대시보드에서 확인할 수 있습니다.
6. 알림 설정
Grafana는 특정 조건을 만족할 때 이메일, Slack 등의 알림을 보낼 수 있습니다.
- 알림 채널 추가: 좌측 메뉴에서 Alerting > Notification channels로 이동하여 새로운 알림 채널을 추가합니다.
- 알림 설정: Email, Slack 등 알림 채널을 구성한 후 Save합니다.
- 조건 설정: 각 패널에서 Alert 탭을 선택하여 특정 메트릭이 임계값을 초과할 때 알림을 보내도록 조건을 설정합니다.
맺음말
Grafana + Telegraf + InfluxDB 스택을 사용하면 실시간으로 서버와 네트워크 장비의 성능 데이터를 모니터링하고 시각화할 수 있는 강력한 모니터링 시스템을 구축할 수 있습니다. InfluxDB는 성능 데이터를 저장하고, Telegraf는 다양한 메트릭을 수집하며, Grafana는 데이터를 효과적으로 시각화합니다.