概要
Telegraf はプラグインベースのサーバーエージェントで、データベース、システム、IoT センサーからメトリクスやイベントを収集・送信します。300 以上の入力、出力、集約プラグインをサポートしており、外部依存関係のない静的バイナリとしてコンパイルされます。
README プレビュー
# Telegraf\n\n[](https://godoc.org/github.com/influxdata/telegraf)\n[](https://hub.docker.com/_/telegraf/)\n[](https://goreportcard.com/report/github.com/influxdata/telegraf)\n[](https://circleci.com/gh/influxdata/telegraf)\n\nTelegraf is an agent for collecting, processing, aggregating, and writing\nmetrics, logs, and other arbitrary data.\n\n* Offers a comprehensive suite of over 300 plugins, covering a wide range of\n functionalities including system monitoring, cloud services, and message\n passing\n* Enables the integration of user-defined code to collect, transform, and\n transmit data efficiently\n* Compiles into a standalone static binary without any external dependencies,\n ensuring a streamlined deployment process\n* Utilizes TOML for configuration, providing a user-friendly and unambiguous\n setup experience\n* Developed with contributions from a diverse community of over 1,200\n contributors\n\nUsers can choose plugins from a wide range of topics, including but not limited\nto:\n\n* Devices: [OPC UA][], [Modbus][]\n* Logs: [File][], [Tail][], [Directory Monitor][]\n* Messaging: [AMQP][], [Kafka][], [MQTT][]\n* Monitoring: [OpenTelemetry][], [Prometheus][]\n* Networking: [Cisco TelemetryMDT][], [gNMI][]\n* System monitoring: [CPU][], [Memory][], [Disk][], [Network][], [SMART][],\n [Docker][], [Nvidia SMI][], etc.\n* Universal: [Exec][], [HTTP][], [HTTP Listener][], [SNMP][], [SQL][]\n* Windows: [Event Log][], [Management Instrumentation][],\n [Performance Counters][]\n\n## 🔨 Installation\n\nFor binary builds, Docker images, RPM & DEB packages, and other builds of\nTelegraf, please see the [install guide](/docs/INSTALL_GUIDE.md).\n\nSee the [releases documentation](/docs/RELEASES.md) for details on versioning\nand when releases are made.\n\n## 💻 Usage\n\nUsers define a TOML configuration with the plugins and settings they wish to\nuse, then pass that configuration to Telegraf. The Telegraf agent then\ncollects data from inputs at each interval a
FAQ (5)
トラブル対応StatusBadNodeIDUnknown エラーによる Telegraf opcua_listener の永続的な切断を修正する方法
Telegraf v1.40.0以降にアップグレードしてください。このバグはgopcuaの再接続ステートマシンに存在します。自動再接続中にサブスクリプションの再作成に失敗した場合(例:監視対象のノードがサーバーのアドレス空間に存在しなくなったためにStatusBadNodeIDUnknown 0x80340000が発生した場合)、クライアントはアクティブなサブスクリプションがなく、publishループが停止したままConnected状態に留まるため、Telegrafは再試行を行わず、再起動されるまで切断されたままになります。この修正(gopcua/opcua#877)はgopcua v0.9.1で取り込まれ、Telegraf v1.40.0以降に同梱されています。アップグレードが可能になるまでの間、唯一の回避策は、切断が発生した際にTelegrafサービスを再起動することです(例:no subscriptions to resumeデバッグログに対するwatchdog/監視アラートを使用)。
トラブル対応1150以上のノードを監視する際にTelegraf OPC UAリスナーで発生する'EOF'エラーを修正する方法
これは既知のバグ(issue #14568)で、OPC UAリスナープラグインが、セキュアな接続で多くのノードが設定されている場合に過度に大きなリクエストを送信します。サーバーは 'BadTcpMessageTooLarge' でこれを拒否し、'EOF' エラーが発生します。回避策:ノードを約500個ずつのグループに分割し、複数の [[inputs.opcua_listener]] インスタンスまたは group ブロックに配置してください。恒久的なバッチ処理の修正が開発中です。
トラブル対応Telegraf nightly Dockerイメージに古いバージョンや stale なバージョンが表示される問題は、どうすれば修正できますか?
これは、nightly CI と S3 への公開が正常に完了した後、公開ディストリビューション/オリジンの古いアーティファクトが原因で発生したものであり、Docker ビルドの失敗ではありませんでした。InfluxData はこのディストリビューションの問題を解決しました。以下のコマンドでイメージを更新してください:
docker run --pull=always --rm quay.io/influxdb/telegraf-nightly:alpine --version
それでも古いイメージが使用される場合は、削除してから再度プルしてください:
docker image rm quay.io/influxdb/telegraf-nightly:alpine
docker pull quay.io/influxdb/telegraf-nightly:alpine
インシデント発生中、影響を受けたイメージは、期待される nightly コミット 511c852e ではなく Telegraf 1.39.0-f6fa1073 を報告していました。一時的な回避策として、最新の成功した CircleCI の nightly ジョブのアーティファクトを使用するか、必要なコミットから Telegraf をビルドしてください。
トラブル対応Telegrafのinputs.nftablesプラグインが大きなnftablesセットを読み取る際に非常に遅くなるのはなぜですか?
このプラグインは --terse を付けずに nft を実行していたため、すべての nftables セット内の全要素をダンプしていました。大規模なセットや競合状態にあるセットでは、これに数分から数時間かかる場合があります。inputs.nftables の --terse 修正が含まれるリリースに Telegraf をアップグレードしてください。これにより、include に "sets" が含まれていない場合、プラグインは --terse を渡すようになります。例:
[[inputs.nftables]]
include = ["tables", "chains"]
セットのメトリクスが必要な場合は、nft を 1.1.7 以降にアップグレードしてください。そのバージョンでは --terse でセットの要素数を返すことができるため、全要素のダンプを回避できます。nft --version で確認してください。古い Telegraf または nft のリリースでは、一時的な回避策として、セットの監視を避けるか、検査対象のセットのサイズを小さくしてください。
トラブル対応Telegrafのシステム稼働時間メトリクスがPrometheusでゲージタイプとして報告されるのはなぜですか?
Telegraf(未リリースの1.39.0)のバグにより、'uptime'メトリクスが誤ってgaugeとして登録されました。正しいタイプはcounterです。なぜならuptimeは増加のみするからです。この問題はリリース前に修正される予定です。影響を受ける開発ビルドでは、回避策としてPrometheusのmetric_relabel_configsやrelabelingルールを使用してメトリクスタイプをcounterとして上書きしてください。修正後は最新の安定版にアップグレードしてください。