入门指南:macOS 上的 InfluxDB Cloud 和 Telegraf
作者:Al Sargent / 用例, 产品, 开发者
2019 年 11 月 14 日
导航至
本文最初发布在 Medium,作者 Al Sargent。
最近我一直在我的 MacBook Air 上使用 InfluxDB 和 Telegraf。我想分享一下我在 Mac 上开始使用 InfluxDB 和 Telegraf 的笔记。首先,一些背景介绍。
什么是 InfluxDB?
如果您还不熟悉, InfluxDB 是 InfluxData 的时间序列数据库,它在收集时间序列数据方面比关系数据库(如 Postgres)和文档数据库(如 MongoDB)要好得多。这就引出了我们的下一个问题……
什么是时间序列数据?
时间序列数据是您想要跟踪随时间变化的历史信息。这意味着什么?好吧,让我们看看时间序列数据不是什么。
在许多 SaaS 应用程序中,您只能看到您正在处理的任何事物的最新状态。例如,在 Salesforce 中,您的客户帐户的当前状态。但很难看到帐户随时间的变化,因为 Salesforce 使用的关系数据库很难跟踪任何粒度或规模级别的信息。
对于时间序列数据,随时间的变化至关重要:这个房间的温度随时间变化是多少?这个容器的 CPU 利用率随时间变化是多少?这支股票的价格随时间变化是多少?这位客户的数据使用量随时间变化是多少?这些数据有时以高度粒度存在,频率高达微秒甚至纳秒。
时间序列数据如何使用?
时间序列数据出现在广泛的用例中,包括系统监控、物联网传感器、客户计费、自动驾驶汽车和股票市场分析等等。
Telegraf 和 InfluxDB 如何处理时间序列数据?
Telegraf 是一个代理平台,用于收集时间序列数据并将其发送到 InfluxDB,然后 InfluxDB 存储数据以供后续分析和呈现。
分步指南
了解了背景知识后,让我们深入了解。首先要做的是访问 InfluxData 并注册一个 免费帐户 以使用 InfluxDB Cloud 2.0。
填写您的信息,访问您的收件箱,点击链接确认您的电子邮件,然后选择您的云提供商。我选择了 AWS。
系统将提示您将数据加载到 InfluxDB 中
点击加载您的数据。坚持使用使用 Telegraf 加载数据的默认选项。
点击创建配置。为了保持简单,我们将使用来自 Mac 笔记本电脑的指标作为我们的时间序列数据流。因此,点击系统,然后点击继续。
命名 Telegraf 配置,然后点击创建并验证。
下一个部分是一个不错的用户体验。InfluxDB Cloud 列出了所有要执行的步骤,并为您提供了将本地计算机上的 Telegraf 连接到 AWS 上运行的 InfluxDB 的确切命令。
由于我们运行的是 macOS,我们将使用 Homebrew 包管理器来安装 Telegraf。(如果您运行的是不同的操作系统,您可以在此处获取安装说明。)
如果您还没有安装 Homebrew,请先安装它。在终端中,输入
/usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
(不确定如何使用终端? 这是一个教程。)
然后安装 Telegraf
brew update
brew install telegraf
然后复制/粘贴上面屏幕截图中的 export 命令,以设置您的 INFLUX_TOKEN 系统变量。这对于您的帐户是唯一的。
export INFLUX_TOKEN=[your unique API token]
您可以通过键入 env 命令来确认是否已设置。我喜欢通过 sort 管道传输它,以便我可以从长列表中快速挑选出变量。因此,输入这个
env | sort
您将在环境变量列表中看到 INFLUX_TOKEN
接下来,复制/粘贴 telegraf 命令,以及您唯一的连接 URL
telegraf --config https://us-west-2-
1.aws.cloud2.influxdata.com/api/v2/telegrafs/[your_unique_number]
您应该看到类似于这样的输出
这表明 Telegraf 1.12.1 已启动,并且正在监控各种系统指标:CPU、磁盘、内存等。
返回您的浏览器,然后点击蓝色的监听数据按钮
您应该看到一条成功消息
点击蓝色的完成按钮,然后点击左侧的数据浏览器图标(从上往下第二个)
点击 cpu 过滤器,按 提交,您应该看到类似这样的图表
恭喜!您现在已经让 Telegraf 将数据发送到云中的 InfluxDB。此时,值得在 UI 中四处看看,了解有哪些类型的数据可用,并学习 Flux 语言,以学习如何查询数据。