Amazon CloudWatch 和 SQLite 集成

强大的性能和简单的集成,由 Telegraf 提供支持,Telegraf 是 InfluxData 构建的开源数据连接器。

info

对于大规模实时查询,这不是推荐的配置。为了查询和压缩优化、高速摄取和高可用性,您可能需要考虑 Cloudwatch 和 InfluxDB

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

收集、组织和处理海量高速数据。当您将任何数据视为时序数据时,它会更有价值。InfluxDB 是排名第一的时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

输入和输出集成概述

此插件将从 Amazon CloudWatch 拉取指标统计信息,从而简化监控和分析 AWS 资源的过程。

Telegraf 的 SQL 输出插件通过为每种指标类型动态创建表,将指标存储在 SQL 数据库中。当配置为 SQLite 时,它使用基于文件的 DSN 和针对轻量级嵌入式数据库使用量身定制的最小 SQL 模式。

集成详情

Amazon CloudWatch

Amazon CloudWatch 插件允许用户从 Amazon 的 CloudWatch 服务中拉取详细的指标统计信息。作为一种监控解决方案,CloudWatch 使​​用户能够跟踪与 AWS 资源和应用程序相关的各种指标,从而改进运营和性能洞察。该插件使用结构化的身份验证方法,通过 STS(安全令牌服务)、共享凭证、环境变量和 EC2 实例配置文件相结合,优先考虑安全性和灵活性,确保对 AWS 资源的强大访问控制。主要功能包括定义特定指标命名空间、指标聚合周期以及可选包含链接帐户以进行跨帐户监控的能力。此插件的一个重要方面是它能够处理稀疏和密集指标格式,从而根据用户偏好允许不同的输出结构。因此,它通过直接从 CloudWatch 提供全面、及时的数据,支持云监控和分析中的各种用例。

SQLite

SQL 输出插件使用动态模式将 Telegraf 指标写入 SQL 数据库,其中每种指标类型对应一个表。对于 SQLite,该插件使用 modernc.org/sqlite 驱动程序,并且需要文件 URI 格式的 DSN(例如,“file:/path/to/telegraf.db?cache=shared”)。此配置利用标准 ANSI SQL 进行表创建和数据插入,确保与 SQLite 的功能兼容。

配置

Amazon CloudWatch

[[inputs.cloudwatch]]
  region = "us-east-1"
  # access_key = ""
  # secret_key = ""
  # token = ""
  # role_arn = ""
  # web_identity_token_file = ""
  # role_session_name = ""
  # profile = ""
  # shared_credential_file = ""
  # include_linked_accounts = false
  # endpoint_url = ""
  # use_system_proxy = false
  # http_proxy_url = "http://localhost:8888"
  period = "5m"
  delay = "5m"
  interval = "5m"
  #recently_active = "PT3H"
  # cache_ttl = "1h"
  namespaces = ["AWS/ELB"]
  # metric_format = "sparse"
  # ratelimit = 25
  # timeout = "5s"
  # batch_size = 500
  # statistic_include = ["average", "sum", "minimum", "maximum", sample_count]
  # statistic_exclude = []
  # [[inputs.cloudwatch.metrics]]
  #  names = ["Latency", "RequestCount"]
  #  [[inputs.cloudwatch.metrics.dimensions]]
  #    name = "LoadBalancerName"
  #    value = "p-example"

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"

输入和输出集成示例

Amazon CloudWatch

  1. 跨帐户监控:通过启用 include_linked_accounts 选项,利用此插件监控多个 AWS 帐户中的资源。这种情况允许管理多个 AWS 帐户的公司将指标聚合到中央监控仪表板中,从而提供所有指标的统一视图,同时通过适当的角色管理确保安全的数据访问和合规性。

  2. 动态警报系统:将此插件与警报工具集成,以创建一个自动化系统,该系统根据 CloudWatch 指标的定义的阈值触发警报。例如,如果延迟指标超过指定的限制,则可以将警报发送到相关团队,从而能够主动响应性能问题并减少停机时间。

  3. 成本管理仪表板:使用从插件收集的指标构建成本管理仪表板,该仪表板可视化 AWS 服务随时间的使用指标。通过将这些指标与计费数据相关联,组织可以识别高成本服务,并采取明智的措施来优化其资源使用和支出。

  4. 应用程序的性能基准测试:利用从 AWS 上运行的应用程序收集的指标来执行性能基准测试。例如,通过跟踪 ELB 的延迟和请求计数指标,开发人员可以评估应用程序更改对其性能的影响,从而为优化做出数据驱动的决策。

SQLite

  1. 本地监控存储:配置插件以将指标写入本地 SQLite 数据库文件。这非常适合不需要设置全规模数据库服务器的轻量级部署。
  2. 嵌入式应用程序:将 SQLite 用作嵌入式在边缘设备中的应用程序的后端,受益于其基于文件的架构和最少的资源需求。
  3. 快速设置以进行测试:利用 SQLite 的易用性,快速设置 Telegraf 指标收集的测试环境,而无需外部数据库服务。
  4. 自定义模式管理:如果您需要特定的列类型或索引,请调整表创建模板以预定义您的模式,从而确保与您的应用程序的需求兼容。

反馈

感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。

强大的性能,无限的扩展

收集、组织和处理海量高速数据。当您将任何数据视为时序数据时,它会更有价值。InfluxDB 是排名第一的时序平台,旨在与 Telegraf 一起扩展。

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

HTTP 插件从一个或多个 HTTP(S) 端点收集指标。它支持各种身份验证方法和数据格式的配置选项。

查看集成

Kafka 和 InfluxDB 集成

此插件从 Kafka 读取消息,并允许根据这些消息创建指标。它支持各种配置,包括不同的 Kafka 设置和消息处理选项。

查看集成

Kinesis 和 InfluxDB 集成

Kinesis 插件允许从 AWS Kinesis 流中读取指标。它支持多种输入数据格式,并提供带有 DynamoDB 的检查点功能,以实现可靠的消息处理。

查看集成