Telegraf 개요
Telegraf는 데이터베이스, 시스템 및 IoT 센서에서 메트릭 및 이벤트를 수집하고 전송하기 위한 플러그인 중심 서버 에이전트입니다. Telegraf는 Go로 작성되었으며 외부 종속성 없이 단일 바이너리로 컴파일되며 최소한의 메모리 공간만 필요합니다.
- 모든 종류의 데이터 수집 및 전송
- 데이터베이스 : MongoDB, MySQL, Redis 등의 데이터 소스에 연결하여 메트릭을 수집하고 보냅니다.
- 시스템 : 현대적인 클라우드 플랫폼, 컨테이너 및 오케스트레이터 스택에서 메트릭을 수집합니다.
- IoT 센서 : IoT 센서 및 장치에서 중요한 상태 저장 데이터(압력 수준, 온도 수준 등)를 수집합니다.
Telegraf 플러그인
- Telegraf 플러그인
- Telegraf는 메트릭을 수집, 처리, 집계 및 작성하는 플러그인 중심 에이전트입니다. 입력, 출력, 애그리게이터 및 프로세서를 포함한 4가지 범주의 플러그인을 지원합니다.
- 각 Configuration 파일에는 Input Plugin(입력 플러그인), Output Plugin(출력 플러그인)이 각 최소 한개 이상 활성화 되어 있어야 합니다.
- Input Plugin : https://docs.influxdata.com/telegraf/v1/plugins/#input-plugins입력 플러그인은 다양한 소스로부터 데이터를 수집합니다. Telegraf는 다양한 입력 소스를 지원하며, 일반적으로 시스템 메트릭, 서비스 메트릭, 데이터베이스 메트릭 등을 수집합니다.
- Output Plugin : https://docs.influxdata.com/telegraf/v1/plugins/#output-plugins
수집된 데이터를 다양한 저장소나 서비스로 전송합니다. Telegraf는 여러 데이터베이스, 스트리밍 플랫폼, 알림 서비스 등으로 데이터를 전송할 수 있습니다. - Processor Plugin : https://docs.influxdata.com/telegraf/v1/plugins/#processor-plugins
데이터를 출력하기 전에 필터링하거나 변환하는 데 사용됩니다. 데이터를 변경하거나 추가 처리를 할 수 있습니다. - Aggregator Plugin : https://docs.influxdata.com/telegraf/v1/plugins/#aggregator-plugins
데이터를 출력하기 전에 집계하거나 요약하는 데 사용됩니다. 특정 시간 동안의 데이터를 수집하고 하나의 값으로 요약합니다.
Telegraf 설정
telegraf는 설정 파일을 사용하여 활성화 할 플러그인과 telegraf 가 시작될 때 사용할 설정을 정의합니다.
telegraf config 생성
기본 telegraf 설정 파일은 telegraf에서 자동 생성될 수 있습니다.
/etc/telegraf
에 telegraf.conf 파일이 생성됩니다.
telegraf config > telegraf.conf
telegraf global tag
글로벌 태그는 [global_tags]
섹션에서 key="value"
형식으로 지정할 수 있습니다.
해당 설정을 통해 호스트에서 수집된 모든 측정 항목에 글로벌 태그를 적용할 수 있습니다.
[global_tags]
user = "yunha"
telegraf agent 설정
Telegraf의 설정 파일에서 agent 항목은 Telegraf 에이전트의 전반적인 동작을 제어합니다. 주요 설정 항목은 다음과 같습니다:
- interval: 데이터 수집 주기를 설정합니다. 기본값은 10s (10초)입니다.
- round_interval: true로 설정하면 수집 간격을 가장 가까운 정수로 반올림합니다.
- metric_batch_size: 한번에 전송할 메트릭의 수를 설정합니다. 기본값은 1000입니다.
- metric_buffer_limit: 버퍼에 저장할 수 있는 메트릭의 최대 수를 설정합니다. 기본값은 10000입니다.
- collection_jitter: 데이터 수집의 지터를 설정하여 부하를 분산합니다.
- flush_interval: 데이터 출력 주기를 설정합니다. 기본값은 10s입니다.
- flush_jitter: 데이터 출력의 지터를 설정하여 부하를 분산합니다.
- precision: 타임스탬프의 정밀도를 설정합니다.
- debug: true로 설정하면 디버그 로그를 활성화합니다.
- quiet: true로 설정하면 로그 출력을 최소화합니다.
- logfile: 로그 파일의 경로를 설정합니다.
이외에도 입력, 출력, 집계, 프로세서 설정 등 다양한 설정이 가능합니다. 자세한 내용은 telegraf 공식 문서를 참고하면 확인할 수 있습니다.
https://docs.influxdata.com/telegraf/v1/configuration/
Configuration options | Telegraf Documentation
Thank you for your feedback! Let us know what we can do better:
docs.influxdata.com
'Monitoring' 카테고리의 다른 글
Kapacitor 설치 방법 (0) | 2024.07.04 |
---|---|
telegraf 실행 옵션을 통한 다양한 실행 방법 (0) | 2024.07.03 |
Telegraf를 통한 다양한 데이터 수집 및 설정 방법 (0) | 2024.06.17 |
[Monitoring] Telegraf + InfluxDB 2.1 를 사용한 시스템 모니터링 (1) | 2022.01.12 |