Telegraf-Integration mit Timestream für InfluxDB 3 - Amazon Timestream

Für ähnliche Funktionen wie Amazon Timestream für sollten Sie Amazon Timestream for LiveAnalytics InfluxDB in Betracht ziehen. Es bietet eine vereinfachte Datenaufnahme und Antwortzeiten im einstelligen Millisekundenbereich für Analysen in Echtzeit. Erfahren Sie hier mehr.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Telegraf-Integration mit Timestream für InfluxDB 3

Telegraf ist ein Plugin-basierter Datenerfassungsagent mit über 300 Eingabe-Plugins zum Sammeln von Metriken aus verschiedenen Quellen und Ausgabe-Plugins zum Schreiben von Daten an verschiedene Ziele. Aufgrund seiner "plug-and-play" Architektur eignet es sich ideal für die schnelle Erfassung und Berichterstattung von Metriken an InfluxDB 3.

Voraussetzungen

Telegraf-Konfigurationsoptionen

Telegraf bietet zwei Ausgabe-Plugins, die mit InfluxDB 3 kompatibel sind:

  1. outputs.influxdb_v2- Empfohlen für neue Bereitstellungen.

  2. outputs.influxdb(v1) — Für bestehende v1-Konfigurationen.

Wir empfehlen, dass Sie das outputs.influxdb_v2 Plugin verwenden, um eine Verbindung zur InfluxDB v2-Kompatibilitäts-API herzustellen:

[[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

Verwenden des Legacy-V1-Ausgabe-Plugins

Für bestehende Telegraf-Konfigurationen mit dem v1-Plugin:

[[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

Beispiel für eine grundlegende Telegraf-Konfiguration

Das Folgende ist ein vollständiges Beispiel, das Systemmetriken sammelt und in InfluxDB 3 schreibt:

# 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"

Bewährte Methoden für Telegraf mit InfluxDB 3

  • Sicherheit

    • Speichern Sie Token in Umgebungsvariablen oder geheimen Speichern.

    • Kodieren Sie niemals Tokens in Konfigurationsdateien fest.

    • Verwenden Sie HTTPS-Endpunkte für Produktionsbereitstellungen.

  • Optimierung der Leistung

    • Aktivieren Sie die Gzip-Komprimierung mit content_encoding = „gzip“.

    • Konfigurieren Sie die entsprechenden Batchgrößen (5000-10000 Metriken).

    • Legen Sie die Puffergrenzen auf der Grundlage des verfügbaren Speichers fest.

    • Verwenden Sie eine für Ihren Anwendungsfall angemessene Genauigkeit (Sekunden sind oft ausreichend).

  • Netzwerkkonfiguration

    • Führen Sie Telegraf für private Cluster innerhalb derselben VPC aus.

    • Konfigurieren Sie geeignete Timeouts für Ihre Netzwerklatenz.

    • Verwenden Sie den writer/reader Endpunkt für Schreibvorgänge.

  • Überwachung

    • Aktivieren Sie das interne Metrik-Plugin von Telegraf, um die Agentenleistung zu überwachen.

    • Überwachen Sie Schreibfehler und Wiederholungsversuche.

    • Richten Sie Warnmeldungen für Pufferüberlaufbedingungen ein.

  • Organisation der Daten

    • Verwenden Sie eine einheitliche Tag-Benennung für alle Eingabe-Plugins.

    • Nutzen Sie die Prozessor-Plugins von Telegraf, um Daten zu normalisieren.

    • Wenden Sie Tag-Filter an, um die Kardinalität zu kontrollieren.

Telegraf läuft

Gehen Sie wie folgt vor, um Telegraf mit Ihrer Konfiguration zu starten:

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

Allgemeine Telegraf-Plugins für Zeitreihendaten

Beliebte Eingabe-Plugins:

  • inputs.cpu,inputs.mem, inputs.disk - Systemmetriken.

  • inputs.docker, inputs.kubernetes - Container-Metriken.

  • inputs.prometheus- Prometheus-Endpunkte entfernen.

  • inputs.snmp- Überwachung von Netzwerkgeräten.

  • inputs.mqtt_consumer- IoT-Datenerfassung.

  • inputs.http_listener_v2- HTTP-Webhook-Empfänger.

Nützliche Prozessor-Plugins:

  • processors.regex- Transformiere tag/field Namen.

  • processors.converter- Ändern Sie die Felddatentypen.

  • processors.aggregator- Aggregieren Sie Metriken.

  • processors.filter- Filtern Sie Metriken auf der Grundlage von Bedingungen.

Durch die Nutzung des umfangreichen Plugin-Ökosystems von Telegraf mit InfluxDB 3 können Sie umfassende Überwachungslösungen entwickeln, die Daten aus verschiedenen Quellen sammeln und effizient in Ihre Zeitreihendatenbank schreiben.