InfluxDB Sink 커넥터

InfluxDB Sink 커넥터

InfluxDB sink 커넥터는 Pulsar 토픽에서 메시지를 가져와 InfluxDB에 저장하는 커넥터예요. Pulsar의 데이터를 시계열 데이터베이스인 InfluxDB에 써 넣을 때 사용해요.

참고: 모든 Pulsar 커넥터는 download page에서 내려받을 수 있어요.

출처: 문서

본문

InfluxDB sink는 InfluxDB v1과 v2에 대해 각각 다른 구성을 제공해요.

구성 (Configuration)

InfluxDB sink 커넥터의 구성에는 다음과 같은 프로퍼티가 있어요.

프로퍼티 (Property)

InfluxDBv2
이름 타입 필수 기본값 설명
influxdbUrl String true " " (빈 문자열) InfluxDB 인스턴스의 URL이에요.
token String true " " (빈 문자열) InfluxDB에 인증하는 데 사용하는 인증 토큰이에요.
organization String true " " (빈 문자열) 데이터를 쓸 InfluxDB organization이에요.
bucket String true " " (빈 문자열) 데이터를 쓸 InfluxDB bucket이에요.
precision String false ns InfluxDB에 데이터를 쓸 때의 타임스탬프 정밀도예요. 사용 가능한 옵션은 다음과 같아요.
ns, us, ms, s
logLevel String false NONE InfluxDB 요청과 응답에 대한 로그 레벨이에요. 사용 가능한 옵션은 다음과 같아요.
NONE, BASIC, HEADERS, FULL
gzipEnable boolean false false gzip을 활성화할지 여부예요.
batchTimeMs long false 1000L InfluxDB 작업 시간(밀리초)이에요.
batchSize int false 200 InfluxDB에 쓰는 배치 크기예요.
InfluxDBv1
이름 타입 필수 기본값 설명
influxdbUrl String true " " (빈 문자열) InfluxDB 인스턴스의 URL이에요.
username String false " " (빈 문자열) InfluxDB에 인증하는 데 사용하는 사용자 이름이에요.
password String false " " (빈 문자열) InfluxDB에 인증하는 데 사용하는 비밀번호예요.
database String true " " (빈 문자열) 메시지를 쓸 InfluxDB 데이터베이스예요.
consistencyLevel String false ONE InfluxDB에 데이터를 쓸 때의 일관성 레벨이에요. 사용 가능한 옵션은 다음과 같아요.
ALL, ANY, ONE, QUORUM
logLevel String false NONE InfluxDB 요청과 응답에 대한 로그 레벨이에요. 사용 가능한 옵션은 다음과 같아요.
NONE, BASIC, HEADERS, FULL
retentionPolicy String false autogen InfluxDB의 보존 정책(retention policy)이에요.
gzipEnable boolean false false gzip을 활성화할지 여부예요.
batchTimeMs long false 1000L InfluxDB 작업 시간(밀리초)이에요.
batchSize int false 200 InfluxDB에 쓰는 배치 크기예요.

예제 (Example)

InfluxDB sink 커넥터를 사용하기 전에 다음 방법 중 하나로 구성 파일을 만들어야 해요.

InfluxDBv2
  • JSON
{
   "configs": {
      "influxdbUrl": "http://localhost:9999",
      "organization": "example-org",
      "bucket": "example-bucket",
      "token": "xxxx",
      "precision": "ns",
      "logLevel": "NONE",
      "gzipEnable": false,
      "batchTimeMs": 1000,
      "batchSize": 100
   }
}
  • YAML
configs:
    influxdbUrl: "http://localhost:9999"
    organization: "example-org"
    bucket: "example-bucket"
    token: "xxxx"
    precision: "ns"
    logLevel: "NONE"
    gzipEnable: false
    batchTimeMs: 1000
    batchSize: 100
InfluxDBv1
  • JSON
{
   "configs": {
      "influxdbUrl": "http://localhost:8086",
      "database": "test_db",
      "consistencyLevel": "ONE",
      "logLevel": "NONE",
      "retentionPolicy": "autogen",
      "gzipEnable": false,
      "batchTimeMs": 1000,
      "batchSize": 100
   }
}
  • YAML
configs:
    influxdbUrl: "http://localhost:8086"
    database: "test_db"
    consistencyLevel: "ONE"
    logLevel: "NONE"
    retentionPolicy: "autogen"
    gzipEnable: false
    batchTimeMs: 1000
    batchSize: 100

더 알아보기 (Learn more)