개요
Grafana는 Grafana Labs에서 개발한 오픈소스 모니터링 및 데이터 시각화 플랫폼입니다. 다양한 데이터 소스에서 메트릭, 로그, 트레이스를 수집하여 실시간 대시보드로 시각화하며, 관측성 (Observability)의 핵심 도구로 널리 사용됩니다.
- 라이선스: AGPL v3 (OSS) / 상용 (Grafana Cloud)
- 공식 사이트: https://grafana.com
- 개발 언어: Go, TypeScript
주요 기능
데이터 시각화
- 대시보드: 패널 기반 커스텀 대시보드 구성
- 패널 유형: 그래프, 게이지, 히트맵, 테이블, 지도, 로그 뷰 등
- 변수/템플릿: 동적 필터링으로 재사용 가능한 대시보드
데이터 소스 연동
- 메트릭: Prometheus, InfluxDB, Graphite, Datadog
- 로그: Loki, Elasticsearch, CloudWatch Logs
- 트레이스: Tempo, Jaeger, Zipkin
- DB: PostgreSQL, MySQL, MSSQL
알림 (Alerting)
- 통합 알림 엔진 (Grafana 8+)
- Slack, PagerDuty, 이메일, 웹훅 등 알림 채널
- 다중 데이터 소스 기반 복합 알림 규칙
Grafana 스택 (LGTM)
| 구성 요소 | 역할 | 설명 |
|---|---|---|
| Loki | 로그 | 경량 로그 수집, 라벨 기반 인덱싱 |
| Grafana | 시각화 | 통합 대시보드 |
| Tempo | 트레이스 | 분산 트레이싱 백엔드 |
| Mimir | 메트릭 | Prometheus 장기 저장소 |
Prometheus 연동
# prometheus.yml
scrape_configs:
- job_name: 'app'
static_configs:
- targets: ['localhost:9090']Grafana에서 Prometheus 데이터 소스 추가 후 PromQL로 쿼리:
rate(http_requests_total[5m])