[시계열 데이터베이스] InfluxDB 2.7.11 설치 및 JMeter 연동 방법

2025. 1. 29. 16:50·개발 환경 | 도구/개발 도구 (IDE, 에디터 등)

1. InfluxDB 기본 설치 및 실행

1-1. 리눅스에서 직접 설치하는 방법 (내부망 제한 없음)

공식 패키지 저장소를 사용하여 InfluxDB를 설치할 수 있다.

wget -qO- https://repos.influxdata.com/influxdb.key | sudo tee /etc/apt/trusted.gpg.d/influxdb.asc

echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt update
sudo apt install influxdb2

설치 후 InfluxDB 서비스를 실행하고 자동 시작 설정을 활성화한다.

sudo systemctl start influxdb
sudo systemctl enable influxdb

이제 브라우저에서 다음 URL로 접속하여 InfluxDB UI를 확인할 수 있다.

http://<서버IP>:8086

1-2. 내부망에서 수동 설치하는 방법 (Windows에서 다운로드 후 리눅스로 전송)

내부망 제한으로 직접 다운로드가 어려운 경우, Windows에서 설치 파일을 다운로드한 후 리눅스 서버로 전송하는 방법을 사용할 수 있다.

curl -o influxdb2-2.7.11_linux_amd64.tar.gz https://dl.influxdata.com/influxdb/releases/influxdb2-2.7.11_linux_amd64.tar.gz

다운로드한 파일을 SCP나 SFTP 등을 이용해 리눅스 서버로 옮긴다.

1-2-1. 설치 파일 압축 해제 및 실행 파일 복사

tar xvzf influxdb2-2.7.11_linux_amd64.tar.gz
sudo cp ./influxdb2-2.7.11/usr/bin/influxd /usr/local/bin/
sudo cp ./influxdb2-2.7.11/usr/bin/influx /usr/local/bin/

1-2-2. 필수 디렉토리 생성

sudo mkdir -p /var/lib/influxdb2
sudo mkdir -p /etc/influxdb2

1-2-3. 방화벽 설정

sudo firewall-cmd --zone=public --add-port=8086/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=public --list-ports  # 설정 확인

1-2-4. InfluxDB 실행

influxd

브라우저에서 다음 URL로 접속하면 InfluxDB UI에 접속할 수 있다.

http://<서버IP>:8086
하지만, influxd를 직접 실행하면 계속 터미널에서 실행 상태로 유지되므로, 서비스 파일을 생성하여 systemd로 관리하는 것이 좋습니다.

2. InfluxDB 서비스 설정

InfluxDB를 systemd 서비스로 등록하여 자동 실행되도록 설정합니다.

2-1. systemd 서비스 파일 생성

다음 명령어를 실행하여 influxdb.service 파일을 생성합니다.

sudo tee /etc/systemd/system/influxdb.service << EOF
[Unit]
Description=InfluxDB 2.0 service
Documentation=https://v2.docs.influxdata.com/
After=network-online.target

[Service]
ExecStart=/usr/local/bin/influxd
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target
EOF

2-2. systemd 서비스 등록 및 실행

설정한 서비스를 systemd에 등록하고 실행합니다.

sudo systemctl daemon-reload
sudo systemctl start influxdb
sudo systemctl enable influxdb  # 부팅 시 자동 실행

2-3. 서비스 상태 확인 및 제어 명령어

InfluxDB 서비스 상태를 확인하거나 제어할 때는 다음 명령어를 사용합니다.

# 서비스 상태 확인
sudo systemctl status influxdb

# 서비스 시작
sudo systemctl start influxdb

# 서비스 중지
sudo systemctl stop influxdb

# 서비스 재시작
sudo systemctl restart influxdb

3. JMeter와 InfluxDB 연동

JMeter에서 부하 테스트 데이터를 InfluxDB에 저장하려면 먼저 InfluxDB에서 적절한 설정을 해야 합니다.

3-1. Bucket 생성

  1. InfluxDB 웹 UI에 접속 (http://<서버IP>:8086)
  2. BUCKETS 메뉴 선택
  3. CREATE BUCKET 버튼 클릭
  4. Bucket 이름을 jmeter로 설정하고 생성

3-2. API Key 생성

JMeter 또는 Grafana에서 InfluxDB에 데이터를 저장하거나 조회하려면 API Key가 필요합니다.

  1. InfluxDB 웹 UI에서 API Keys 메뉴 선택
  2. Generate API Token 클릭
  3. Read/Write 권한을 부여한 API Key 생성
  4. 생성된 API Key는 다시 확인할 수 없으므로 별도로 저장

3-3. JMeter 설정 (Backend Listener)

JMeter에서 InfluxDB로 데이터를 전송하려면 Backend Listener를 추가해야 합니다.

  1. JMeter 실행
  2. Test Plan → Thread Group 아래에 Backend Listener 추가
  3. Backend Listener Implementatio을 
    org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient로 설정
  4. 아래와 같이 Arguments 값 설정
influxdbMetricsSender=org.apache.jmeter.visualizers.backend.influxdb.HttpInfluxdbMetricsSender
influxdbUrl=http://<서버IP>:8086
application=jmeter_test
measurement=jmeter
influxdbToken=<API_KEY>
influxdbOrg=<Organization_Name>
influxdbBucket=jmeter

4. 참고 자료

  • JMeter + InfluxDB + Grafana 연동
  • JMeter Backend Listener 설정
  • InfluxDB 설치 및 사용법

'개발 환경 | 도구 > 개발 도구 (IDE, 에디터 등)' 카테고리의 다른 글

[모니터링 도구] Grafana 초기 설정 가이드  (0) 2025.01.29
[부하 테스트] Apache JMeter를 활용한 부하 테스트 가이드  (0) 2025.01.29
'개발 환경 | 도구/개발 도구 (IDE, 에디터 등)' 카테고리의 다른 글
  • [모니터링 도구] Grafana 초기 설정 가이드
  • [부하 테스트] Apache JMeter를 활용한 부하 테스트 가이드
알쓸신개
알쓸신개
  • 알쓸신개
    알아두면 쓸모있는 신기한 개발지식
    알쓸신개
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • 웹 기초 | 디자인 (2)
        • HTML (0)
        • CSS (0)
        • 반응형 (0)
        • 웹 지식 | 웹 표준 | 접근성 (2)
      • 프론트엔드 (6)
        • JavaScript (6)
        • DOM 조작 | AJAX (0)
        • TypeScript (0)
        • Vue.js | React | JSX (0)
        • Webpack | Vite | 웹 컴포넌트 (0)
      • 백엔드 (19)
        • PHP (5)
        • Laravel (9)
        • CodeIgniter (0)
        • JAVA (0)
        • Spring (0)
        • 디자인 패턴 (2)
        • 테스트 코드 작성 (1)
        • 보안 | 인증 (1)
      • 데이터베이스 (5)
        • SQL 기초 (1)
        • MariaDB | MySql (0)
        • 데이터베이스 설계 (1)
        • 쿼리 최적화(튜닝) (0)
      • 실무 | 성장 (9)
        • 프로젝트 사례 (2)
        • 트러블슈팅 | 개발팁 (7)
        • 커리어 관련 (0)
        • 코드 리뷰 | 스터디 (0)
        • 애자일 | 스크럼 | 작업 방법론 (0)
      • 개발 환경 | 도구 (26)
        • 버전관리 (Git) (3)
        • 개발 도구 (IDE, 에디터 등) (3)
        • 서버 | 인프라 | 배포 | 운영 (11)
        • Docker | 컨테이너 (0)
        • CI | CD (2)
        • 클라우드 환경 (AWS | GCP) (7)
      • 보안 (2)
        • 보안 | 인증 전반 (2)
        • CSRF | XSS 대응 (0)
        • SQL 인젝션 (0)
        • 암호화 | 해시 (0)
        • 보안 취약점 분석 (0)
      • AI & 머신러닝 (0)
        • AI 툴의 특성 (0)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
알쓸신개
[시계열 데이터베이스] InfluxDB 2.7.11 설치 및 JMeter 연동 방법
상단으로

티스토리툴바