目录
输入和输出集成概览
VMware vSphere Telegraf 插件提供了一种从 VMware vCenter 服务器收集指标的方法,从而可以全面监控和管理 vSphere 环境中的虚拟资源。
Telegraf SQL 插件允许您将 Telegraf 的指标直接存储到 MySQL 数据库中,从而更轻松地分析和可视化收集的指标。
集成详情
VMware vSphere
此插件连接到 VMware vSphere 服务器以收集来自虚拟环境的各种指标,从而实现虚拟资源的高效监控和管理。它与 vSphere API 接口以收集有关集群、主机、资源池、虚拟机、数据存储和 vSAN 实体统计信息,并以适合分析和可视化的格式呈现它们。该插件对于管理基于 VMware 的基础设施的管理员尤其有价值,因为它有助于实时跟踪系统性能、资源使用情况和操作问题。通过聚合来自多个来源的数据,该插件使用户能够获得洞察力,从而促进有关资源分配、故障排除和确保最佳系统性能的明智决策。此外,对密钥存储集成的支持允许安全处理敏感凭据,从而促进安全和合规性评估方面的最佳实践。
MySQL
Telegraf 的 SQL 输出插件旨在通过基于传入指标动态创建表和列,将指标数据无缝写入 SQL 数据库。当配置为 MySQL 时,该插件利用 go-sql-driver/mysql,这需要启用 ANSI_QUOTES SQL 模式以确保正确处理带引号的标识符。这种动态模式创建方法确保每个指标都存储在自己的表中,其结构从其字段和标签派生而来,从而提供系统性能的详细、带时间戳的记录。该插件的灵活性使其能够处理高吞吐量环境,使其成为需要强大、精细的指标日志记录和历史数据分析的场景的理想选择。
配置
VMware vSphere
[[inputs.vsphere]]
vcenters = [ "https://vcenter.local/sdk" ]
username = "[email protected]"
password = "secret"
vm_metric_include = [
"cpu.demand.average",
"cpu.idle.summation",
"cpu.latency.average",
"cpu.readiness.average",
"cpu.ready.summation",
"cpu.run.summation",
"cpu.usagemhz.average",
"cpu.used.summation",
"cpu.wait.summation",
"mem.active.average",
"mem.granted.average",
"mem.latency.average",
"mem.swapin.average",
"mem.swapinRate.average",
"mem.swapout.average",
"mem.swapoutRate.average",
"mem.usage.average",
"mem.vmmemctl.average",
"net.bytesRx.average",
"net.bytesTx.average",
"net.droppedRx.summation",
"net.droppedTx.summation",
"net.usage.average",
"power.power.average",
"virtualDisk.numberReadAveraged.average",
"virtualDisk.numberWriteAveraged.average",
"virtualDisk.read.average",
"virtualDisk.readOIO.latest",
"virtualDisk.throughput.usage.average",
"virtualDisk.totalReadLatency.average",
"virtualDisk.totalWriteLatency.average",
"virtualDisk.write.average",
"virtualDisk.writeOIO.latest",
"sys.uptime.latest",
]
host_metric_include = [
"cpu.coreUtilization.average",
"cpu.costop.summation",
"cpu.demand.average",
"cpu.idle.summation",
"cpu.latency.average",
"cpu.readiness.average",
"cpu.ready.summation",
"cpu.swapwait.summation",
"cpu.usage.average",
"cpu.usagemhz.average",
"cpu.used.summation",
"cpu.utilization.average",
"cpu.wait.summation",
"disk.deviceReadLatency.average",
"disk.deviceWriteLatency.average",
"disk.kernelReadLatency.average",
"disk.kernelWriteLatency.average",
"disk.numberReadAveraged.average",
"disk.numberWriteAveraged.average",
"disk.read.average",
"disk.totalReadLatency.average",
"disk.totalWriteLatency.average",
"disk.write.average",
"mem.active.average",
"mem.latency.average",
"mem.state.latest",
"mem.swapin.average",
"mem.swapinRate.average",
"mem.swapout.average",
"mem.swapoutRate.average",
"mem.totalCapacity.average",
"mem.usage.average",
"mem.vmmemctl.average",
"net.bytesRx.average",
"net.bytesTx.average",
"net.droppedRx.summation",
"net.droppedTx.summation",
"net.errorsRx.summation",
"net.errorsTx.summation",
"net.usage.average",
"power.power.average",
"storageAdapter.numberReadAveraged.average",
"storageAdapter.numberWriteAveraged.average",
"storageAdapter.read.average",
"storageAdapter.write.average",
"sys.uptime.latest",
]
datacenter_metric_include = [] ## if omitted or empty, all metrics are collected
datacenter_metric_exclude = [ "*" ] ## Datacenters are not collected by default.
vsan_metric_include = [] ## if omitted or empty, all metrics are collected
vsan_metric_exclude = [ "*" ] ## vSAN are not collected by default.
separator = "_"
max_query_objects = 256
max_query_metrics = 256
collect_concurrency = 1
discover_concurrency = 1
object_discovery_interval = "300s"
timeout = "60s"
use_int_samples = true
custom_attribute_include = []
custom_attribute_exclude = ["*"]
metric_lookback = 3
ssl_ca = "/path/to/cafile"
ssl_cert = "/path/to/certfile"
ssl_key = "/path/to/keyfile"
insecure_skip_verify = false
historical_interval = "5m"
disconnected_servers_behavior = "error"
use_system_proxy = true
http_proxy_url = ""
MySQL
[[outputs.sql]]
## Database driver
## Valid options: mssql (Microsoft SQL Server), mysql (MySQL), pgx (Postgres),
## sqlite (SQLite3), snowflake (snowflake.com) clickhouse (ClickHouse)
driver = "mysql"
## Data source name
## The format of the data source name is different for each database driver.
## See the plugin readme for details.
data_source_name = "username:password@tcp(host:port)/dbname"
## 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} - tablename as a quoted identifier
table_exists_template = "SELECT 1 FROM {TABLE} LIMIT 1"
## Initialization SQL
init_sql = "SET sql_mode='ANSI_QUOTES';"
## 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
## NOTE: Due to the way TOML is parsed, tables must be at the END of the
## plugin definition, otherwise additional config options are read as part of the
## table
## 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 data types Telegraf will use when sending to a database.
##
## The database values used must be data types the destination database
## understands. It is up to the user to ensure that the selected data type is
## available in the database they are using. Refer to your database
## documentation for what data types are available and supported.
#[outputs.sql.convert]
# integer = "INT"
# real = "DOUBLE"
# text = "TEXT"
# timestamp = "TIMESTAMP"
# defaultvalue = "TEXT"
# unsigned = "UNSIGNED"
# bool = "BOOL"
# ## This setting controls the behavior of the unsigned value. By default the
# ## setting will take the integer value and append the unsigned value to it. The other
# ## option is "literal", which will use the actual value the user provides to
# ## the unsigned option. This is useful for a database like ClickHouse where
# ## the unsigned value should use a value like "uint64".
# # conversion_style = "unsigned_suffix"
输入和输出集成示例
VMware vSphere
-
动态资源分配:利用此插件来监控虚拟机群的资源使用情况,并根据性能指标自动调整资源分配。此场景可能涉及根据从 vSphere API 收集的 CPU 和内存使用率指标实时触发扩展操作,从而确保最佳性能和成本效益。
-
容量规划和预测:利用从 vSphere 收集的历史指标进行容量规划。分析 CPU、内存和存储使用量的长期趋势有助于管理员预测何时需要额外资源,从而避免中断并确保虚拟基础设施能够应对增长。
-
自动化警报和事件响应:将此插件与警报工具集成,以根据收集的指标设置自动通知。例如,如果主机上的 CPU 使用率超过指定阈值,则可以触发警报并自动启动预定义的补救步骤,例如将虚拟机迁移到利用率较低的主机。
-
跨集群的性能基准测试:使用收集的指标来比较不同 vCenter 中集群的性能。此基准测试提供了关于哪些集群配置产生最佳资源效率的见解,并可以指导未来的基础设施增强。
MySQL
-
实时 Web 分析存储:利用该插件捕获网站性能指标并将它们存储在 MySQL 中。此设置使团队能够监控用户交互、分析流量模式并根据实时数据洞察动态调整站点功能。
-
物联网设备监控:利用该插件从物联网传感器网络收集指标并将它们记录到 MySQL 数据库中。此用例支持对设备运行状况和性能的持续监控,从而实现预测性维护和对异常的即时响应。
-
金融交易日志记录:记录具有精确时间戳的高频金融交易数据。此方法支持强大的审计跟踪、实时欺诈检测以及全面的历史分析,以用于合规性和报告目的。
-
应用程序性能基准测试:将该插件与应用程序性能监控系统集成,以将指标记录到 MySQL 中。这有助于随着时间的推移进行详细的基准测试和趋势分析,使组织能够有效地识别性能瓶颈并优化资源分配。
反馈
感谢您成为我们社区的一份子!如果您有任何一般性反馈或在这些页面上发现了任何错误,我们欢迎并鼓励您提出意见。请在 InfluxDB 社区 Slack 中提交您的反馈。