MQTT and Google BigQuery Integration
Powerful performance with an easy integration, powered by Telegraf, the open source data connector built by InfluxData.
5B+
Telegraf downloads
#1
Time series database
Source: DB Engines
1B+
Downloads of InfluxDB
2,800+
Contributors
Table of Contents
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Input and output integration overview
The MQTT plugin reads from the specified topics and creates metrics using the supported input data formats.
The Google BigQuery plugin allows you to send metrics from Telegraf to Google Cloud BigQuery, a powerful data analysis tool.
Integration details
MQTT
This plugin allows Telegraf to consume metrics from specified MQTT topics. It supports a variety of configuration options to connect to MQTT brokers and manage message subscriptions, including features for handling startup errors and using TLS for secure connections.
Google BigQuery
This plugin writes to Google Cloud BigQuery and requires authentication with Google Cloud using either a service account or user credentials. It accesses APIs that are chargeable and might incur costs. The plugin requires the dataset to specify under which BigQuery dataset the corresponding metrics tables reside. Each metric should have a corresponding table in BigQuery, with specific schema requirements for timestamps, tags, and fields.
Configuration
MQTT
[[inputs.mqtt_consumer]]
servers = ["tcp://127.0.0.1:1883"]
topics = [
"telegraf/host01/cpu",
"telegraf/+/mem",
"sensors/#",
]
# topic_tag = "topic"
# qos = 0
# connection_timeout = "30s"
# keepalive = "60s"
# ping_timeout = "10s"
# max_undelivered_messages = 1000
# persistent_session = false
# client_id = ""
# username = "telegraf"
# password = "metricsmetricsmetricsmetrics"
# tls_ca = "/etc/telegraf/ca.pem"
# tls_cert = "/etc/telegraf/cert.pem"
# tls_key = "/etc/telegraf/key.pem"
# insecure_skip_verify = false
# client_trace = false
data_format = "influx"
# [[inputs.mqtt_consumer.topic_parsing]]
# topic = ""
# measurement = ""
# tags = ""
# fields = ""
# [inputs.mqtt_consumer.topic_parsing.types]
# key = type
Google BigQuery
# Configuration for Google Cloud BigQuery to send entries
[[outputs.bigquery]]
## Credentials File
credentials_file = "/path/to/service/account/key.json"
## Google Cloud Platform Project
# project = ""
## The namespace for the metric descriptor
dataset = "telegraf"
## Timeout for BigQuery operations.
# timeout = "5s"
## Character to replace hyphens on Metric name
# replace_hyphen_to = "_"
## Write all metrics in a single compact table
# compact_table = ""
Input and output integration examples
MQTT
-
Basic Configuration: This example connects to a local MQTT broker, subscribes to specific topics for CPU and memory metrics, and outputs using the Influx data format.
-
Topic Parsing: Extracts tag values from MQTT topics for better data organization and analysis, allowing metrics to be categorized based on their topics.
-
Field Pivoting: Demonstrates how to pivot single-valued metrics into a multi-field metric. This is useful for consolidating data from multiple sensors into a single metric.
Google BigQuery
- Centralized Metric Storage: Use the Google BigQuery Output Plugin to store all your metrics in one centralized location, making it easier to analyze patterns and trends over time.
- Cost Monitoring: If you’re running multiple services across Google Cloud, this plugin can help you monitor and analyze costs associated with different metrics by sending them to BigQuery for deeper insights and reporting.
- Real-Time Analytics: Combine this plugin with other Google Cloud services to enable real-time analytics on metric data, helping you make informed decisions quickly.
Feedback
Thank you for being part of our community! If you have any general feedback or found any bugs on these pages, we welcome and encourage your input. Please submit your feedback in the InfluxDB community Slack
Powerful Performance, Limitless Scale
Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.
See Ways to Get Started
Related Integrations
Related Integrations
HTTP and InfluxDB Integration
The HTTP plugin collects metrics from one or more HTTP(S) endpoints. It supports various authentication methods and configuration options for data formats.
View IntegrationKafka and InfluxDB Integration
This plugin reads messages from Kafka and allows the creation of metrics based on those messages. It supports various configurations including different Kafka settings and message processing options.
View IntegrationKinesis and InfluxDB Integration
The Kinesis plugin allows for reading metrics from AWS Kinesis streams. It supports multiple input data formats and offers checkpointing features with DynamoDB for reliable message processing.
View Integration