웹사이트 검색

Rocky Linux 9에 InfluxDB 및 Telegraf를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 저장소 설정
  3. InfluxDB 설치
  4. influxdb CLI 설치
  5. InfluxDB CLI를 통해 InfluxDB 구성\n
  6. TLS로 InfluxDB 보안
  7. Telegraf를 통한 데이터 수집\n
  8. 데이터 시각화 및 대시보드 생성\n
  9. 결론

InfluxDB는 Go로 작성된 오픈 소스 시계열 데이터베이스입니다. 시계열 데이터를 수집, 저장, 처리 및 시각화하기 위해 특별히 제작된 고성능 시계열 플랫폼입니다. InfluxDB는 시계열 데이터베이스용 솔루션으로, 실시간 애플리케이션 구축을 위한 강력한 API가 내장된 고성능 시계열 데이터 엔진을 제공합니다. InfluxDB는 운영 모니터링, 애플리케이션 및 서버 성능 지표, IoT 센서 데이터, 실시간 분석 등에 사용되는 플랫폼입니다.

이 튜토리얼에서는 influxdb 오픈 소스 시계열 데이터베이스와 Telegraf를 Rocky Linux 9 서버에 설치합니다. 또한 인증 및 TLS 인증서로 influxdb 배포를 보호하고, influxdb CLI를 설정하고, Telegraf 에이전트를 통해 메트릭을 수집합니다. 이 가이드의 끝에서 influxdb 대시보드를 통해 influxdb 시계열 데이터베이스를 만들고 시각화합니다.

전제 조건

먼저 이 자습서를 완료하려면 다음 요구 사항이 있어야 합니다.

  • Rocky Linux 9 서버.
  • sudo/root 관리자 권한이 있는 루트가 아닌 사용자.\n
  • 허용 모드가 있는 SELinux.\n

리포지토리 설정

InfluxDB는 Linux, Windows 및 macOS가 있는 가상 머신을 포함하는 여러 환경에 배포할 수 있는 오픈 소스 시계열 데이터베이스입니다. 또한 Docker 및 Kubernetes와 같은 컨테이너화된 환경도 있습니다.

Linux에 influxdb를 설치하려면 바이너리 패키지를 통해 수동으로 설치하거나 influxdb 리포지토리를 통해 설치할 수 있습니다. 이 단계에서는 공식 influxdb 저장소를 통해 influxdb를 설치합니다.

Rocky Linux 시스템에 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

그런 다음 시스템에서 사용 가능한 리포지토리 목록을 확인하십시오.

sudo dnf repolist

다음 스크린샷과 같은 출력이 표시됩니다. influxdb 저장소가 추가되었습니다.

InfluxDB 설치

influxdb 리포지토리가 추가되면 influxdb 패키지를 Rocky Linux 시스템에 설치하고 influxdb 서비스를 시작하고 활성화합니다.

아래의 dnf 명령을 실행하여 influxdb v2 패키지를 설치합니다. 이 글을 쓰는 시점에 최신 버전의 influxdb v2.5.1을 설치하게 됩니다.

sudo dnf install influxdb2

메시지가 표시되면 y를 입력하여 확인하고 ENTER를 눌러 계속 진행합니다.

또한 influxdb GPG 키를 입력하라는 메시지가 표시되면 y를 입력하여 확인하고 ENTER를 누릅니다.

influxdb가 설치된 후 아래 systemctl 명령을 실행하여 influxdb 서비스를 시작하고 활성화합니다.

sudo systemctl start influxdb
sudo systemctl enable influxdb

이제 influxdb 서비스가 실행되고 활성화되어 있어야 합니다. 그리고 부팅시 자동으로 시작됩니다.

아래 명령을 통해 influxdb 서비스를 확인합니다. 그러면 influxdb 서비스가 실행 중이고 활성화된 것을 볼 수 있습니다.

sudo systemctl status influxdb

기본적으로 influxdb 서비스는 TCP 포트 8085에서 실행됩니다. 이제 influxdb가 실행 중이므로 방화벽에 influxdb 포트를 추가해야 합니다.

아래의 firewall-cmd 명령을 실행하여 방화벽에 포트 8086을 추가합니다.

sudo firewall-cmd --add-port=8086/tcp --permanent

이제 방화벽을 다시 로드하여 새로운 변경 사항을 적용하십시오. 그런 다음 방화벽 상태를 확인하여 influxdb 포트가 방화벽에 추가되었는지 확인합니다.

sudo firewall-cmd --reload
sudo firewall-cmd --list-ports

다음과 같은 출력을 받게 됩니다. influxdb 포트 8089가 firewalld에 추가되었습니다.

influxdb가 설치되고 방화벽이 구성되면 다음으로 명령줄을 통해 influxdb를 관리하는 데 사용할 influxdb CLI를 설치하고 설정합니다.

influxdb CLI 설치

influxdb 시계열 데이터베이스가 설치된 후 influxdb2-cli 또는 influxdb 명령줄을 설치합니다. influxdb2-cli는 버킷, 조직, 사용자, 작업 등 관리와 같은 influxdb 관리를 관리할 수 있는 명령줄 유입을 제공합니다.

influxdb2-cli 패키지를 설치하려면 다음 dnf 명령을 실행하십시오.

sudo dnf install influxdb2-cli

확인 메시지가 표시되면 y를 입력하고 ENTER를 눌러 계속 진행합니다.

influxdb2-cli 설치 후 아래 명령어를 실행하여 inlfuxdb2-cli 바이너리 파일을 확인하고 influxdb-cli 버전을 확인한다.

which influx
influx version

이와 같은 출력이 화면에 인쇄됩니다. influxdb2-cli 바이너리 파일은 /bin/influx에서 사용할 수 있으며 시스템에 설치된 influxdb2-cli의 현재 버전은 v2.5.0입니다.

influxdb2-cli는 bash 및 zsh와 같은 여러 셸에 대한 명령 완성을 제공합니다. 대부분의 Linux 시스템은 bash 기본 셸을 사용합니다. 따라서 bash 셸에 대한 influxdb2-cli 명령 완성을 설정합니다.

아래 명령을 실행하여 influxdb2-cli 명령 완성을 /etc/bash_completion.d/influx.sh에 생성합니다. 그런 다음 chmod 명령을 통해 /etc/bash_completion.d/influx.sh 파일을 실행 가능하게 만드십시오.

sudo influx completion bash > /etc/bash_completion.d/influx.sh
sudo chmod +x /etc/bash_completion.d/influx.sh

이제 시스템에 influx 명령을 입력하고 TAB을 누르면 influx 명령에 사용 가능한 옵션이 표시됩니다.

sudo influx TAB

이 시점에서 Rocky Linux 시스템에 influxdb 시계열 데이터베이스와 influxdb2-cli를 설치했습니다. 그런 다음 influxdb2-cli를 통해 influxdb 설치를 설정합니다.

InfluxDB CLI를 통해 InfluxDB 구성

이 단계에서는 influxdb2-cli를 통해 influxdb 설치를 구성합니다. influxdb 관리자 사용자 및 비밀번호를 설정하고, 기본 버킷 또는 데이터베이스를 설정하고, influxdb에서 목록 사용자 및 인증을 확인합니다. 또한 influx 명령 및 사용자 토큰을 통해 influxdb 셸에 연결하는 방법과 웹 브라우저를 통해 influxdb 웹 관리 대시보드에 액세스하는 방법도 배웁니다.

먼저 다음 influx 명령을 실행하여 influxdb 배포 구성을 시작합니다.

sudo influx setup

이제 아래 influxdb 구성을 묻는 메시지가 표시됩니다.

  • 관리자 설정 - influxdb 서버의 새 사용자 이름을 입력합니다. 이 예에서는 alice를 influxdb의 관리 사용자로 사용합니다.\n
  • 관리자 암호 설정 - influxdb 배포를 위한 새 관리자 암호를 입력하고 암호를 반복합니다.\n
  • 조직 이름 정의 - 조직 이름을 입력합니다. 이 예에서 조직은 HW.IO입니다.
  • 생성할 기본 버킷 이름을 설정합니다. 기본 설치를 위한 버킷 이름을 입력합니다. 이 예에서 버킷 이름은 test-bucket입니다.
  • influxdb의 보존 기간을 설정합니다. 무한의 경우 0을 입력합니다.\n
  • 이제 예를 입력하여 influxdb 기본 구성을 확인합니다.\n

다음은 influx 명령을 통한 influxdb 구성 중 전체 출력입니다.

이제 influxdb admin 사용자가 생성되었으므로 다음 influx 명령을 통해 influxdb에서 사용자 및 인증 목록을 확인합니다.

sudo influx user list
sudo influx auth list

아래 출력은 influxdb 관리 사용자 alice가 생성되었음을 확인하고 인증 ID, 토큰 및 권한을 포함하는 사용자 alice에 대한 인증 세부 정보도 확인해야 합니다.

보시다시피 사용자 토큰은 설정 프로세스 중에 자동으로 생성됩니다. 그런 다음 influxdb 셸에 로그인하고 적절한 influxdb 구성이 있는지 확인하기 위해 토큰을 사용할 것입니다.

influxdb 셸에 로그인하기 전에 아래 명령을 실행하여 환경 변수 INFLUX_TOKEN을 생성합니다. 그리고 반드시 토큰으로 아래 명령에서 토큰을 변경하십시오.

export INFLUX_TOKEN=FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g==

이제 아래 influx 명령을 통해 influxdb 셸에 로그인합니다. 로그인한 후 Connected to InfluxDB OSS v2.5.1과 같은 메시지가 표시되어야 합니다.

sudo influx v1 shell $INFLUX_TOKEN

다음으로 다음 influx 쿼리를 실행하여 influxdb 서버에서 데이터베이스 또는 버킷의 세부 정보를 가져옵니다.

show DATABASES

그리고 influxdb 서버에서 사용할 수 있는 test-bucket 데이터베이스를 가져와야 합니다.

이제 q를 눌러 대화형 모드를 종료하고 exit를 입력하여 influxdb 셸에서 로그아웃할 수 있습니다.

다음으로 웹 브라우저에서 influxdb 관리에 액세스할 수도 있습니다.

웹 브라우저를 열고 influxdb 서버 IP 주소 다음에 포트 8086(예: http://192.168.5.100:8086)을 방문합니다. 이제 influxdb 로그인 페이지가 나타납니다.

influxdb 설정 과정에서 생성한 influxdb 사용자와 비밀번호를 입력하고 SIGN IN을 클릭합니다. 이 예에서 관리 사용자는 alice입니다.

로그인하면 이제 influxdb 웹 기반 관리 대시보드가 표시됩니다.

왼쪽 메뉴에서 "데이터 로드"를 클릭하고 "버킷" 탭을 선택합니다. 그리고 test-bacuket이 influxdb 서버에서 사용 가능한지 확인해야 합니다.

influxdb의 기본 구성이 완료되면 TLS 인증서를 통해 보안 연결을 활성화하여 influxdb에 보안 계층을 추가하기 시작합니다.

TLS로 InfluxDB 보안

influxdb 서버 기본 구성을 완료한 후 SSL/TLS 인증서를 통해 influxdb 배포를 보호합니다. 그런 다음 새 보안 influxdb 서버로 유입 기본 구성/프로필을 업데이트합니다.

시작하기 전에 SSL/TLS 인증서를 생성했는지 확인하십시오. 자체 서명된 SSL/TLS 인증서를 사용하거나 Letsencrypt와 같은 타사에서 생성된 SSL 인증서를 사용할 수 있습니다.

먼저 SSL/TLS 인증서 /etc/influxdb/ssl을 저장할 새 디렉터리를 만듭니다.

mkdir -p /etc/influxdb/ssl

이제 SSL/TLS 인증서를 /etc/influxdb/ssl 디렉터리에 복사하고 /etc/influxdb/ssl 디렉터리의 소유권을 사용자 influx로 변경합니다.

cp /etc/letsencrypt/live/influxdb.hwdomain.io/{fullchain.pem,privkey.pem} /etc/influxdb/ssl/
sudo chown -R influx: /etc/influxdb/ssl

SSL/TLS 인증서를 복사한 후 다음 nano 편집기 명령을 사용하여 influxdb 구성 파일 /etc/influxdb/config.toml을 엽니다.

sudo nano /etc/influxdb/config.toml

파일에 다음 줄을 추가합니다.

tls-cert = "/etc/influxdb/ssl/fullchain.pem"
tls-key = "/etc/influxdb/ssl/privkey.pem"

파일을 저장하고 완료되면 편집기를 종료하십시오.

다음으로 아래 systemctl 명령을 실행하여 influxdb 서비스를 다시 시작하고 새로운 변경 사항을 적용합니다.

sudo systemctl restart influxdb

TLS가 활성화된 상태에서 influxdb가 실행 중이므로 influx 명령줄을 통해 influxdb 서버를 쿼리하고 관리할 수 없습니다. 이를 해결하려면 시스템에서 기본 유입 프로필을 업데이트해야 합니다.

다음 명령을 실행하여 유입 환경에서 기본 구성/프로필을 업데이트합니다. 이 예에서는 보안 SSL/TLS가 활성화된 https://influxdb.hwdomain.io:8086으로 URL을 업데이트하고 INFLUX_TOKEN 환경 변수로 토큰을 업데이트합니다. HW.IO에 조직.

sudo influx config set -a -n default -u https://influxdb.hwdomain.io:8086 -t $INFLUX_TOKEN -o HW.IO

아래 명령을 사용하여 유입 구성/프로필 목록을 확인합니다. 이제 URL이 influxdb 서버에서 SSL/TLS가 활성화된 https://influxdb.hwdomain.io:8086으로 변경된 것을 볼 수 있습니다.

sudo influx config ls

마지막으로 아래 명령을 실행하여 새 업데이트 유입 구성/프로필이 작동하는지 확인합니다.

sudo influx user list
sudo influx auth list

유입 구성/프로필이 올바르게 업데이트되었다고 가정합니다. 이 경우 influxdb 서버에서 사용자 및 인증 목록을 가져와야 하며 보안 SSL/TLS 연결을 통해 influxdb 서버에 연결했습니다.

이 시점에서 Rocky Linux에서 influxdb 서버의 설치 및 구성을 완료하고 SSL/TLS 인증서를 통해 influxdb 배포를 보호했습니다. 다음으로 telegraf를 통해 데이터 및 지표 수집을 시작한 다음 대시보드를 생성하여 influxdb 시계열 데이터를 시각화합니다.

Telegraf를 통한 데이터 수집

Telegraf는 influxdata에서 만든 시계열 플랫폼의 일부입니다. IoT 센서, 데이터베이스 시스템, 시스템 원격 측정, DevOps 도구 및 프레임워크와 같은 여러 환경에서 메트릭 및 이벤트를 수집하고 전송하기 위한 오픈 소스 서버 기반 에이전트입니다. Telegraf는 단일 바이너리 파일로 컴파일되고 Go로 작성되므로 설치를 위한 외부 종속성이 필요하지 않습니다.

이 단계에서는 Rocky Linux 서버에 telegaf를 설치하고 메트릭을 influxdb 서버로 보내도록 구성합니다.

Telegraf는 influxdb 저장소에서 사용할 수 있습니다. telegaf를 설치하기 전에 influxdb 리포지토리가 시스템에 추가되었는지 확인하십시오.

이제 아래 dnf 명령을 실행하여 시스템에 telegraf를 설치하십시오. 확인 메시지가 표시되면 y를 입력하고 ENTER를 눌러 계속 진행합니다.

sudo dnf install telegraf

telegraf가 설치된 후 아래의 systemctl 명령을 통해 telegraf 서비스를 시작하고 활성화합니다.

sudo systemctl start telegraf
sudo systemctl enable telegraf

다음으로 아래 명령을 실행하여 telegraf 서비스를 확인하고 서비스가 실행 중이고 활성화되어 있는지 확인합니다.

sudo systemctl is-enabled telegraf
sudo systemctl status telegraf

아래 출력은 telegraf 서비스가 활성화되어 있고 부팅 시 자동으로 실행됨을 확인합니다. 그리고 현재 텔레그래프 서비스가 실행되고 있는 상태입니다.

이제 telegraf가 실행 중이므로 influxdb 서버를 telegraf 구성에 추가합니다.

아래의 nano 편집기 명령을 사용하여 telegraf 구성 /etc/telegraf/telegraf.conf를 엽니다.

sudo nano /etc/telegraf/telegraf.conf

[[outputs.influxdb_v2]] 섹션에서 influxdb 서버 세부 정보와 함께 URL, 토큰, 조직 및 버킷 이름을 추가합니다.

 [[outputs.influxdb_v2]]
#   ## The URLs of the influxdb cluster nodes.
.........
#   ###   ##   ex: urls = ["https://us-west-2-1.aws.cloud2.influxdata.com"]
   urls = ["https://influxdb.hwdomain.io:8086"]
#
#   ## Token for authentication.
   token = "FlIq521ZVxEA40Iz7rVVKK25sDmuEWUHm_Mbly-4mYxt-rWrYOOytVnmE5yL5bpNB_gNHBWlYXKDED9PEbk-0g=="
#
#   ## Organization is the name of the organization you wish to write to.
   organization = "HW.IO"
#
#   ## Destination bucket to write into.
   bucket = "test-bucket"

파일을 저장하고 완료되면 편집기를 종료하십시오.

다음으로 아래 systemctl 명령을 실행하여 telegraf 서비스를 다시 시작하고 새 변경 사항을 적용합니다. 이제 telegraf 서비스는 시스템의 메트릭을 수집하고 수집된 메트릭을 influxdb 서버로 보냅니다.

sudo systemcl restart telegraf

이제 influxdb 웹 관리 대시보드 및 influxdb 셸을 통해 telegraf 및 influxdb 설치를 확인할 수 있습니다.

influxdb 웹 관리 대시보드에서 telegraf 메트릭 확인 - Data Explorer 메뉴를 클릭하고 test-bucket을 선택합니다. 이제 cpu, 디스크, diskio, 커널, 메모리, 스왑 및 시스템을 포함하는 telegraf에서 수집한 시스템 원격 측정을 가져와야 합니다.

influxdb 셸을 통해 telegraf 메트릭 확인 - 아래 influx 명령을 통해 influxdb 셸에 연결합니다.

sudo influx v1 shell

그런 다음 아래 쿼리를 실행하여 테스트 버킷으로 전환하고 여기에서 사용 가능한 측정값을 표시합니다.

use test-bucket
SHOW MEASUREMENTS

아래 출력은 telegraf 서비스에서 수집한 지표를 influxdb 서버에서 사용할 수 있음을 확인합니다.

telegraf 설치 및 구성이 완료되면 influxdb 서버에서 메트릭을 사용할 수 있습니다. 이제 새 대시보드를 설정하고 telegraf 및 influxdb를 통해 서버 모니터링을 시작할 수 있습니다.

데이터 시각화 및 대시보드 생성

이 단계에서는 influxdb 서버 및 telegraf를 통해 시스템 원격 분석을 모니터링하기 위한 새 대시보드를 생성합니다. influxdb 대시보드를 만들고, 시스템 모니터링을 위한 셀을 만들고, telegraf 서비스에서 수집한 메트릭을 시각화합니다.

시작하려면 대시보드 메뉴를 선택하고 대시보드 생성을 클릭하십시오.

대시보드 이름을 입력하고 ADD CELL을 클릭합니다. 이 예에서는 대시보드 테스트 대시보드를 생성합니다.

이제 시스템 모니터링을 위해 새 셀을 추가할 수 있습니다. 다음은 telegraf를 통한 시스템 모니터링에 대한 몇 가지 그래프 예입니다.

다음은 사용 가능한 메모리 및 메모리 사용량에 대한 그래프 설정입니다.

아래는 공정 모니터링을 위한 그래프 설정입니다.

아래는 시스템 부하에 대한 그래프입니다.

간단한 가동 시간 그래프 아래.

아래는 활성 사용자에 대한 그래프입니다.

마지막으로 아래는 시스템에서 사용 가능한 CPU에 대한 그래프입니다.

influxdb 서버 및 telegraf를 통해 시스템 모니터링을 성공적으로 설정했습니다. influxdb 대시보드를 설정하고 telegraf에서 지표를 시각화하기 위한 셀을 설정하는 방법을 배웠습니다.

결론

이 가이드에서는 influxdb 시계열 데이터베이스와 influxdb2-cli를 Rocky Linux 9 서버에 설치했습니다. 또한 SSL/TLS 인증서를 통해 influxdb 배포를 보호하고 influx 명령줄을 통해 influxdb 서버를 구성했습니다.

그 외에도 보안 SSL/TLS 연결을 통해 메트릭을 수집하고 influxdb 서버로 전송하도록 telegraf를 설치 및 구성했습니다. 마지막으로 influxdb 서버와 telegraf를 통해 시스템 모니터링을 위한 대시보드를 만들었습니다.

이제 여기에서 시스템 및 애플리케이션을 시각화하고 모니터링을 위한 대시보드를 설정할 수 있습니다. 또한 influxdb 작업을 설정하고 알림 시스템을 설정하는 등의 작업을 수행할 수 있습니다.