Apache Aurora and SQLite Integration

Powerful performance with an easy integration, powered by Telegraf, the open source data connector built by InfluxData.

info

This is not the recommended configuration for real-time query at scale. For query and compression optimization, high-speed ingest, and high availability, you may want to consider Apache Aurora and InfluxDB.

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

This plugin gathers metrics from Apache Aurora schedulers, providing insights necessary for effective monitoring of Aurora clusters.

Telegraf’s SQL output plugin stores metrics in an SQL database by creating tables dynamically for each metric type. When configured for SQLite, it utilizes a file-based DSN and a minimal SQL schema tailored for lightweight, embedded database usage.

Integration details

Apache Aurora

The Aurora plugin is designed to gather metrics from Apache Aurora schedulers. This plugin connects to specified schedulers using their respective URLs and retrieves operational metrics that help in monitoring the health and performance of Aurora clusters. It primarily captures numeric data from the /vars endpoint, ensuring key metrics related to task execution and resource utilization are monitored. The plugin enhances operational insights by utilizing HTTP Basic Authentication for secure access. With optional TLS configuration, it further bolsters security when transmitting data. The plugin provides a robust way to interface with Apache Aurora, reflecting a focus on operational reliability and ongoing performance assessment across distributed systems.

SQLite

The SQL output plugin writes Telegraf metrics to an SQL database using a dynamic schema where each metric type corresponds to a table. For SQLite, the plugin uses the modernc.org/sqlite driver and requires a DSN in the format of a file URI (e.g., ‘file:/path/to/telegraf.db?cache=shared’). This configuration leverages standard ANSI SQL for table creation and data insertion, ensuring compatibility with SQLite’s capabilities.

Configuration

Apache Aurora

[[inputs.aurora]]
  ## Schedulers are the base addresses of your Aurora Schedulers
  schedulers = ["http://127.0.0.1:8081"]

  ## Set of role types to collect metrics from.
  ##
  ## The scheduler roles are checked each interval by contacting the
  ## scheduler nodes; zookeeper is not contacted.
  # roles = ["leader", "follower"]

  ## Timeout is the max time for total network operations.
  # timeout = "5s"

  ## Username and password are sent using HTTP Basic Auth.
  # username = "username"
  # password = "pa$$word"

  ## Optional TLS Config
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

SQLite

[[outputs.sql]]
  ## Database driver
  ## Valid options: mssql (Microsoft SQL Server), mysql (MySQL), pgx (Postgres),
  ## sqlite (SQLite3), snowflake (snowflake.com), clickhouse (ClickHouse)
  driver = "sqlite"

  ## Data source name
  ## For SQLite, the DSN is a filename or URL with the scheme "file:".
  ## Example: "file:/path/to/telegraf.db?cache=shared"
  data_source_name = "file:/path/to/telegraf.db?cache=shared"

  ## Timestamp column name
  timestamp_column = "timestamp"

  ## Table creation template
  ## Available template variables:
  ##  {TABLE}        - table name as a quoted identifier
  ##  {TABLELITERAL} - table name as a quoted string literal
  ##  {COLUMNS}      - column definitions (list of quoted identifiers and types)
  table_template = "CREATE TABLE {TABLE} ({COLUMNS})"

  ## Table existence check template
  ## Available template variables:
  ##  {TABLE} - table name as a quoted identifier
  table_exists_template = "SELECT 1 FROM {TABLE} LIMIT 1"

  ## Initialization SQL (optional)
  init_sql = ""

  ## Maximum amount of time a connection may be idle. "0s" means connections are never closed due to idle time.
  connection_max_idle_time = "0s"

  ## Maximum amount of time a connection may be reused. "0s" means connections are never closed due to age.
  connection_max_lifetime = "0s"

  ## Maximum number of connections in the idle connection pool. 0 means unlimited.
  connection_max_idle = 2

  ## Maximum number of open connections to the database. 0 means unlimited.
  connection_max_open = 0

  ## Metric type to SQL type conversion
  ## The values on the left are the data types Telegraf has and the values on the right are the SQL types used when writing to SQLite.
  #[outputs.sql.convert]
  #  integer       = "INT"
  #  real          = "DOUBLE"
  #  text          = "TEXT"
  #  timestamp     = "TIMESTAMP"
  #  defaultvalue  = "TEXT"
  #  unsigned      = "UNSIGNED"
  #  bool          = "BOOL"

Input and output integration examples

Apache Aurora

  1. Dynamic Resource Allocation Monitoring: Utilize the Aurora plugin to build a real-time dashboard displaying metrics related to resource allocation in your Aurora clusters. By aggregating data from multiple schedulers, you can visualize how resources are distributed among various roles (leader and follower), enabling proactive management of resource utilization and helping prevent bottlenecks in production workloads.

  2. Alerting on Scheduler Health: Implement alerting mechanisms where the Aurora plugin checks the health of schedulers periodically. If a scheduler role responds with a status that indicates a failure to communicate (non-200 status), alerts can be automatically generated and sent to the operations team via email or messaging apps, ensuring immediate attention to critical issues and maintaining availability in service management.

  3. Performance Benchmarking Over Time: By continuously collecting metrics such as job update events and execution times, this plugin can assist teams in benchmarking the performance of their Apache Aurora deployment over time. Relevant metrics can be logged into a time-series database, enabling historical analysis, trend identification, and understanding how changes in the system, such as configuration adjustments or workload changes, impact performance.

  4. Integration with CI/CD Pipelines: Integrate the metrics collected via the Aurora plugin with CI/CD pipeline tools to monitor how deployments affect runtime metrics in Aurora. Teams can thereby ensure that new releases do not adversely impact scheduler performance and can roll back changes seamlessly if any metric exceeds predefined thresholds after deployment.

SQLite

  1. Local Monitoring Storage: Configure the plugin to write metrics to a local SQLite database file. This is ideal for lightweight deployments where setting up a full-scale database server is not required.
  2. Embedded Applications: Use SQLite as the backend for applications embedded in edge devices, benefiting from its file-based architecture and minimal resource requirements.
  3. Quick Setup for Testing: Leverage SQLite’s ease of use to quickly set up a testing environment for Telegraf metrics collection without the need for external database services.
  4. Custom Schema Management: Adjust the table creation templates to predefine your schema if you require specific column types or indexes, ensuring compatibility with your application’s needs.

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

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 Integration

Kafka 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 Integration

Kinesis 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