Amazon Timestream for LiveAnalytics に類似した機能をご希望の場合は Amazon Timestream for InfluxDB をご検討ください。リアルタイム分析に適した、シンプルなデータインジェストと 1 桁ミリ秒のクエリ応答時間を特徴としています。詳細については、こちらを参照してください。
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Telegraf と Timestream for InfluxDB 3 の統合
Telegraf は、さまざまなソースからメトリクスを収集するための 300 を超える入力プラグインと、さまざまな宛先にデータを書き込むための出力プラグインを備えたプラグインベースのデータ収集エージェントです。「プラグアンドプレイ」アーキテクチャにより、InfluxDB 3 へのメトリクスの迅速な収集と報告に最適です。
要件
-
Telegraf 1.9.2 以降 – インストール手順については、Telegraf のインストールに関するドキュメント
を参照してください。 -
InfluxDB 3 クラスターエンドポイントと認証情報。
-
InfluxDB 3 クラスターへのネットワーク接続。
Telegraf 設定オプション
Telegraf には、InfluxDB 3 との互換性がある次の 2 つの出力プラグインが用意されています。
-
outputs.influxdb_v2– 新しいデプロイに推奨されます。 -
outputs.influxdb(v1) – 既存の v1 設定用です。
v2 出力プラグインの使用
outputs.influxdb_v2 プラグインを使用して InfluxDB v2 Compatibility 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 圧縮を有効にします。
-
適切なバッチサイズ (5000~10000 メトリクスを設定します)。
-
使用可能なメモリに基づいてバッファ制限を設定します。
-
ユースケースに適した精度を使用します (多くの場合、秒単位で十分です)。
-
-
ネットワーク構成
-
プライベートクラスターの場合は、同じ 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.cpu、inputs.mem、inputs.disk– システムメトリクス。 -
inputs.docker、inputs.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 の広範なプラグインエコシステムを活用すると、さまざまなソースからデータを収集し、時系列データベースに効率的に書き込む包括的なモニタリングソリューションを構築できます。