Timestream for InfluxDB 3와 Telegraf 통합 - Amazon Timestream

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Timestream for InfluxDB 3와 Telegraf 통합

Telegraf는 다양한 소스에서 지표를 수집하기 위한 300개 이상의 입력 플러그인과 다양한 대상에 데이터를 쓰기 위한 출력 플러그인이 있는 플러그인 기반 데이터 수집 에이전트입니다. '플러그 앤 플레' 아키텍처는 지표를 신속하게 수집하고 InfluxDB 3에 보고하는 데 이상적입니다.

요구 사항

  • Telegraf 1.9.2 이상 - 설치 지침은 Telegraf 설치 설명서를 참조하세요.

  • InfluxDB 3 클러스터 엔드포인트 및 자격 증명

  • InfluxDB 3 클러스터에 대한 네트워크 연결

Telegraf 구성 옵션

Telegraf는 InfluxDB 3와 호환되는 2개의 출력 플러그인을 제공합니다.

  1. outputs.influxdb_v2 - 새 배포에 권장됩니다.

  2. outputs.influxdb(v1) - 기존 v1 구성용입니다.

outputs.influxdb_v2 플러그인을 사용하여 InfluxDB v2 호환성 API에 연결하는 것이 좋습니다.

[[outputs.influxdb_v2]] urls = ["https://your-cluster-endpoint:8086"] token = "${INFLUX_TOKEN}" # Use environment variable for security organization = "" # Can be left empty for InfluxDB 3 bucket = "DATABASE_NAME" ## Optional: Enable gzip compression content_encoding = "gzip" ## Optional: Increase timeout for high-latency networks timeout = "10s" ## Optional: Configure batching metric_batch_size = 5000 metric_buffer_limit = 50000

레거시 v1 출력 플러그인 사용

v1 플러그인을 사용하는 기존 Telegraf 구성의 경우

[[outputs.influxdb]] urls = ["https://your-cluster-endpoint:8086"] database = "DATABASE_NAME" skip_database_creation = true username = "ignored" # Required but ignored password = "${INFLUX_TOKEN}" # Use environment variable content_encoding = "gzip" ## Optional: Configure write parameters timeout = "10s" metric_batch_size = 5000 metric_buffer_limit = 50000

기본 Telegraf 구성 예제

다음은 시스템 지표를 수집하여 InfluxDB 3에 쓰는 전체 예제입니다.

# Global Agent Configuration [agent] interval = "10s" round_interval = true metric_batch_size = 5000 metric_buffer_limit = 50000 collection_jitter = "0s" flush_interval = "10s" flush_jitter = "0s" precision = "s" hostname = "" omit_hostname = false # Input Plugins - Collect system metrics [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"] [[inputs.mem]] [[inputs.net]] interfaces = ["eth*", "en*"] [[inputs.system]] # Output Plugin - Write to InfluxDB 3 [[outputs.influxdb_v2]] urls = ["https://your-cluster-endpoint:8086"] token = "${INFLUX_TOKEN}" organization = "" bucket = "telegraf_metrics" content_encoding = "gzip"

InfluxDB 3가 포함된 Telegraf 모범 사례

  • 보안.

    • 환경 변수 또는 시크릿 저장소에 토큰을 저장합니다.

    • 구성 파일에 토큰을 하드코딩하지 않습니다.

    • 프로덕션 배포에 HTTPS 엔드포인트를 사용합니다.

  • 성능 최적화

    • content_encoding = "gzip"을 사용하여 gzip 압축을 활성화합니다.

    • 적절한 배치 크기(지표 5,000~10,000개)를 구성합니다.

    • 사용 가능한 메모리를 기반으로 버퍼 한도를 설정합니다.

    • 사용 사례에 적합한 정밀도를 사용합니다(대개 몇 초면 충분함).

  • 네트워크 구성

    • 프라이빗 클러스터의 경우 동일한 VPC 내에서 Telegraf를 실행합니다.

    • 네트워크 지연 시간에 적합한 제한 시간을 구성합니다.

    • 쓰기 작업에 라이터/리더 엔드포인트를 사용합니다.

  • 모니터링

    • Telegraf의 내부 지표 플러그인을 활성화하여 에이전트 성능을 모니터링합니다.

    • 쓰기 오류 및 재시도를 모니터링합니다.

    • 버퍼 오버플로 조건에 대한 알림을 설정합니다.

  • 데이터 구성

    • 입력 플러그인에서 일관된 태그 이름 지정을 사용합니다.

    • Telegraf의 프로세서 플러그인을 활용하여 데이터를 정규화합니다.

    • 태그 필터링을 적용하여 카디널리티를 제어합니다.

Telegraf 실행

구성으로 Telegraf를 시작하려면 다음을 수행하세요.

# Test configuration telegraf --config telegraf.conf --test # Run Telegraf telegraf --config telegraf.conf # Run as a service (systemd) sudo systemctl start telegraf

시계열 데이터를 위한 일반 Telegraf 플러그인

인기 입력 플러그인:

  • inputs.cpuinputs.meminputs.disk - 시스템 지표입니다.

  • inputs.dockerinputs.kubernetes - 컨테이너 지표입니다.

  • inputs.prometheus - Prometheus 엔드포인트를 스크레이핑합니다.

  • inputs.snmp - 네트워크 디바이스 모니터링입니다.

  • inputs.mqtt_consumer - IoT 데이터 수집입니다.

  • inputs.http_listener_v2 - HTTP 웹후크 수신기입니다.

유용한 프로세서 플러그인:

  • processors.regex - 태그/필드 이름을 변환합니다.

  • processors.converter - 필드 데이터 유형을 변경합니다.

  • processors.aggregator - 집계 지표입니다.

  • processors.filter - 조건을 기준으로 지표를 필터링합니다.

InfluxDB 3와 함께 Telegraf의 광범위한 플러그인 에코시스템을 활용하여 다양한 소스에서 데이터를 수집하고 시계열 데이터베이스에 효율적으로 쓰는 포괄적인 모니터링 솔루션을 구축할 수 있습니다.