目录
输入和输出集成概述
此插件从关键的 OpenStack 服务收集指标,从而促进云基础设施的监控和管理。
Telegraf 的 SQL 输出插件通过为每种指标类型动态创建表,将指标存储在 SQL 数据库中。当配置为 SQLite 时,它利用基于文件的 DSN 和专为轻量级嵌入式数据库使用而定制的最小 SQL 模式。
集成详情
OpenStack
OpenStack 插件允许用户从各种 OpenStack 服务(如 CINDER、GLANCE、HEAT、KEYSTONE、NEUTRON 和 NOVA)收集性能指标。它支持多个 OpenStack API 来获取与这些服务相关的关键指标,从而实现对云资源的全面监控和管理。随着组织越来越多地采用 OpenStack 作为其云基础设施,此插件在提供有关整个云环境中资源使用情况、可用性和性能的见解方面发挥着至关重要的作用。配置选项允许自定义轮询间隔和过滤不需要的标签,以优化性能和基数。
SQLite
SQL 输出插件使用动态模式将 Telegraf 指标写入 SQL 数据库,其中每种指标类型对应于一个表。对于 SQLite,该插件使用 modernc.org/sqlite 驱动程序,并且需要采用文件 URI 格式 (例如,'file:/path/to/telegraf.db?cache=shared') 的 DSN。此配置利用标准 ANSI SQL 进行表创建和数据插入,从而确保与 SQLite 的功能兼容。
配置
OpenStack
[[inputs.openstack]]
## The recommended interval to poll is '30m'
## The identity endpoint to authenticate against and get the service catalog from.
authentication_endpoint = "https://my.openstack.cloud:5000"
## The domain to authenticate against when using a V3 identity endpoint.
# domain = "default"
## The project to authenticate as.
# project = "admin"
## User authentication credentials. Must have admin rights.
username = "admin"
password = "password"
## Available services are:
## "agents", "aggregates", "cinder_services", "flavors", "hypervisors",
## "networks", "nova_services", "ports", "projects", "servers",
## "serverdiagnostics", "services", "stacks", "storage_pools", "subnets",
## "volumes"
# enabled_services = ["services", "projects", "hypervisors", "flavors", "networks", "volumes"]
## Query all instances of all tenants for the volumes and server services
## NOTE: Usually this is only permitted for administrators!
# query_all_tenants = true
## output secrets (such as adminPass(for server) and UserID(for volume)).
# output_secrets = false
## Amount of time allowed to complete the HTTP(s) request.
# timeout = "5s"
## HTTP Proxy support
# http_proxy_url = ""
## Optional TLS Config
# tls_ca = /path/to/cafile
# tls_cert = /path/to/certfile
# tls_key = /path/to/keyfile
## Use TLS but skip chain & host verification
# insecure_skip_verify = false
## Options for tags received from Openstack
# tag_prefix = "openstack_tag_"
# tag_value = "true"
## Timestamp format for timestamp data received from Openstack.
## If false format is unix nanoseconds.
# human_readable_timestamps = false
## Measure Openstack call duration
# measure_openstack_requests = 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"
输入和输出集成示例
OpenStack
-
跨云管理:利用 OpenStack 插件从单个 Telegraf 实例监控和管理多个 OpenStack 云。通过聚合不同云中的指标,组织可以深入了解资源利用率并优化其云架构,以实现成本和性能的优化。
-
基于指标的自动扩展:将从 OpenStack 收集的指标集成到自动扩展解决方案中。例如,如果插件检测到特定服务的性能下降,它可以触发自动扩展规则以启动额外的实例,从而确保系统性能在不同的工作负载下保持最佳状态。
-
性能监控仪表板:使用 OpenStack Telegraf 插件收集的数据为实时监控仪表板提供支持。此设置提供了来自 OpenStack 服务的关键指标的可视化,使利益干系人能够快速识别趋势、查明问题,并在管理其云基础设施时做出数据驱动的决策。
-
服务可用性报告和分析:通过利用从各种 OpenStack 服务收集的指标,团队可以生成有关服务可用性和随时间变化的性能的详细报告。此信息可以帮助识别重复出现的问题,改进服务交付,并就基础设施或服务配置的更改做出明智的决策。
SQLite
- 本地监控存储:将插件配置为将指标写入本地 SQLite 数据库文件。这非常适合不需要设置全规模数据库服务器的轻量级部署。
- 嵌入式应用程序:将 SQLite 用作嵌入在边缘设备中的应用程序的后端,受益于其基于文件的架构和最低的资源要求。
- 快速设置以进行测试:利用 SQLite 的易用性快速设置 Telegraf 指标收集的测试环境,而无需外部数据库服务。
- 自定义模式管理:如果您需要特定的列类型或索引,请调整表创建模板以预定义您的模式,从而确保与您的应用程序需求兼容。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。