VMware vSphere 和 SQLite 集成

借助 Telegraf(InfluxData 构建的开源数据连接器),实现强大性能和轻松集成。

info

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

50 亿+

Telegraf 下载量

#1

时序数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大性能,无限扩展

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

查看入门方法

输入和输出集成概述

VMware vSphere Telegraf 插件提供了一种从 VMware vCenter 服务器收集指标的方法,从而可以对 vSphere 环境中的虚拟资源进行全面监控和管理。

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

集成详情

VMware vSphere

此插件连接到 VMware vSphere 服务器以收集来自虚拟环境的各种指标,从而实现对虚拟资源的高效监控和管理。它与 vSphere API 交互,收集关于集群、主机、资源池、虚拟机、数据存储和 vSAN 实体的信息,并以适合分析和可视化的格式呈现。该插件对于管理基于 VMware 的基础设施的管理员尤其有价值,因为它有助于实时跟踪系统性能、资源使用情况和操作问题。通过聚合来自多个来源的数据,该插件使用户能够获得洞察力,从而有助于就资源分配、故障排除和确保最佳系统性能做出明智的决策。此外,对 secret-store 集成的支持允许安全处理敏感凭据,从而促进安全和合规性评估方面的最佳实践。

SQLite

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

配置

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 = ""

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"

输入和输出集成示例

VMware vSphere

  1. 动态资源分配:使用此插件来监控 VM 集群的资源使用情况,并根据性能指标自动调整资源分配。此场景可能涉及根据从 vSphere API 收集的 CPU 和内存使用率指标实时触发扩展操作,从而确保最佳性能和成本效益。

  2. 容量规划和预测:利用从 vSphere 收集的历史指标进行容量规划。分析 CPU、内存和存储使用情况随时间变化的趋势,有助于管理员预测何时需要额外资源,从而避免中断并确保虚拟基础设施能够应对增长。

  3. 自动化警报和事件响应:将此插件与警报工具集成,以根据收集的指标设置自动通知。例如,如果主机上的 CPU 使用率超过指定阈值,则可能会触发警报并自动启动预定义的补救步骤,例如将 VM 迁移到利用率较低的主机。

  4. 跨集群性能基准测试:使用收集的指标来比较不同 vCenter 中集群的性能。此基准测试提供了关于哪些集群配置产生最佳资源效率的见解,并可以指导未来的基础设施增强。

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 的检查点功能,以实现可靠的消息处理。

查看集成