在Windows上运行TICK堆栈

导航到

我们时不时地会收到来自使用Windows的开发者或在我们工作坊或活动中的Windows用户的使用请求。除了Telegraf之外,所有组件对Windows的支持均被视为“实验性的”,但完整的TICK堆栈仍然可以在该平台上构建和运行,我们在下载页面提供了Windows的二进制文件。因此,虽然Windows不是官方支持的操作系统,并且**不建议在生产环境中使用**,但我们仍想为那些希望在平台上运行的开发者提供一些额外资源。本文将详细介绍在Windows上原生安装和配置的细节,然后简要介绍一些运行TICK堆栈的替代方法,例如虚拟机或Docker。

编辑:如果您对InfluxData在Windows上的官方支持感兴趣,您始终可以联系我们的销售团队!我们相信我们可以想出一些办法。

以下说明已在微软的Windows 10开发环境虚拟机上进行了测试。

安装

在Windows上,最佳做法是从下载页面获取Windows存档并将其内容提取到C:\Program Files\<Program Name>。您将获得以下四个目录

  • C:\Program Files\Chronograf
  • C:\Program Files\InfluxDB
  • C:\Program Files\Kapacitor
  • C:\Program Files\Telegraf

运行

如果您已在上面的目录中安装了应用程序,每个应用程序应使用其默认配置启动。

首先,让我们启动InfluxDB。运行应用程序的一个选项是双击可执行文件,但如果出现问题,窗口将在程序退出时关闭,您可能没有时间阅读显示的错误。

相反,我们将为每个应用程序打开一个命令提示符并使用下文每个部分中的命令来运行单个应用程序。您可以通过打开开始菜单并键入cmd.exe来启动命令提示符。

InfluxDB

对于InfluxDB,我们将运行influxd.exe可执行文件;“d”结尾表示“守护进程”,这表示这是一个长时间运行的服务器进程。切换到InfluxDB目录并启动应用程序

C:\Users\User>cd "C:\Program Files\InfluxDB\"

C:\Program Files\InfluxDB>influxd.exe

如果您想运行Influx命令行界面,可以使用influx.exe命令。如果您使用的是默认配置,它应自动连接。

Kapacitor

Kapacitor也有kapacitord.exekapacitor.exe可执行文件;同样,“d”表示哪个是长时间运行的服务器进程,而另一个是CLI。在一个单独的命令提示符窗口中启动它

C:\Users\User>cd "C:\Program Files\Kapacitor\"

C:\Program Files\Kapacitor>kapacitord.exe

Telegraf

Telegraf 是一个单二进制文件,但启动时需要配置文件。如果您按照之前的说明安装了 Telegraf 的下载内容,它将自动找到配置。有关更多配置选项,请参阅下面的章节。

要运行 Telegraf,可以使用以下命令

C:\Users\User>cd "C:\Program Files\Telegraf\"

C:\Program Files\Telegraf>telegraf.exe

Chronograf

Chronograf 有两个二进制文件,分别是 chronograf.exechronoctl.exe;第一个是 Chronograf 服务器本身。

以下是运行 Chronograf 的命令

C:\Users\User>cd "C:\Program Files\Chronograf\"

C:\Program Files\Chronograf>chronograf.exe

配置

对于大多数用户,默认配置就足够开始使用,每个应用程序在启动时会公开以下端口

应用程序 端口(s)
InfluxDB 8086 HTTP API 终端
Kapacitor 9092 HTTP API 终端
Chronograf 8888 Web 图形用户界面

让我们启动 Chronograf 并完成所有设置和运行的最终步骤。

首先,我们需要连接到 InfluxDB 实例。当您第一次访问 https://127.0.0.1:8888 的 Chronograf 时,您应该看到以下页面

提供的默认设置应该适用于我们,因此我们可以点击“添加连接”,之后我们应该看到 Chronograf 的主界面。我们还希望在这个时候连接 Kapacitor 实例;首先,导航到页面的“KAPACITOR”部分。

然后,在“Influx 1”旁边点击“添加 Kapacitor 连接”。

同样,默认值应该足够我们使用,因此点击“连接”。

这样就完成了!我们应该可以正常使用。InfluxDB 和 Kapacitor 如果没有提供配置文件,将使用默认配置,而 Chronograf 完全不使用配置文件。如前所述,Telegraf 会在其配置文件在 C:\Program Files\Telegraf\ 目录中查找。

如果默认配置因某些原因不适合您,您可以通过下面的章节了解更多有关如何自定义配置的信息。

InfluxDB

InfluxDB 的配置可以通过配置文件或环境变量设置。任何来自配置文件的参数也可以表示为环境变量。

下载中包含一个默认配置文件,如果您从存档中提取所有文件,它将最终位于 C:\Program Files\InfluxDB;然而,此文件指定了一些 Unix 文件位置,并且默认情况下 InfluxDB 不使用该文件。

您可以使用 $INFLUXDB_CONFIG_PATH 环境变量或 -config 参数到 influxd.exe 可执行文件来指定 InfluxDB 寻找其配置文件的位置。

在没有配置文件的情况下启动 InfluxDB 将导致 Influx 使用其默认设置。

您还可以参考InfluxDB 配置文档以获取更多详细信息。

Chronograf

Chronograf 不使用配置文件,尽管大多数设置仍然可以通过命令行标志进行更改。键入 chronograf.exe \h 获取您可以使用完整参数列表,或查看Chronograf 文档

Kapacitor

与 InfluxDB 类似,您可以在下载中找到示例配置,但它不会在您启动应用程序时自动加载。

您可以通过多种方式控制 Kapacitor 的配置;通过配置文件、环境变量、通过访问 HTTP API 或通过提供命令行参数。

您可以使用 KAPACITOR_CONFIG_PATH 环境变量或 -config 参数到 kapacitord.exe 来指定配置文件的位置。

您可以在Kapacitor 文档中找到有关使用 API 或环境变量控制配置的更多信息。

Telegraf

Windows 上的 Telegraf 在几个位置查找配置文件。这些是 $TELEGRAF_CONFIG_PATH/.telegraf/telegraf.confC:\Program Files\Telegraf\telegraf.conf

如果您想指定配置文件的位置,可以使用-config选项启动Telegraf,如下所示:

C:\Program Files>telegraf -config "C:\<Path to your config>"

再次提醒,有关Telegraf配置的更深入内容,请参阅Telegraf配置文档

数据

InfluxDB和Kapacitor都需要在磁盘上存储数据。在Windows上,这些文件最终会存储在用户主目录的子目录中。InfluxDB创建.influxdb,而Kapacitor创建.kapacitor

influx.exe命令行客户端也将数据写入用户主目录,以.influx_history文件的形式。

Chronograf默认将其配置存储在C:\Program Files\Chronograf\目录下的名为chronograf-v1的文件中。

Windows服务

在Windows上,长时间运行的程序(如服务器)通常作为Windows服务运行。

目前,只有Telegraf支持以Windows服务的方式运行。您可以使用存储库中的说明来设置它。

我们目前没有计划在Windows上以服务的方式运行InfluxDB,但如果这是您绝对需要的,您可以使用这些来自微软的说明来设置一个用户定义的服务。

替代方案

  • 从源码开始:如果您有兴趣修改应用程序,并可能回馈社区,您需要从GitHub下载源代码并自行编译。您只需要一个最新的Go版本即可!
  • Docker:InfluxData提供了一个包含Bash和Windows批处理脚本的Docker沙箱,以及一个Docker-compose文件,可以帮助您快速启动并运行。如果您是Docker for Windows用户,这是一个很好的起点。
  • 虚拟机:如果您需要在Linux环境中运行TICK Stack(可能为了与您的部署环境相匹配),但只有Windows机器,VM是一个很好的选择。Hyper-V和VirtualBox都允许您在Windows上运行VM,而Vagrant可以帮助您创建可重复的环境。我们有一篇博客文章提供了关于使用Vagrant的一些更详细的信息,但您需要更新说明以使用TICK Stack的最新版本。
  • Windows子系统Linux:这是一种最少测试的方法,我们希望未来能更深入地探索。Windows现在提供了一个兼容Linux内核的层,这意味着许多Linux应用程序可以直接在Windows上运行。通过一些工作,InfluxDB可以在WSL中成功安装并运行。

联系我们!

如果您在使用Windows并有一些具体问题,请随时在我们的社区网站上发布,或者在Twitter上联系我们@InfluxDB