VMware vSphere 和 OpenSearch 集成

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

info

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

50 亿+

Telegraf 下载量

#1

时间序列数据库
来源:DB Engines

10 亿+

InfluxDB 下载量

2,800+

贡献者

目录

强大的性能,无限的扩展

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

查看入门方法

输入和输出集成概述

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

OpenSearch 输出插件允许用户使用 HTTP 将指标直接发送到 OpenSearch 实例,从而促进 OpenSearch 生态系统内有效的数据管理和分析。

集成详情

VMware vSphere

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

OpenSearch

OpenSearch Telegraf 插件通过 HTTP 与 OpenSearch 数据库集成,从而可以简化指标的收集和存储。作为一个专为 OpenSearch 2.x 版本设计的强大工具,该插件在提供强大功能的同时,通过原始的 Elasticsearch 插件提供与 1.x 版本的兼容性。此插件有助于在 OpenSearch 中创建和管理索引,自动管理模板并确保数据结构化高效以进行分析。该插件支持各种配置选项,例如索引名称、身份验证、健康检查和值处理,使其可以根据不同的操作要求进行定制。其功能使其对于希望利用 OpenSearch 的强大功能进行指标存储和查询的组织至关重要。

配置

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

OpenSearch

[[outputs.opensearch]]
  ## URLs
  ## The full HTTP endpoint URL for your OpenSearch instance. Multiple URLs can
  ## be specified as part of the same cluster, but only one URLs is used to
  ## write during each interval.
  urls = ["http://node1.os.example.com:9200"]

  ## Index Name
  ## Target index name for metrics (OpenSearch will create if it not exists).
  ## This is a Golang template (see https://pkg.go.dev/text/template)
  ## You can also specify
  ## metric name (`{{.Name}}`), tag value (`{{.Tag "tag_name"}}`), field value (`{{.Field "field_name"}}`)
  ## If the tag does not exist, the default tag value will be empty string "".
  ## the timestamp (`{{.Time.Format "xxxxxxxxx"}}`).
  ## For example: "telegraf-{{.Time.Format \"2006-01-02\"}}-{{.Tag \"host\"}}" would set it to telegraf-2023-07-27-HostName
  index_name = ""

  ## Timeout
  ## OpenSearch client timeout
  # timeout = "5s"

  ## Sniffer
  ## Set to true to ask OpenSearch a list of all cluster nodes,
  ## thus it is not necessary to list all nodes in the urls config option
  # enable_sniffer = false

  ## GZIP Compression
  ## Set to true to enable gzip compression
  # enable_gzip = false

  ## Health Check Interval
  ## Set the interval to check if the OpenSearch nodes are available
  ## Setting to "0s" will disable the health check (not recommended in production)
  # health_check_interval = "10s"

  ## Set the timeout for periodic health checks.
  # health_check_timeout = "1s"
  ## HTTP basic authentication details.
  # username = ""
  # password = ""
  ## HTTP bearer token authentication details
  # auth_bearer_token = ""

  ## Optional TLS Config
  ## Set to true/false to enforce TLS being enabled/disabled. If not set,
  ## enable TLS only if any of the other options are specified.
  # tls_enable =
  ## Trusted root certificates for server
  # tls_ca = "/path/to/cafile"
  ## Used for TLS client certificate authentication
  # tls_cert = "/path/to/certfile"
  ## Used for TLS client certificate authentication
  # tls_key = "/path/to/keyfile"
  ## Send the specified TLS server name via SNI
  # tls_server_name = "kubernetes.example.com"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## Template Config
  ## Manage templates
  ## Set to true if you want telegraf to manage its index template.
  ## If enabled it will create a recommended index template for telegraf indexes
  # manage_template = true

  ## Template Name
  ## The template name used for telegraf indexes
  # template_name = "telegraf"

  ## Overwrite Templates
  ## Set to true if you want telegraf to overwrite an existing template
  # overwrite_template = false

  ## Document ID
  ## If set to true a unique ID hash will be sent as
  ## sha256(concat(timestamp,measurement,series-hash)) string. It will enable
  ## data resend and update metric points avoiding duplicated metrics with
  ## different id's
  # force_document_id = false

  ## Value Handling
  ## Specifies the handling of NaN and Inf values.
  ## This option can have the following values:
  ##    none    -- do not modify field-values (default); will produce an error
  ##               if NaNs or infs are encountered
  ##    drop    -- drop fields containing NaNs or infs
  ##    replace -- replace with the value in "float_replacement_value" (default: 0.0)
  ##               NaNs and inf will be replaced with the given number, -inf with the negative of that number
  # float_handling = "none"
  # float_replacement_value = 0.0

  ## Pipeline Config
  ## To use a ingest pipeline, set this to the name of the pipeline you want to use.
  # use_pipeline = "my_pipeline"

  ## Pipeline Name
  ## Additionally, you can specify a tag name using the notation (`{{.Tag "tag_name"}}`)
  ## which will be used as the pipeline name (e.g. "{{.Tag \"os_pipeline\"}}").
  ## If the tag does not exist, the default pipeline will be used as the pipeline.
  ## If no default pipeline is set, no pipeline is used for the metric.
  # default_pipeline = ""

输入和输出集成示例

VMware vSphere

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

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

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

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

OpenSearch

  1. 时间序列数据的动态索引:利用 OpenSearch Telegraf 插件为时间序列指标动态创建索引,确保数据以有组织的方式存储,从而有助于基于时间的查询。通过使用 Go 模板定义索引模式,用户可以利用该插件创建每日或每月索引,这可以大大简化数据管理和随时间的检索,从而提高分析性能。

  2. 多租户应用程序的集中日志记录:在多租户应用程序中实施 OpenSearch 插件,其中每个租户的日志都发送到单独的索引。这使得可以针对每个租户进行有针对性的分析和监控,同时保持数据隔离。通过利用索引名称模板功能,用户可以自动创建特定于租户的索引,这不仅简化了流程,还提高了租户数据的安全性和可访问性。

  3. 与机器学习集成以进行异常检测:将 OpenSearch 插件与机器学习工具结合使用,以自动检测指标数据中的异常。通过配置插件以将实时指标发送到 OpenSearch,用户可以将机器学习模型应用于传入的数据流,以识别异常值或不寻常的模式,从而促进主动监控和快速补救措施。

  4. 使用 OpenSearch 增强监控仪表板:使用从 OpenSearch 收集的指标创建实时仪表板,以深入了解系统性能。通过将指标馈送到 OpenSearch,组织可以利用 OpenSearch Dashboards 可视化关键绩效指标,使运营团队能够快速评估健康状况和性能,并做出数据驱动的决策。

反馈

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

强大的性能,无限的扩展

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

查看入门方法

相关集成

HTTP 和 InfluxDB 集成

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

查看集成

Kafka 和 InfluxDB 集成

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

查看集成

Kinesis 和 InfluxDB 集成

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

查看集成