운영체제는 ubuntu 20.04 버전입니다.
먼저 오픈소스 버전에 influxDB를 설치할 수 있는 링크입니다.
[참조 문서]
https://docs.influxdata.com/influxdb/v1.8/introduction/install/
wget을 사용하여 설치법
## wget 이 설치되어 있지않다면
## sudo apt update && sudo apt install wget
## 위 명령어를 통해 wget을 설치하고 진행하시기 바랍니다.
wget -q https://repos.influxdata.com/influxdata-archive_compat.key
echo '393e8779c89ac8d958f81f942f9ad7fb82a25e133faddaf92e15b16e6ac9ce4c influxdata-archive_compat.key' | sha256sum -c && cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null
echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list
## 위에 명령어로 레포지토리 등록후에 InfluxDB를 설치 및 실행합니다.
sudo apt-get update && sudo apt-get install influxdb
sudo service influxdb start
설치가 마무리 되고 influxDB 서비스가 실행되었는지 확인해봅니다.
$ sudo service influxdb status
● influxdb.service - InfluxDB is an open-source, distributed, time series database
Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-07-28 04:16:10 UTC; 50min ago
Docs: https://docs.influxdata.com/influxdb/
Process: 2593 ExecStart=/usr/lib/influxdb/scripts/influxd-systemd-start.sh (code=exited, status=0/SUCCE>
Main PID: 2594 (influxd)
Tasks: 8 (limit: 4020)
Memory: 20.6M
CGroup: /system.slice/influxdb.service
└─2594 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
Jul 28 04:16:09 ubuntu-monitors influxd-systemd-start.sh[2594]: ts=2023-07-28T04:16:09.540339Z lvl=info msg>
Jul 28 04:16:09 ubuntu-monitors influxd-systemd-start.sh[2594]: ts=2023-07-28T04:16:09.540537Z lvl=info msg>
Jul 28 04:16:09 ubuntu-monitors influxd-systemd-start.sh[2594]: ts=2023-07-28T04:16:09.540729Z lvl=info msg>
[참조 문서]
https://docs.influxdata.com/influxdb/v1.8/introduction/get-started/
influxDB가 실행이 되고있다면
influx -precision rfc3339 를 통해 해당 influxDB에 접속합니다.
$ influx -precision rfc3339
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
>
위와 같은 명령줄이 나온다면
Influx Query Language을 사용할 수 있습니다.
해당 명령줄은 exit 나 Ctrl + D 를 통해 종료할 수 있습니다.
> SHOW DATABASES
name: databases
name
----
_internal
>
SHOW DATABASES 명령어를 통해서 해당 influxDB 서비스에 데이터베이스를 조회가 가능합니다.
하지만 지금은 데이터베이스를 생성하지 않았기 때문에 기본적으로 구성되어있는 _internal (시스템) 을 제외하고는 데이터베이스가 없습니다.
## CREATE DATABASE <db-name>.
## <db-name> 는 만들고자하는 데이터베이스의 이름입니다.
> CREATE DATABASE hyundb
> SHOW DATABASES
name: databases
name
----
_internal
hyundb
>
데이터베이스가 생성이 되었고 해당 데이터베이스를 사용하기 위해서는
USE hyundb 명령어를 통해서 사용하고자 하는 데이터베이스를 사용할 수 있습니다.
## USE <db-name> 을 통해 이제부터 모든 실행은 <db-name>에서 실행됩니다.
> USE hyundb
Using database hyundb
>
influxdb line에는 정해진 포인트 프로토콜들이 있고 해당 프로토콜에 대해서 설명하는 docs입니다.
다음 줄은 모두 InfluxDB에 쓸 수 있는 포인트의 예입니다.
cpu,host=serverA,region=us_west value=0.64
payment,device=mobile,product=Notepad,method=credit billed=33,licenses=3i 1434067467100293230
stock,symbol=AAPL bid=127.46,ask=127.48
temperature,machine=unit42,type=assembly external=25,internal=37 1434067467000000000
INSERT 문으로 실행되고있는 db에서 cpu라는 측정값에 host=서버이름 region=지역, value=값 으로 라인을 생성합니다.
SELECT "host", "region", "value" FROM "cpu" 명령어로 Insert로 입력했던 데이터를 조회합니다.
> INSERT cpu, host=testserver, region=kr_central, value=7.21
> SELECT "host", "region", "value" FROM "cpu"
name: cpu
time host region value
---- ---- ------ -----
2023-07-28T05:51:30.304567328Z serverA us_west 0.64