Influx Vagrant Boxes

导航至

InfluxDB 和整个 TICK Stack 最棒的优点之一是其易用性。 InfluxData 提供了适用于各种操作系统和架构的下载,甚至还提供了官方 Docker 镜像。但是,如果我只想快速启动一个 TICK Stack 来测试一些东西,例如 TICKscript 或我正在构建的新 Telegraf 插件(暗示未来的博客文章),该怎么办? Vagrant 就派上用场了。对于那些从未使用过 Vagrant 的人来说,它是一个用于在单个工作流程中构建和管理虚拟机环境的工具。它由 HashiCorp 创建,更多信息请访问:https://www.vagrantup.com

为了启动 Vagrant TICK Stack,您需要以下内容

  1. Vagrantfile 文件
  2. 一个引导脚本
  3. 您要测试的任何文件,例如配置文件或您出色的新插件。

Vagrantfile 文件

Vagrantfile 文件定义了我们虚拟机的参数,例如内存、挂载点、网络等。我在下面提供了指向 Github 项目的链接,以在 Vagrant 上完全部署 TICK。虽然这篇博文不是关于 Vagrant 的教程,但仍有一些注意事项。我们使用 Centos7 作为 Vagrantbox 的操作系统。如果您愿意,可以通过将 config.vm.box = "centos/7" 更改为 config.vm.box = "ubuntu/xenial64" 将其更改为 Ubuntu。我们还为虚拟机定义了一个私有网络:config.vm.network "private_network", ip: "192.168.70.101" 以及一个共享/同步文件夹,这将允许我们从主机向虚拟机共享文件。在本例中,我们共享本地计算机上的 data 文件夹,该文件夹将挂载到虚拟机上的 /vagrant config.vm.synced_folder "data/", "/vagrant", type: "virtualbox"。最后,我们分配了 4GB 内存。可以通过更改以下行来修改此设置:vb.memory = "4096"

引导脚本

我们的引导脚本只是一个 bash 脚本,用于安装 TICK Stack 并设置我们的环境。您需要更改的一件事是您要安装的 TICK Stack 的版本。在文件顶部设置此项

TELEGRAF_VERSION=telegraf-1.3.5-1.x86_64.rpm
INFLUX_VERSION=influxdb-1.3.2.x86_64.rpm
CHRONO_VERSION=chronograf-1.3.6.1.x86_64.rpm
KAPACITOR_VERSION=kapacitor-1.3.1.x86_64.rpm

此脚本的其余部分将为您下载、安装和启动每个组件。它还会将您可能在 data 目录中的任何配置文件移动到 /etc/[component]。这样您就可以使用自定义配置文件。以 Telegraf 为例,我们有以下内容

# Install Telegraf
wget -nv -O $TELEGRAF_VERSION https://dl.influxdata.com/telegraf/releases/$TELEGRAF_VERSION
yum localinstall -y $TELEGRAF_VERSION
if [ ! -f /vagrant/telegraf/telegraf.conf ]; then
    echo "Found telegraf.conf.  Installing."
	mv /vagrant/telegraf/telegraf.conf /etc/telegraf
fi
systemctl start telegraf

最后,我们还安装了 NodeJS。我经常使用 Node 来快速开发我可能需要的其他工具,例如 Telegraf 流量生成器或 HTTPListener。如果您不喜欢 Node,请随时注释掉它。

使用方法

一旦您拥有了您想要的 Vagrantfile 和引导脚本,就有两种方法可以启动您的虚拟机。第一种是简单地使用:$ vagrant up 第二种方法是使用项目中的包装脚本:$ ./up.sh 这将启动虚拟机并创建一个名为“initial”的初始快照。如果您在执行操作后想要将虚拟机重置为其初始状态,请使用:$ ./restore.sh 虚拟机启动后,您就可以开始使用和测试您的 TICK Stack 了。 Chronograf 应该已经在运行,所以打开浏览器并开始使用它,或者您可以使用以下命令 ssh 进入虚拟机:$ vagrant ssh

结论

如您所见,使用 Vagrant 在单个虚拟机上启动完整的 TICK Stack 非常容易。我认为一旦您开始使用它,您会发现它对于任何开发或测试目的都非常有用。我在本文中提到的所有脚本和文件都可以在 Github 上找到:https://github.com/dp1140a/InfluxSandbox

现在开始编码吧。