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