2020년 9월 20일 일요일

InfluxDB [1] - 설치 및 실행

 

[ 개요 ]

InfluxDB는 쓰기쿼리를 빠르게 처리하도록 설계된 시계열 데이터베이스(TSDB)이다. 기존 RDBS와 다르게 시간을 기준으로 데이터를 입력하므로 금융데이터, 로그데이터 등 시간에 따른 데이터를 분석하기에 적합하다. InfluxDB와 함께 Telegraf(모니터링 및 수집), Grafana(시계열데이터 시각화) 등과 함께 사용된다.


[ 설치 ]

InfluxDB 1.8

- Red Hat & CentOS

cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
sudo yum install influxdb
sudo service influxdb start

- Ubuntu

wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start


[ 설정파일 ]

/etc/influxdb/influxdb.conf


[ 실행 ]

$ influx -precision rfc3339

InfluxDB는 기본적으로 포트 8086에서 실행된다. -precision옵션은 타임스탬프의 포맷을 지정한다. 위 예에서 rfc3339는 (YYYY-MM-DDH:MM:SS.nnnnnnnZ)형식의 타임스탬프를 반환하도록 하는 옵션이다.


[ 예제 ]

구성요소

  • Points : 시간값과 measurement, key-value tag와 field로 구성된 단위
  • Measurement : RDBS에서 Table과 같은 개념
  • Field : 인덱스되지 않은 column
  • Tags : 인덱스된 column

- DB생성

> CREATE DATABASE mydb

> SHOW DATABASES

> USE mydb


- 데이터쓰기

<measurement>[,<tag-key>=<tag-value>...] <field-key>=<field-value>[, <field2-key>=<field2-value>...] [unix-nano-timestamp]

> INSERT cpu,host=serverA,region=us_west value=0.64  //cpu measurement가 없다면 자동생성

> SHOW MEASUREMENTS  //cpu measurement가 검색됨


- 결과

> SELECT "host", "region", "value" FROM "cpu"

name: cpu

time                           host    region  value

----                           ----    ------  -----

2020-09-13T12:21:37.928191574Z serverA us_west 0.64

> SELECT * FROM /.*/ LIMIT1

> SELECT * FROM "cpu"

> SELECT * FROM "cpu" WHERE "value" > 0.5


Ref : https://docs.influxdata.com/influxdb/v1.8/introduction/get-started/

댓글 없음:

댓글 쓰기