Grafana + Telegraf + InfluxDB(TIG 스택) 시스템및 네트워크 모니터링


Grafana + Telegraf + InfluxDB(TIG 스택)는 시스템 및 네트워크 모니터링을 위한 강력한 스택으로, 실시간 모니터링과 시각화에 최적화되어 있습니다. 이 가이드는 Ubuntu 20.04를 기준으로 Grafana, Telegraf, InfluxDB 설치 및 설정 방법을 설명합니다.


1. InfluxDB 설치 및 설정

InfluxDB는 시계열 데이터베이스로, 시스템 및 애플리케이션의 성능 데이터를 저장하는 역할을 합니다.

InfluxDB 저장소 추가 및 설치

  1. 저장소 추가:
<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 데이터베이스와 사용자 계정을 생성합니다.

  1. 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 설치

  1. 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에 데이터를 전송하도록 설정합니다.

  1. 설정 파일 열기:
<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 설치

  1. 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 데이터 소스 추가

  1. 데이터 소스 추가: 좌측 메뉴에서 Configuration > Data Sources로 이동하여 Add data source를 클릭합니다.
  2. InfluxDB 선택: 데이터베이스 목록에서 InfluxDB를 선택합니다.
  3. InfluxDB 설정:
    • URLhttp://localhost:8086
    • Databasetelegraf
    • Usertelegraf
    • Password: InfluxDB 설정 시 지정한 비밀번호
  4. 설정이 완료되면 Save & Test를 클릭하여 연결이 성공적으로 이루어졌는지 확인합니다.

5. Grafana 대시보드 생성

  1. 대시보드 추가: 좌측 상단의 + 아이콘을 클릭하고 Dashboard를 선택하여 새 대시보드를 생성합니다.
  2. 그래프 패널 추가Add new panel을 클릭하여 그래프 패널을 추가합니다.
  3. 쿼리 설정: 쿼리 편집기에서 InfluxDB 데이터베이스의 데이터를 불러오는 쿼리를 작성합니다. 예를 들어, CPU 사용률 데이터를 확인하려면 아래와 같이 설정할 수 있습니다.
    • FROM: measurement 선택 (예: cpu)
    • Fieldusage_user 또는 usage_system 선택
    • Group bytime($__interval)
  4. 시각화 설정: 필요한 시각화 유형을 선택하고, 패널 제목과 기타 세부 사항을 설정합니다.
  5. 저장: 패널 구성을 완료한 후 대시보드를 저장합니다.

이제 실시간으로 수집되는 성능 데이터를 대시보드에서 확인할 수 있습니다.


6. 알림 설정

Grafana는 특정 조건을 만족할 때 이메일, Slack 등의 알림을 보낼 수 있습니다.

  1. 알림 채널 추가: 좌측 메뉴에서 Alerting > Notification channels로 이동하여 새로운 알림 채널을 추가합니다.
  2. 알림 설정: Email, Slack 등 알림 채널을 구성한 후 Save합니다.
  3. 조건 설정: 각 패널에서 Alert 탭을 선택하여 특정 메트릭이 임계값을 초과할 때 알림을 보내도록 조건을 설정합니다.

맺음말

Grafana + Telegraf + InfluxDB 스택을 사용하면 실시간으로 서버와 네트워크 장비의 성능 데이터를 모니터링하고 시각화할 수 있는 강력한 모니터링 시스템을 구축할 수 있습니다. InfluxDB는 성능 데이터를 저장하고, Telegraf는 다양한 메트릭을 수집하며, Grafana는 데이터를 효과적으로 시각화합니다.


2930 Blog에서 더 알아보기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.