Grafana
데이터 시각화를 위한 오픈소스 툴킷으로 커스터마이징이 매우 편리하고, 지원하는 데이터 소스도 굉장히 다양하고 대시보드 또한 다양합니다. 알림설정까지 가능하여 정말 많이 사랑받고 있는 도구입니다.
Grafana Blog에서는 정말 다양한 팁들을 제공하고 있습니다. 엄청 자주 올라오더라구요.
일단 그라파나를 설치하겠습니다.
그라파나 사이트에서 설치방법을 친절히 제공하고 있습니다.
https://grafana.com/grafana/download
sudo yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-11.3.1-1.x86_64.rpm
그라파나는 기본 포트가 3000입니다. 그래서 만약 방화벽을 사용하신다면 방화벽에서 3000번 포트를 허용해주셔야합니다.
firewall-cmd --zone=public --permanent --add-port=3000/tcp
firewall-cmd --reload
firewall-cmd --zone=public --list-all
실행
설치가 완료되면 그라파나를 실행합니다.
# grafana 실행
systemctl start grafana-server.service
# grafana 자동 실행 등록
systemctl enable grafana-server.service
# grafana 중지
systemctl stop grafana-server.service
# grafana 재시작
systemctl restart grafana-server.service
접속
[호스트IP]:3000 으로 접속하면 자동으로 로그인 페이지가 등장하며 초기비밀번호는 admin/admin 입니다.
요즘에는 바로 비밀번호 변경하라는 페이지로 이동됩니다.
Helm을 통한 설치
# helm repo에 추가
helm repo add grafana https://grafana.github.io/helm-charts
# Helm chart 다운
git clone https://github.com/grafana/helm-charts.git
# 디렉토리 이동
cd helm-charts/charts/grafana
Helm에서는 values.yaml에서 설정값을 컨트롤 합니다.
admin 비밀번호나 nodeport정보 등을 수정할 수 있습니다.
# vi values.yaml
===
# Administrator credentials when not using an existing secret (see below)
adminUser: admin
adminPassword: ${adminPassword}
...
service:
enabled: true
#type: ClusterIP
type: NodePort
port: 80
targetPort: 3000
helm을 통한 설치
helm install grafana grafana/grafana -f values.yaml
Prometheus 연동
prometheus 뿐 아니라 다른 모든 데이터를 연동할 때는 다음과 같이 합니다.
Configuration > Data sources 메뉴에 접속합니다.
Add data source 버튼을 누릅니다.
Time series databases에서 'Prometheus'를 선택합니다.
정보를 입력한 뒤 Save & test 버튼을 클릭합니다.
대시보드 설정하기
그라파나에서는 공식 홈페이지에서 다양한 대시보드를 서로 공유할 수 있습니다.
내가 만들기 전에 여기에 괜찮은게 있으면 가져오시면 됩니다.
https://grafana.com/grafana/dashboards/
좌측 메뉴에서 'Create' > 'Import' 메뉴를 클릭합니다. 화면이 나타나면 Dashboard ID를 입력하고 'Load' 버튼을 클릭해줍니다. Grafana Labs에서 다양한 built-in 대시보드를 제공하는데 실습에는 Kubernetes Cluster의 ID를 사용했습니다.
다음과 같이 설정 화면이 나타나는데 Data source로 Prometheus를 선택하고 'Import' 버튼을 클릭해줍니다.