grafana
Grafana
Grafana - 그라파나
Grafana(그라파나)는 오픈 소스 데이터 시각화 및 모니터링 툴입니다.
주로 시스템의 상태, 성능, 지표 등을 실시간으로 대시보드 형태로 시각화하는 데 사용됩니다.
기본 포트: 3000
1. 📌 Grafana의 주요 특징
- 데이터 시각화 (Visualization): 다양한 차트, 그래프, 게이지 등을 이용해 데이터를 직관적으로 표현할 수 있습니다.
- 다양한 데이터 소스 지원: Prometheus, InfluxDB, Elasticsearch, MySQL, PostgreSQL, Loki, Graphite 등 여러 데이터베이스와 모니터링 툴과 연동됩니다.
- 대시보드 생성 및 공유 사용자 정의 가능한 대시보드를 쉽게 만들 수 있으며, 팀원들과 공유하거나 템플릿으로 저장할 수 있습니다.
- 알림 기능 (Alerting): 특정 조건을 만족할 때 이메일, Slack, Webhook 등으로 알림을 보낼 수 있습니다.
- 플러그인 시스템: 다양한 플러그인을 통해 시각화 도구나 데이터 소스를 확장할 수 있습니다.
2. 🧰 사용 예시
- 시스템 자원 사용률 모니터링 (CPU, 메모리, 디스크 등)
- 서버 및 애플리케이션 로그 분석 (Loki 연동 시)
- DevOps 환경에서 Prometheus + Grafana를 통한 메트릭 분석
- IoT 장비 데이터 시각화
3. ✅ Prometheus가 적합한 상황
- 인프라 운영 및 DevOps 환경
- 실시간 데이터가 필요한 애플리케이션
- 데이터 시각화 중심의 리포트 대시보드 구축
4. ⚙️ 다운로드(설치), 실행
📥 다운로드(설치) - Grafana Release 확인
- $ cd /app
- $ mkdir grafana && cd grafana -> grafana dir 생성하고 이동
- $ wget https://dl.grafana.com/oss/release/grafana-11.5.1.linux-amd64.tar.gz -> 140M
- $ tar -zxvf grafana-11.5.1.linux-amd64.tar.gz -> 압축 풀기
- $ ll grafana-v11.5.1/bin -> 실행 파일: grafana (크기: 256M)
- $ mkdir bin conf data log plugins -> dir 생성
-
$ ln -s ../grafana-v11.5.1/bin/grafana bin/grafana -> 링크 생성
$ ln -s ../grafana-v11.5.1/bin/grafana-cli bin/grafana-cli -> 링크 생성
$ ln -s ../grafana-v11.5.1/bin/grafana-server bin/grafana-server -> 링크 생성
$ cp -r grafana-v11.5.1/public . -> public dir 복사, 복사하지 않으면 에러가 나고 시작하지 않는다.
➡ logger=settings level=error msg="Failed to detect generated javascript files in public/build"
$ cp grafana-v11.5.1/conf/defaults.ini conf/ -> default conf 파일 복사
- grafana dir 최종 상태
⚙️ Grafana 설정 파일 확인
cat /app/grafana/conf/grafana.ini
🖥️ 시스템 서비스 등록
sudo vi /usr/lib/systemd/system/grafana-server.service
- sudo systemctl daemon-reload -> 설정 reload
- sudo systemctl start grafana -> 시작(실행)
- sudo systemctl enable grafana -> 자동 실행 등록
- sudo systemctl stop grafana -> 중지(shutdown)
- sudo systemctl status grafana -> 상태 확인
⚓ 3000 포트 허용
- sudo vi /etc/sysconfig/iptables -> 아래 내용 저장
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3000 -j ACCEPT - sudo systemctl restart iptables
- sudo iptables -L -n | grep 3000 -> iptables 설정 확인
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:3000 - sudo netstat -tulnp | grep 3000 -> netstat 확인
tcp6 0 0 :::3000 :::* LISTEN 14105/grafana - 포트 관련 추가로 필요한 설정이 있으면 해주세요.
🌐 브라우저 ➡ 실행 화면 확인
• http://IP:3000 -> Grafana 기본 화면

• 메뉴: Dashboards
- Node Exporter와 Redis 2개 dashboard가 나온다. 클릭하면 해당 dashboard로 이동한다.

• Node Exporter(서버 모니터링) 화면
- 이 화면이 나오려면 아래 'Data sources 등록'과 'Dashboards 등록'을 해야 한다.

• Redis Exporter(레디스 모니터링) 화면

Data sources 등록 💾
• Connections > Data sources > [Add new data source] > Prometheus

• Prometheus: Name(이름) 설정, Connection: URL IP:port 설정

• Prometheus: Scrape interval 설정

• Prometheus: [Save & test] 저장

Dashboards 등록 💾
• Dashboards > [New] > Import > ID:1860 [Load] -> Select data source -> [Import]

• Import dashboard: ID:1860 (서버 모니터) or 11835 (레디스 모니터) [Load]

• Import dashboard: Name, Select a Prometheus data source

• Import dashboard: Select a Prometheus data source -> [Import]

• Dashboards 메뉴를 클릭하면 import 된 Dashboards를 볼 수 있고, 선택하면 해당 모니터링 화면이 나옵니다.

Email
답글이 올라오면 이메일로 알려드리겠습니다.