目录
输入和输出集成概述
Telegraf 的 Hashicorp Vault 插件允许从 Hashicorp Vault 服务收集指标,从而促进监控和操作洞察。
Telegraf 的 SQL 输出插件通过为每种指标类型动态创建表,将指标存储在 SQL 数据库中。当配置为 SQLite 时,它使用基于文件的 DSN 和为轻量级嵌入式数据库使用量身定制的最小 SQL 架构。
集成详情
Hashicorp Vault
Hashicorp Vault 插件旨在从集群内运行的 Vault 代理收集指标。它使 Telegraf(一种用于收集和报告指标的代理)能够与 Vault 服务接口,Vault 服务通常在本地地址(例如 http://127.0.0.1:8200
)上侦听。此插件需要有效的授权令牌,以确保对 Vault API 的安全访问。用户必须直接配置令牌或提供令牌文件路径,从而提高身份验证方法的灵活性。超时和可选 TLS 设置的正确配置进一步关系到指标收集过程的安全性和响应性。由于 Vault 是管理密钥和保护敏感数据的关键工具,因此通过此插件监控其性能和运行状况对于维护操作安全性和效率至关重要。
SQLite
SQL 输出插件使用动态架构将 Telegraf 指标写入 SQL 数据库,其中每种指标类型对应一个表。对于 SQLite,该插件使用 modernc.org/sqlite 驱动程序,并且需要采用文件 URI 格式的 DSN(例如,‘file:/path/to/telegraf.db?cache=shared’)。此配置利用标准 ANSI SQL 进行表创建和数据插入,从而确保与 SQLite 的功能兼容。
配置
Hashicorp Vault
[[inputs.vault]]
## URL for the Vault agent
# url = "http://127.0.0.1:8200"
## Use Vault token for authorization.
## Vault token configuration is mandatory.
## If both are empty or both are set, an error is thrown.
# token_file = "/path/to/auth/token"
## OR
token = "s.CDDrgg5zPv5ssI0Z2P4qxJj2"
## Set response_timeout (default 5 seconds)
# response_timeout = "5s"
## Optional TLS Config
# tls_ca = /path/to/cafile
# tls_cert = /path/to/certfile
# tls_key = /path/to/keyfile
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"
输入和输出集成示例
Hashicorp Vault
-
集中式密钥管理监控:利用 Vault 插件监控分布式系统中的多个 Vault 实例,从而实现密钥访问模式和系统运行状况的统一视图。此设置可以帮助 DevOps 团队快速识别密钥访问中的任何异常,从而为不同环境中的安全态势提供重要的见解。
-
审计日志集成:配置此插件以将监控指标馈送到审计日志记录系统,使组织能够全面了解其 Vault 交互。通过将审计日志与指标相关联,团队可以更有效地调查问题、优化性能并确保符合安全策略。
-
部署期间的性能基准测试:在与 Vault 交互的应用程序部署期间,使用该插件监控这些部署对 Vault 性能的影响。这使工程团队能够了解更改如何影响密钥管理工作流程,并主动解决性能瓶颈,从而确保部署过程顺利进行。
-
阈值超出警报:将此插件与警报机制集成,以便在指标超出预定义阈值时通知管理员。这种主动监控可以帮助团队快速响应潜在问题,通过允许团队在任何严重事件发生之前采取措施来维护系统可靠性和正常运行时间。
SQLite
- 本地监控存储:配置插件以将指标写入本地 SQLite 数据库文件。这非常适合不需要设置全规模数据库服务器的轻量级部署。
- 嵌入式应用程序:将 SQLite 用作嵌入在边缘设备中的应用程序的后端,受益于其基于文件的架构和最低资源要求。
- 快速设置以进行测试:利用 SQLite 的易用性,快速设置 Telegraf 指标收集的测试环境,而无需外部数据库服务。
- 自定义模式管理:如果您需要特定的列类型或索引,请调整表创建模板以预定义您的模式,从而确保与您的应用程序需求兼容。
反馈
感谢您成为我们社区的一份子!如果您有任何一般反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。