본문 바로가기
개발관련 자료

인플럭스DB(InfluxDB) #9 - Linux CentOS 설치

by jinu957 2020. 6. 11.
728x90

 

이번 포스팅은 요즘 핫한 InfluxDB에 대하여 작성하도록 하겠습니다.

InfluxDB 역시 작년 기상청 프로젝트에서 전국에서 관측되는 데이터를 효과적으로 처리하기 위하여 검토되었고 그때 자료조사를 한 내용입니다.

 

순서는 

 

2020/06/11 - [개발관련 자료] - InfluxDB #1 - 개요 및 특징

2020/06/11 - [개발관련 자료] - InfluxDB #2 - 주요 개념

2020/06/11 - [개발관련 자료] - InfluxDB #3 - 용어 정리

2020/06/11 - [개발관련 자료] - InfluxDB #4 - SQL DB와 비교

2020/06/11 - [개발관련 자료] - InfluxDB #5 - Schema설계 및 데이터Layout

2020/06/11 - [분류 전체보기] - InfluxDB #6 - In-Memory Indexing과 TSM(Time-Structured Merge Tree)

2020/06/11 - [개발관련 자료] - InfluxDB #7 - TSI(Time Series Index) 개요

2020/06/11 - [개발관련 자료] - InfluxDB #8 - TSI(Time Series Index) 세부 정보

2020/06/11 - [개발관련 자료] - InfluxDB #9 - Linux CentOS 설치

2020/06/12 - [개발관련 자료] - InfluxDB #10 - 사용법

 

으로 진행되며 도입 검토 차원에서 이루어진 조사라서 실무적용 보다는 InfluxDB란 어떤 것인지 파악하는 정도로만 생각하시면 될듯합니다.

 


1. InfluxDB OSS 설치

 

  • CentOS 사용자는 yum패키지 관리자 사용하여 InfluxDB 최신 안정 버전을 설치할  있습니다.

  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

 

  • 저장소가 yum구성에 추가되면 다음을 실행하여 InfluxDB 서비스를 설치하고 시작하십시오.

  sudo yum install influxdb

  sudo service influxdb start

 

  • 또는 운영 체제가 systemd (CentOS 7+, RHEL 7+) 사용하는 경우

  sudo yum install influxdb

  sudo systemctl start influxdb

 

 

2. 데이터베이스 만들기

 

  • InfluxDB 로컬에 설치한 경우 influx 명령은 command line 통해 사용할  있어야 합니다.
  • Executing influx CLI 시작하고 자동으로 로컬 InfluxDB 인스턴스에 연결합니다. 출력은 다음과 같아야 합니다.

  $ influx -precision rfc3339

  Connected to http://localhost:8086 version 1.4.x

  InfluxDB shell 1.4.x

  >

 

  • InfluxDB API 기본적으로 8086포트에서 실행되고 localhost 기본입니다.
  • -precision 인수는 반환해야 타임스탬프의 형식/정밀도를 지정합니다.
  • 위의 예제에서 rfc3339 InfluxDB RFC3339 형식(YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ) 타임스탬프를 반환하도록 지시합니다.

 

 

3. InfluxDB에서 HTTPS 사용

 

  • InfluxDB에서 HTTPS 사용하려면 기존 또는 새로운 InfluxDB 인스턴스와 TLS (Transport Layer Security) 인증서(SSL) 필요합니다.

 

CA 인증서로 HTTPS 설정

  • 인증서 설치

      - 개인  파일 (.key) 서명된 인증서 파일 (.crt) 또는 번들로 제공된 단일 파일 (.pem) /etc/ssl디렉토리에 놓습니다.

 

  • 인증서 파일 사용 권한 설정

      - influxdb 실행하는 사용자는 TLS 인증서에 대한 읽기 권한이 있어야 합니다.

      - 다음 명령을 실행하여 인증서 파일에 대한 읽기  쓰기 권한을 influxdb 부여합니다.

  sudo chown influxdb:influxdb /etc/ssl/<CA-certificate-file>

  sudo chmod 644 /etc/ssl/<CA-certificate-file>

  sudo chmod 600 /etc/ssl/<private-key-file>

 

  • TLS 구성 설정 검토

      - 기본적으로 InfluxDB TLS ciphers, min-version Go 패키지 설명서max-version  상수 섹션에 crypto/tls 나열된 값을 지원하며 InfluxDB 작성하는  사용된 Go 버전에 따라 다릅니다.

      - 제한된 TLS 암호 그룹 ID  버전 목록을 지원하도록 InfluxDB 구성   있습니다.

 

  • InfluxDB 구성 파일에서 HTTPS 사용

      - HTTPS 기본적으로 사용되지 않습니다. 다음을 설정 [http]하여 구성 파일 (/etc/influxdb/influxdb.conf) 섹션에서 HTTPS 활성화합니다.

      - https-enabled true

      - https-certificate~/etc/ssl/<signed-certificate-file>.crt  (또는~ /etc/ssl/<bundled-certificate-file>.pem)

      - https-private-key~/etc/ssl/<private-key-file>.key  (또는 ~ /etc/ssl/<bundled-certificate-file>.pem)

  [http]

 

    [...]

 

    # Determines whether HTTPS is enabled.

    https-enabled = true

 

    [...]

 

    # The SSL certificate to use when HTTPS is enabled.

    https-certificate = "<bundled-certificate-file>.pem"

 

    # Use a separate private key location.

    https-private-key = "<bundled-certificate-file>.pem"

 

  • InfluxDB 서비스 다시 시작

      - InfluxDB 프로세스를 다시 시작하여 구성 변경 내용을 적용합니다.

  sudo systemctl restart influxdb

 

  • HTTPS 설정 확인

      - CLI 도구를 사용 하여 InfluxDB 연결하여 HTTPS 작동하는지 확인하십시오.

  influx -ssl -host <domain_name>.com

      - 성공적인 연결은 다음을 반환합니다.

  Connected to https://<domain_name>.com:8086 version 1.x.x

  InfluxDB shell version: 1.x.x

  >

 

자체 서명  인증서로 HTTPS 설정

 

  • 자체 서명  인증서 생성

      - 다음 명령은 개인  파일 (.key) 자체 서명 인증서 파일 (.crt) 생성합니다.

      - NUMBER_OF_DAYS.  파일을 InfluxDB 데이터베이스의 기본 인증서 파일 경로에 출력하고 필요한 권한을 부여합니다.

  sudo openssl req -x509 -nodes –newkey rsa:2048

  -keyout /etc/ssl/influxdb-selfsigned.key –out /etc/ssl/influxdb-selfsigned.crt

  -days <NUMBER_OF_DAYS>

      - 명령을 실행하면 자세한 정보를 묻는 메시지가 나타납니다. 해당 정보를 입력하거나 비워   있습니다.

      -  작업 모두 유효한 인증서 파일을 생성합니다.

      - 다음 명령을 실행하여 인증서에 대한 읽기  쓰기 권한을 influxdb 부여합니다.

  chown influxdb:influxdb /etc/ssl/influxdb-selfsigned.*

 

  • TLS 구성 설정 검토

      - 기본적으로 InfluxDB TLS ciphers, min-version Go 패키지 설명서 max-version 상수 섹션에 crypto/tls 나열된 값을 지원하며 InfluxDB 작성하는  사용된 Go버전에 따라 다릅니다.

      - 제한된 TLS 암호 그룹 ID  버전 목록을 지원하도록 InfluxDB 구성   있습니다.

 

  • 구성 파일에서 HTTPS 사용

      - HTTPS 기본적으로 사용되지 않습니다. 다음을 설정 [http]하여 구성 파일 (/etc/influxdb/influxdb.conf) 섹션에서 HTTPS 활성화합니다.

      - https-enabled true

      - https-certificate /etc/ssl/influxdb-selfsigned.crt

      - https-private-key /etc/ssl/influxdb-selfsigned.key

  [http]

 

    [...]

 

    # Determines whether HTTPS is enabled.

    https-enabled = true

 

    [...]

 

    # The TLS or SSL certificate to use when HTTPS is enabled.

    https-certificate = "/etc/ssl/influxdb-selfsigned.crt"

 

    # Use a separate private key location.

    https-private-key = "/etc/ssl/influxdb-selfsigned.key"

 

  • InfluxDB 다시 시작

      - InfluxDB 프로세스를 다시 시작하여 구성 변경 내용을 적용합니다.

  sudo systemctl restart influxdb

 

  • HTTPS 설정 확인

      - CLI 도구를 사용하여 InfluxDB 연결하여 HTTPS 작동하는지 확인하십시오.

  influx -ssl -unsafeSsl -host <domain_name>.com

      - 성공적인 연결은 다음을 반환합니다.

  Connected to https://<domain_name>.com:8086 version 1.x.x

  InfluxDB shell version: 1.x.x

  >

 

 

 

728x90

댓글