일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- hyperledger fabric
- 하이브리드앱
- 플레이프레임워크
- Play2
- Golang
- Hyperledger fabric gossip protocol
- 파이썬 머신러닝
- play2 강좌
- Actor
- play 강좌
- Play2 로 웹 개발
- 스칼라 동시성
- 그라파나
- Adapter 패턴
- 파이썬 데이터분석
- 주키퍼
- akka 강좌
- 파이썬 강좌
- CORDA
- 파이썬
- 이더리움
- 안드로이드 웹뷰
- Akka
- 하이퍼레저 패브릭
- 엔터프라이즈 블록체인
- 스칼라
- 파이썬 동시성
- 스위프트
- 스칼라 강좌
- 블록체인
- Today
- Total
HAMA 블로그
InfluxDB 와 Grafana 를 이용한 빅데이터 가시화 본문
InfluxDB 와 Grafana 를 이용한 빅데이터 가시화
[하마] 이승현 (wowlsh93@gmail.com) 2016. 4. 15. 11:05* 너무 옛날 버전이라 참고하지마세요 (2015년경)
* 2021년 버전은 -> hamait.tistory.com/1120
InfluxDB
간략 소개
InfluxDB
* 2013년도에 만들어진 시계열 데이타를 저장하기위한 NoSQL 저장소
* 구글이 만든 key/value database library 인 LevelDB를 사용
* distributed and scale horizontally하게 설계되었습니다. 따라서, cluster에 새로운 node만 추가하면 쉽게 scale-out 할 수 있습니다.
* Schemaless design 입니다.
Grafana
* 데이타 소스로 Graphite / Elasticsearch / InfluxDB 등을 이용하여 타임시리즈를 그래프 / 대쉬보드로 가시화해주는 툴입니다.
* ubuntu 16.04 기준
* InfluxDB 0.9 version
* Grafana 2.6.4 version
* python 2.7
1. InfluxDB 설치 (Ubuntu)
* 2021년 3월현재 1.1.1이 설치됩니다. docs.influxdata.com/influxdb/v2.0/get-started/?t=Linux 로가면 2.0기반으로 설치 할 수 있습니다.
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
sudo echo "deb https://repos.influxdata.com/ubuntu bionic stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt update sudo apt install influxdb
sudo systemctl stop influxdb
sudo systemctl start influxdb
sudo systemctl enable --now influxdb
sudo systemctl is-enabled influxdb
2. InfluxDB 자신의 database 만들기 (콘솔)
$ influx
>
* influx 를 입력하여 db 에 접속합니다. 기본 포트는 8086 이며 종료는 exit 혹은 ctrl + D
* 만약 influx명령어가 없으면, sudo apt install influxdb-client 받습니다.
> CREATE DATABASE mydb
* 처음엔 데이타베이스가 없기때문에 원하는 이름으로 하나 만들어줍니다. 여기서는 (mydb)
3. InfluxDB 입력테스트
> CREATE DATABASE testdb
> use testdb
* testdb 를 만들고 use 명령어를 통해 해당 db 를 사용해보겠습니다.
{
"measurement": "officepower ",
"tags": {
"host": "server01",
"region": "us-west"
},
"time": "2009-11-10T23:00:00Z",
"fields": {
"value": 0.64
}
}
* 일반 구성은 위와 같습니다.
mesurement 가 sql 로 말하면 테이블 명과 같으며 , tags / time / fields 로 구성됩니다.
위에는 2개의 로우를 입력하였습니다.
(
mesurement 는 officepower , tags 는 node=2 , values 는 watt,apc,pfc 등등)
* 중간에 select * from officepower 를 통해서 데이터들을 보여줍니다.
* select * from officepower where node = '3' // node 가 3 인 로우만 선택되며, * select * from officepower where apc >= 300 // apc 가 300 이상인 로우만 선택됩니다.
* 브라우저를 통한 관리기능도 제공합니다. 포트 8083(127.0.0.1:8083) 으로 접근하여 확인합니다.
4. InfluxDB 입력 (파이썬을 통해)
4-1. InfluxDB 파이썬 클라이언트 설치
sudo apt-get install python-pip
$ sudo pip install influxdb $ sudo pip install --upgrade influxdb
자세한것은 여기 참고 : https://github.com/influxdata/influxdb-python
Grafana
5. Graphana 설치 및 실행
5-1. 설정정보 저장용 데이타베이스를 influxDB 에 추가
> CREATE DATABASE grafana
5-2. Graphana install (http://docs.grafana.org/installation/debian/)
$ wget https://grafanarel.s3.amazonaws.com/builds/grafana_2.6.0_amd64.deb
$ sudo apt-get install -y adduser libfontconfig
$ sudo dpkg -i grafana_2.6.0_amd64.deb
5-3. Grafana start
$ sudo service grafana-server start
* 서버 재부팅후 자동으로 켜지게 하려면 아래 추가.
(ubuntu 14.04)
sudo update-rc.d grafana-server defaults
(ubuntu 16.04)
아래로 테스팅
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
이것으로 설정
sudo systemctl enable grafana-server.service
5-4. 브라우저를 통한 Grafana 접속
* http://설치ip:3000 으로 접속합니다. ( 아디/비번은 admin/admin)
6. Grafana 를 통한 가시화 (http://docs.grafana.org/datasources/influxdb/ )
6-1. Data source 설정하기
admin/admin 으로 로긴하고 들어간후에 위에 그림처럼 1~3번까지 누르면 data source 를 편집할수 있게 됩니다.
* Name 은 아무거나 ( 제 경우는 InfluxdbOffice 라고 했습니다)
* Type 은 InfluxDB 0.9x 선택
* Url 은 InfluxDB 설치한 곳 IP:8086 해주시고
* Database 는 자신이 만든 db 이름 ( 제 경우는 powerdb)
* User / Password 는 기본값 root/root
6-2. 자신의 Dashboard 을 통해 데이타 가시화
* 상단의 HOME 을 누른후 아래 +New 를 클릭하여 새로운 dashboard 를 생성합니다.
* 왼쪽의 연두색 버튼 -> Add Panel -> Graph 를 선택해줍니다.
* select * from officepower 라는 쿼리로 지난 24시간의 데이타 값을 가시화 하였습니다.
* 다음처럼 수동으로 쿼리 설정을 할수도 있습니다.
6-3. Single Stat 에 이미지 넣기
위치 : /usr/share/grafana/public/img 아래에 이미지 넣으시고 , (sudo mv xxx.jpg /usr/share/grafana/public/img)
html 포맷으로 바꾼후
<img src="img/your_img.png" alt="error" /> or
<img src="public/img/your_img.png" alt="error" />
7. 끝으로
시작이 반이라는 말처럼 설치후에 InfluxDB 와 Grafana 에 대한 풍부한 기능들을 조금씩 배워 나가면 자신의 도메인 데이타에 적합한 데이터 가시화 환경을 만들수 있으리라 봅니다.
그라파나 업데이트 (2.6 -> 4.6.2)
전 아래처럼 해서 상관없었으나, 책임 못지니 문서를 확인하세요. 상황에 따른 업그레이드 방법이 있습니다.
* 업그레이드 시에는 항상 /var/lib/grafana/grafana.db 에 저장되는 sqllite3 디비를 항상 백업해 둡니다.
sudo service grafana-server stop
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.2_amd64.deb
sudo dpkg -i grafana_4.6.2_amd64.deb
sudo service grafana-server restart
'데이터 가시화 (d3.js , Plotly, Grafana, Kibana 등)' 카테고리의 다른 글
Matplotlib 예제들 (0) | 2017.03.21 |
---|---|
InfluxDB 와 Grafana 사용시 시간에 관하여 (0) | 2016.10.21 |
d3. js 를 이용한 챠트 라이브러리들 (C3.js / NVD3.js / Cubism.js) (0) | 2015.10.26 |
d3 Transitions 으로 작업하기 (번역) (0) | 2015.07.22 |
d3.js 실시간 스트리밍 그래프 예제&설명 (0) | 2015.07.20 |