본문 바로가기
  • 테크에 관한 모든 것.
IT

Grafana(데이터 시각화 도구)

by @TA 2024. 3. 22.
"Grafana: 데이터 시각화의 창문, 연동 및 알림 설정 방법에 대해 알아보기"

"Grafana는 강력한 데이터 시각화 도구로, 다양한 데이터 소스와의 연동을 지원하며, 사용자 정의 대시보드를 통해 시각적인 표현을 제공합니다. 이 글에서는 Grafana의 특성, 다양한 연동 방법, 그리고 알림 설정에 대해 자세히 알아보겠습니다. 데이터를 시각화하고 효과적으로 관리하기 위한 Grafana의 활용 방법을 함께 살펴봅시다!"

 

Grafana 란?

Grafana는 오픈 소스의 데이터 시각화 및 모니터링 도구로, 여러 다양한 데이터 소스에서 데이터를 수집하고 시각적으로 표현할 수 있습니다. 주로 시스템 모니터링, 인프라 모니터링, 애플리케이션 성능 모니터링 등 다양한 분야에서 사용됩니다.

 

다음은 Grafana의 주요 특징과 사용 방법에 대한 설명입니다.

다양한 데이터 소스 지원: Grafana는 다양한 데이터 소스를 지원합니다. 예를 들어, Prometheus, InfluxDB, MySQL, PostgreSQL, Elasticsearch, AWS CloudWatch, Microsoft SQL Server 등의 데이터 소스와 연동하여 데이터를 시각화할 수 있습니다.

사용자 정의 대시보드: Grafana를 사용하면 사용자 정의 대시보드를 만들어 다양한 데이터를 시각적으로 표현할 수 있습니다. 그래프, 표, 지도, 로그 등 다양한 시각화 옵션을 제공하여 데이터를 효과적으로 분석할 수 있습니다.

알림 설정: Grafana는 데이터에 기반하여 알림을 설정할 수 있는 기능을 제공합니다. 예를 들어, 특정 조건이 충족되면 이메일, Slack 등의 방법으로 알림을 받을 수 있습니다.

플러그인 생태계: Grafana는 다양한 플러그인을 지원하여 기능을 확장할 수 있습니다. 사용자가 원하는 기능이 없을 경우 플러그인을 설치하여 필요한 기능을 추가할 수 있습니다.

간편한 설치 및 사용: Grafana는 설치 및 설정이 간편하며, 사용자 친화적인 인터페이스를 제공합니다. 또한, 온라인 커뮤니티와 다양한 문서를 통해 지원을 받을 수 있습니다.

커스터마이징 가능: Grafana는 다양한 테마와 스타일을 제공하여 사용자가 대시보드를 커스터마이징할 수 있습니다. 또한, 다양한 플러그인을 통해 원하는 기능을 추가하고 확장할 수 있습니다.

요약하면, Grafana는 데이터 시각화와 모니터링에 필요한 다양한 기능을 제공하는 강력한 도구로, 사용자가 데이터를 쉽게 이해하고 관리할 수 있도록 도와줍니다.


 

Grafana 설치 전 몇 가지 사전 요구사항이 있는데, 그 내역은 다음과 같습니다.

 

서버 환경: Grafana를 호스팅할 서버가 필요합니다. 일반적으로 Linux 기반의 운영 체제를 사용하는 서버를 선택합니다. CentOS, Ubuntu, Debian 등을 사용할 수 있습니다.

데이터 소스: Grafana를 사용하여 데이터를 시각화하기 위해서는 데이터 소스가 필요합니다. 주로 Prometheus, InfluxDB, MySQL, PostgreSQL, Elasticsearch 등의 데이터베이스가 데이터 소스로 사용됩니다.

데이터베이스: Grafana는 자체적으로 데이터를 저장하지 않습니다. 대신 시각화하고자 하는 데이터는 데이터 소스(예: InfluxDB, MySQL)에 저장되어야 합니다. 따라서 Grafana와 함께 사용할 데이터베이스가 필요합니다.

인터넷 연결: Grafana를 설치하고 플러그인을 관리하기 위해서는 인터넷에 접속할 수 있는 환경이 필요합니다. Grafana는 설치 및 업데이트 과정에서 인터넷 연결을 필요로 합니다.

시스템 리소스: Grafana는 대규모 데이터를 처리하고 시각화하기 위해 일정 수준의 시스템 리소스가 필요합니다. 메모리와 CPU 리소스가 충분한 서버를 선택하는 것이 좋습니다.


Grafana 설치 과정(Ubuntu Linux 기준)

# 1. Grafana의 APT 저장소를 시스템에 추가합니다.
sudo apt-get install -y apt-transport-https
sudo apt-get install -y software-properties-common wget
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 -a /etc/apt/sources.list.d/grafana.list

# 2. 패키지 목록을 업데이트합니다.
sudo apt-get update

# 3. Grafana를 설치합니다.
sudo apt-get install -y grafana

# 4. Grafana 서비스를 시작하고 부팅 시 자동으로 실행되도록 설정합니다.
sudo systemctl start grafana-server
sudo systemctl enable grafana-server

# 5. 방화벽에서 Grafana 포트를 허용합니다. 기본 포트는 3000입니다.
sudo ufw allow 3000/tcp

# 6. 웹 브라우저에서 Grafana에 액세스합니다.
#    http://<서버 IP 주소>:3000

# 7. 초기 로그인을 위해 사용자 이름과 암호를 설정합니다. 기본적으로 관리자 사용자는 "admin"이고 암호는 "admin"입니다.

Grafana를 설치한 후에는 데이터를 시각화하기 위해 데이터를 데이터베이스에 적재하고 Grafana와 연동해야 합니다. 아래는 이 과정을 설명한 코드 블록입니다. 이 예시에서는 InfluxDB를 데이터베이스로 사용하고, InfluxDB에 데이터를 적재하고 Grafana에서 시각화하는 과정을 보여줍니다.

 

1. InfluxDB 설치 및 설정

# InfluxDB 설치
sudo apt-get update
sudo apt-get install influxdb

# InfluxDB 서비스 시작
sudo systemctl start influxdb

# InfluxDB 부팅시 자동 시작 설정
sudo systemctl enable influxdb

 

2. InfluxDB 데이터베이스 및 사용자 생성

# InfluxDB CLI 실행
influx

# 데이터베이스 생성
CREATE DATABASE mydb;

# 사용자 생성 및 권한 부여
CREATE USER myuser WITH PASSWORD 'mypassword';
GRANT ALL ON mydb TO myuser;

 

3. 데이터 적재

# InfluxDB CLI에서 데이터 적재
# 예: measurement는 'cpu_usage', tag는 'host'와 'region', field는 'usage_percent'
INSERT cpu_usage,host=server01,region=us-west usage_percent=80
INSERT cpu_usage,host=server02,region=us-east usage_percent=65

 

4. Grafana와 InfluxDB 연동

Grafana의 웹 인터페이스로 접속합니다.
좌측 메뉴에서 "Configuration"을 선택하고 "Data Sources"를 클릭합니다.
"Add data source"를 클릭하여 새로운 데이터 소스를 추가합니다.
데이터 소스 유형으로 "InfluxDB"를 선택합니다.
다음과 같은 설정을 입력합니다.
Name: 데이터 소스의 이름 (예: MyInfluxDB)
URL: InfluxDB의 주소 (예: http://localhost:8086)
Database: 사용할 InfluxDB의 데이터베이스 이름
User: InfluxDB에 접속할 사용자 이름
Password: InfluxDB에 접속할 사용자 비밀번호

기타 설정은 필요에 따라 입력합니다.
"Save & Test"를 클릭하여 설정을 저장하고 테스트합니다.


5. Grafana 대시보드에서 InfluxDB 데이터 시각화

Grafana의 웹 인터페이스에서 좌측 메뉴에서 "Create"를 선택하고 "Dashboard"를 클릭하여 새로운 대시보드를 생성합니다.
대시보드의 편집 모드에서 "Add panel"을 클릭하여 새로운 패널을 추가합니다.
패널 편집 모드에서 "Query"를 선택하고 "Select measurement"을 클릭하여 사용할 InfluxDB 측정값을 선택합니다. 필요한 쿼리 및 조건을 입력하여 데이터를 필터링하고 시각화합니다. 필요에 따라 추가적인 패널을 추가하고 대시보드를 구성합니다.
대시보드 설정을 완료하고 저장합니다.

 

이러한 과정을 통해 Grafana를 사용하여 Linux 데이터를 InfluxDB에 적재하고 시각화할 수 있습니다. 필요에 따라 데이터베이스나 데이터 소스를 변경하여 다른 시각화 작업을 수행할 수도 있습니다.


Grafana 알림 설정 방법

 

1. Grafana 설정

# 1. Grafana 웹 인터페이스에 로그인합니다.
# 2. 좌측 메뉴에서 "Alerting"을 선택합니다.
# 3. "Notification channels"을 클릭하여 알림 채널을 추가합니다. (예: 이메일, Slack 등)
# 4. "Notification channels"에 필요한 설정을 입력하고 저장합니다.
# 5. 다시 좌측 메뉴에서 "Alerts"를 선택하고 "Create alert"를 클릭하여 새로운 알림 규칙을 생성합니다.
# 6. "Conditions"을 설정하여 알림이 트리거될 조건을 지정합니다. (예: CPU 사용률이 특정 값 이상인 경우)
# 7. "Notifications"에서 이전에 설정한 알림 채널을 선택하여 알림이 전송될 대상을 지정합니다.
# 8. 알림 규칙을 저장합니다.

 

2. 서버 설정

# 1. SMTP 서버 설정
    - Grafana 설정 파일 (예: grafana.ini)에서 SMTP 서버 관련 설정을 구성합니다.
    - 예를 들어, SMTP 서버 주소, 포트, 사용자 이름, 비밀번호 등을 설정합니다.
# 2. 기타 알림 채널 설정
    - 다양한 알림 채널을 사용하는 경우, 각 채널에 필요한 설정을 구성합니다.
    - 예를 들어, Slack 알림을 사용하려면 Slack 웹후크 URL을 Grafana에 설정합니다.
# 3. 알림 규칙 설정
    - Grafana 웹 인터페이스에서 알림 규칙을 설정하고 알림 채널을 선택합니다.
    - 알림 채널에 대한 설정이 정확하게 구성되어 있어야만 알림이 제대로 전송됩니다.
반응형

'IT' 카테고리의 다른 글

스테이블코인(StableCoin)  (0) 2024.03.22
Zabbix와 Grafana 연동하기  (1) 2024.03.22
Zabbix(시스템 모니터링 도구)  (1) 2024.03.22
[네트워크] L2/L3/L4(L7) 스위치  (0) 2024.03.21
블록체인(BlockChain)  (0) 2024.03.21