文档文档

监控 InfluxDB Enterprise 集群

InfluxDB Enterprise 提供高可用性和高度可扩展的集群解决方案,以满足您的时间序列数据需求。使用 Chronograf 来评估您的集群运行状况,并监控您项目背后的基础设施。

本指南将提供使用 Chronograf、InfluxDB 和 Telegraf 监控 InfluxDB Enterprise 集群中数据节点的详细分步说明。

要求

您已经拥有一个功能齐全且已启用身份验证的 InfluxDB Enterprise 集群。有关详细的设置说明,请参阅 InfluxDB Enterprise 文档。本指南使用一个具有三个元节点(meta nodes)和三个数据节点(data nodes)的 InfluxData Enterprise 集群;这些步骤同样适用于其他集群配置。

InfluxData 建议使用单独的服务器来存储您的监控数据。虽然可以将监控数据存储在集群中,然后将集群连接到 Chronograf,但通常情况下,您的监控数据应该存储在单独的服务器上。

您正在使用 Ubuntu 进行安装。Chronograf 和 TICK stack 的其他组件支持多种操作系统和硬件架构。请访问下载页面,获取您选择的二进制文件的链接。

架构概述

在开始之前,这里是最终监控设置的概述

Architecture diagram

上图显示了一个 InfluxDB Enterprise 集群,该集群包含三个元节点 (M) 和三个数据节点 (D)。每个数据节点都有自己的 Telegraf 实例 (T)。

每个 Telegraf 实例都配置为使用 Telegraf system stats 输入插件收集节点 CPU、磁盘和内存数据。Telegraf 实例还配置为将这些数据发送到位于单独服务器上的单个 InfluxDB OSS 实例。当 Telegraf 将数据发送到 InfluxDB 时,它会自动为数据打上相关数据节点的 `hostname` 标签。

存储 Telegraf 数据的 InfluxDB OSS 实例已连接到 Chronograf。Chronograf 使用 Telegraf 数据中的 `hostname` 来填充“Host List”(主机列表)页面,并在用户界面中提供其他与 `hostname` 相关的特定信息。

设置描述

InfluxDB OSS 设置

步骤 1:下载并安装 InfluxDB

可以从 InfluxData 下载页面下载 InfluxDB。

步骤 2:启用身份验证

出于安全原因,请在 InfluxDB 配置文件 (influxdb.conf) 中启用身份验证,该文件位于 /etc/influxdb/influxdb.conf

在配置文件的 [http] 部分,取消注释 auth-enabled 选项并将其设置为 true

[http]
  # Determines whether HTTP endpoint is enabled.
  # enabled = true

  # The bind address used by the HTTP service.
  # bind-address = ":8086"

  # Determines whether HTTP authentication is enabled.
  auth-enabled = true #💥

步骤 3:启动 InfluxDB

接下来,启动 InfluxDB 进程。

~# sudo systemctl start influxdb

步骤 4:创建管理员用户

在您的 InfluxDB 实例上创建一个管理员用户。由于您已启用身份验证,因此必须先执行此步骤,然后才能继续下一部分。运行以下命令创建管理员用户,将 chronothansupersecret 替换为您自己的用户名和密码。请注意,密码需要单引号。

~# curl -XPOST "https://:8086/query" --data-urlencode "q=CREATE USER chronothan WITH PASSWORD 'supersecret' WITH ALL PRIVILEGES"

成功的 CREATE USER 查询会返回空白结果。

{"results":[{"statement_id":0}]}   <--- Success!

Telegraf 设置

请在集群中的每个数据节点上执行以下步骤。在本节的最后,您将返回到 InfluxDB 实例。

步骤 1:下载并安装 Telegraf

可以从 InfluxData 下载页面下载 Telegraf。

步骤 2:配置 Telegraf

配置 Telegraf 将监控数据写入您的 InfluxDB OSS 实例。Telegraf 配置文件位于 /etc/telegraf/telegraf.conf

首先,在 [[outputs.influxdb]] 部分,将 urls 选项设置为您的 InfluxDB OSS 实例的 IP 地址和端口。InfluxDB 默认运行在 8086 端口。此步骤可确保 Telegraf 将数据写入您的 InfluxDB OSS 实例。

[[outputs.influxdb]]
  ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
  ## Multiple urls can be specified as part of the same cluster,
  ## this means that only ONE of the urls will be written to each interval.
  # urls = ["udp://:8089"] # UDP endpoint example
  urls = ["http://xxx.xx.xxx.xxx:8086"] #💥

接下来,在同一 [[outputs.influxdb]] 部分,取消注释并设置 usernamepassword 选项为您在上一节中创建的用户名和密码。Telegraf 必须知道您的用户名和密码才能成功将数据写入您的 InfluxDB OSS 实例。

[[outputs.influxdb]]
  ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
  ## Multiple urls can be specified as part of the same cluster,
  ## this means that only ONE of the urls will be written to each interval.
  # urls = ["udp://:8089"] # UDP endpoint example
  urls = ["http://xxx.xx.xxx.xxx:8086"] # required

  [...]

  ## Write timeout (for the InfluxDB client), formatted as a string.
  ## If not provided, will default to 5s. 0s means no timeout (not recommended).
  timeout = "5s"
  username = "chronothan" #💥
  password = "supersecret" #💥

Telegraf System 输入插件默认启用,无需额外配置。该输入插件会自动收集系统负载、正常运行时间和登录用户数量的常规统计信息。已启用的输入插件在配置文件中的 INPUT PLUGINS 部分进行配置;例如,这是控制 CPU 数据收集的部分。

###############################################################################
#                            INPUT PLUGINS                                    #
###############################################################################

# Read metrics about cpu usage
[[inputs.cpu]]
  ## Whether to report per-cpu stats or not
  percpu = true
  ## Whether to report total system cpu stats or not
  totalcpu = true
  ## If true, collect raw CPU time metrics.
  collect_cpu_time = false

步骤 3:重启 Telegraf 服务

重启 Telegraf 服务以使您的配置更改生效。

macOS

telegraf --config telegraf.conf

Linux (sysvinit 和 upstart 安装)

sudo service telegraf restart

Linux (systemd 安装)

systemctl restart telegraf

请为集群中的每个数据节点重复步骤一到步骤四。

步骤 4:确认 Telegraf 设置

要验证 Telegraf 是否成功收集并写入数据,请使用以下方法之一查询您的 InfluxDB OSS 实例。

InfluxDB CLI (influx)

$ influx
> SHOW TAG VALUES FROM cpu WITH KEY=host

curl

请将 chronothansupersecret 值替换为您实际的用户名和密码。

~# curl -G "https://:8086/query?db=telegraf&u=chronothan&p=supersecret&pretty=true" --data-urlencode "q=SHOW TAG VALUES FROM cpu WITH KEY=host"

预期的输出类似于下面的 JSON 代码块。在此示例中,telegraf 数据库为 host 标签键提供了三个不同的标签值:data-node-01data-node-02data-node-03。这些值与集群中的三个数据节点的 `hostname` 匹配;这意味着 Telegraf 正在成功地将这些主机上的监控数据写入 InfluxDB OSS 实例!

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "cpu",
                    "columns": [
                        "key",
                        "value"
                    ],
                    "values": [
                        [
                            "host",
                            "data-node-01"
                        ],
                        [
                            "host",
                            "data-node-02"
                        ],
                        [
                            "host",
                            "data-node-03"
                        ]
                    ]
                }
            ]
        }
    ]
}

Chronograf 设置

步骤 1:下载并安装 Chronograf

在与 InfluxDB 实例相同的服务器上下载并安装 Chronograf。这不是必需的;您也可以将 Chronograf 托管在单独的服务器上。

可以从 InfluxData 下载页面下载 Chronograf。

步骤 2:启动 Chronograf

~# sudo systemctl start chronograf

步骤 3:将 Chronograf 连接到 InfluxDB OSS 实例

要访问 Chronograf,请访问 https://:8888。欢迎页面包含将 Chronograf 连接到该实例的说明。

Connect Chronograf to InfluxDB

对于 Connection String(连接字符串),输入您的 InfluxDB OSS 实例的主机名或 IP 地址,并确保包含默认端口:8086。接下来,为您的数据源命名;这可以是任何您想要的名称。最后,输入您的用户名和密码,然后点击 Add Source(添加源)。

步骤 4:探索 Chronograf 中的监控数据

Chronograf 会处理您 InfluxDB OSS 实例中的 Telegraf 数据。“Host List”(主机列表)页面显示您的数据节点的主机名、状态、CPU 使用率、负载及其配置的应用程序。在此示例中,您只启用了系统统计信息输入插件,因此 systemApps(应用程序)列中出现的唯一应用程序。

Host List page

点击 system 以查看该应用程序的 Chronograf 预设仪表板。通过查看每个 `hostname` 的仪表板,密切关注您的数据节点。

Pre-created dashboard

接下来,查看“Data Explorer”(数据探索器)以使用监控数据创建自定义图表。下图显示了 Chronograf 查询编辑器用于可视化每个数据节点的空闲 CPU 使用率数据。

Data Explorer

在 Chronograf 的“Dashboard”(仪表板)页面上创建更多自定义图表并将它们保存到仪表板。有关更多信息,请参阅“Creating Chronograf dashboards”(创建 Chronograf 仪表板)指南。

就这样!您已成功配置 Telegraf 来收集和写入数据,InfluxDB 来存储这些数据,以及 Chronograf 来使用这些数据进行监控和可视化。


此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2