InfluxDB 模板 UI 简介:简化监控
作者:Al Sargent / 产品, 用例, 开发者
2020 年 10 月 6 日
导航至
在 InfluxData,我们专注于快速实现卓越——您能以多快的速度开始高效地使用时间序列数据?我们能做些什么来改进呢?
InfluxDB 模板是这种思维方式的一个很好的例子。早在四月份,我们宣布推出模板,作为一种打包监控特定技术所需一切的方式——Telegraf 配置和 InfluxDB 仪表板、任务、警报和相关工件——到一个单一的配置文件中。这有两个好处
首先,它允许那些精通监控特定技术的人轻松分享他们的专业知识——与您的队友和全世界分享。
其次,它允许那些刚接触新技术的人在几分钟内设置自己的监控,因此您无需重新发明轮子。
InfluxDB 模板是向前迈出的一大步,因为虽然 InfluxDB 一直比专用监控平台更灵活,但这些平台附带了各种技术的预构建仪表板。
借助 InfluxDB 模板,我们正在弥合这一差距。自从我们宣布推出模板以来,我们现在拥有超过 40 个模板,涵盖数十种流行的应用程序技术——从 AWS 到 Zookeeper——我们的社区还在不断添加更多模板。这些模板中的每一个都节省了数小时甚至数天的配置时间,这些时间用于设置从数据采集到警报的所有内容。对于您技术栈中的许多技术而言,这大大加速了快速实现卓越。
<figcaption> 图片来源:George Hodan,来自 Needpix.com</figcaption>
即便如此,我们知道我们还可以做得更多。
到目前为止,要将模板导入到您的 InfluxDB Cloud 实例中,您需要使用 influx CLI 命令。但是任何云产品的重点都是避免安装软件的麻烦。
因此,我们将模板导入功能直接构建到 InfluxDB Cloud UI 中。
无需下载软件。无需记住命令行语法。
只需复制您想要的模板的链接,将其粘贴到 InfluxDB Cloud UI 中的页面,就完成了。
让我向您展示如何操作。
如何使用 InfluxDB 模板 UI
让我们从头开始。转到 cloud2.influxdata.com 并登录。
接下来,单击浏览器左侧的设置
然后单击模板
考虑到大大的蓝色按钮:浏览社区模板,您可能可以猜到接下来该做什么。
您将被转到我们的 GitHub 页面,其中列出了我们所有的模板。让我们单击 网络接口监视器 模板
这是一个不错的入门模板,因为它可以使用来自您的 Mac 或 Linux 机器的实际网络监控数据。
每个 InfluxDB 模板都由 YAML、JSON 或 Jsonnet 文件定义。这个特定的网络监控模板由 YAML 文件 network_interface_performance.yml 定义。单击链接
从浏览器的地址栏复制链接
…然后切换回 InfluxDB Cloud,并将链接粘贴进去
您应该会看到一条消息,表明一切就绪。
(深入研究后,我了解到 HTML 页面的 URL 和原始文件的 URL 都可以工作。这就是我们的工程团队在关注细节——这样您就不必操心了。)
单击查找模板,您将看到与该模板关联的所有各种资源
现在点击那个大大的绿色按钮,安装您的模板!????
完成后,您将在已安装列表中看到该模板
设置 Telegraf 以监控网络性能
此时,我们的仪表板、检查、存储桶、变量和标签都已作为模板的一部分安装。但是我们需要让 Telegraf 开始向我们的 InfluxDB Cloud 实例发送数据。
如果您不熟悉,Telegraf 是我们的开源、插件驱动的服务器代理,用于收集和报告指标。Telegraf 具有插件,可以从运行它的系统直接获取各种指标、从第三方 API 拉取指标,甚至可以通过 StatsD 或 Kafka 消费者服务侦听指标。它还具有输出插件,可以将指标发送到各种其他数据存储、服务和消息队列,包括 InfluxDB。
要开始设置 Telegraf 的过程,请单击浏览器窗口左侧的“数据”
然后单击 Telegraf
我们将看到新安装的网络接口监控配置
单击设置说明。您将看到以下内容
在这里,我们需要执行一些非云任务,在您的机器上安装软件——Telegraf。这可以是您的笔记本电脑、EC2 实例或您要跟踪网络流量的任何服务器。
我们需要执行此本地软件安装的原因是,我们的机器(希望如此!)位于防火墙后面,因此 InfluxDB Cloud 无法访问。通过在本地机器上安装 Telegraf,它可以将数据通过我们的防火墙发送到 InfluxDB Cloud。
让我们逐步完成这些步骤。
首先,获取 Telegraf。如果您要监控 Mac,请获取 Homebrew(如果您没有安装,请相信我,它非常方便),然后运行 brew install telegraf
。如果您要监控其他内容,请参阅 如何在其他操作系统上安装 Telegraf 的说明。
接下来,单击生成新令牌获取 InfluxDB API 令牌
此令牌有点像密码,Telegraf 在向 InfluxDB 发送网络性能数据(或其他遥测数据)时使用它。
如果您使用的是 Mac 或 Linux,请按复制到剪贴板
…将为您生成一个令牌。然后打开一个终端窗口(这是 Mac 上的操作方法)并粘贴您刚刚复制的命令
export INFLUX_TOKEN=MrYzeGC6C1m9ZGY852ZZgaKai8t1iQBRk9BlAh8oRkUM2f1RhNgM_UJgsFeTzrRYhU7k1Ynl472DqRhjgFWYM-A-Wg==
(当然,请将令牌值替换为您云帐户关联的任何值。)
您还需要指定另外两个环境变量,INFLUX_URL
和 INFLUX_ORG
。
INFLUX_URL
环境变量指定您的 InfluxDB Cloud 实例的 URL。这是必要的,因为 InfluxDB Cloud 运行多个云提供商——AWS、Google 和 Microsoft Azure——以及每个云提供商的不同区域。您可以在 InfluxDB Cloud URL 页面上找到适合您实例的 URL。
例如,如果您在我们的 新的 Azure 美国东部实例上运行,请在您的终端窗口中输入以下内容
export INFLUX_URL="https://eastus-1.azure.cloud2.influxdata.com"
请注意,我在云 URL 周围添加了引号,而令牌则没有。
接下来,设置 INFLUX_ORG
环境变量。如果您创建了自己的 InfluxDB Cloud 实例,这将是您用于登录的电子邮件。另一方面,如果您收到了 InfluxDB Cloud 的邀请,请参阅 如何查找您的组织名称。您将键入类似以下内容
export INFLUX_ORG="[email protected]"
您可以通过键入 env
命令来确认是否已设置。通过 sort
管道传输它,以从长列表中快速挑选出变量
env | sort
您应该看到类似这样的内容
如果您使用的是 Windows,则需要使用不同的命令语法导出这些变量。这是 如何在 PowerShell 中设置和查看环境变量 以及 如何在 Windows 命令提示符下设置和查看它们。
运行 Telegraf 以监控网络性能
无论如何,一旦设置了 InfluxDB 环境变量,请切换回 InfluxDB Cloud UI,并复制您的命令以启动 Telegraf
您应该看到类似这样的内容
解析此输出,您会看到发生了以下情况
- Telegraf 版本 1.15.3 已启动。
- 加载了一个 Telegraf 输入插件:Net Input Plugin。
- 加载了一个 Telegraf 输出插件:InfluxDB v2 插件(这是您用于 InfluxDB Cloud 和 InfluxDB OSS v2 的插件);对于 InfluxDB OSS v1 和 InfluxDB Enterprise,请使用 InfluxDB 输出插件。
- Telegraf 每十秒钟收集一次指标。
查看您的模板仪表板
现在 Telegraf 正在向 InfluxDB Cloud 发送数据,让我们看看我们的仪表板在运行!
切换回 InfluxDB Cloud,然后单击左侧的仪表板。您将看到随模板导入的网络接口性能仪表板。
单击网络接口性能,您将看到您的网络性能图表
请注意,您的某些网络接口可能处于非活动状态且不显示数据。我的笔记本电脑默认为网络接口 awd10
,因此只需选择 en0
即可
将 InfluxDB 警报发送到 Slack
仪表板很棒。但是,如果我们遇到网络错误怎么办——我们如何知道?
为此,让我们设置 Slack 警报。为此,请单击警报
您将看到我们的模板包含一个检查网络错误的警报
如果您单击网络错误,您将看到此检查每 10 分钟运行一次,并在该时间内出现 10 个网络错误时显示警告消息,在出现 20 个错误时显示严重消息。
但是,我们需要将这些通知发送到某个地方。值得庆幸的是,InfluxDB 社区 Slack 有一个沙箱供您使用。如果您尚未这样做,请获取 Slack,然后加入 InfluxDB 社区 Slack。
在 Slack 中,转到 #notifications-testing 频道,您将看到一个 webhook URL,您应该复制它
在我撰写本文时,webhook URL 如下
https://hooks.slack.com/services/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
切换回 InfluxDB Cloud,然后单击通知端点,再单击创建
在下一个屏幕中,命名您的端点并填写上面的 URL
单击创建通知端点,您将看到新创建的端点
现在切换到通知规则并按创建
命名您的通知规则。为了在沙箱中保持礼貌,请在通知规则名称中包含您的个人姓名,就像我在下面所做的那样
按创建通知规则,您将看到通知规则列表
当您在 10 分钟内遇到超过 20 个网络错误时,消息将发布到 InfluxDB 社区 Slack 的 #notifications-testing 频道。
现在——这很重要——当您完成测试后,通过单击左侧的切换按钮来关闭您的通知规则。
使用 InfluxDB 模板分享您的专业知识
我们很感激在短短七个月内获得了 40 个模板,包括
- Apache JMeter
- Apache + Postgres
- Apex Legends
- AWS Cloudwatch
- Counter Strike Global Offensive / CSGO
- 货币汇率
- Docker
- 降采样
- 端点安全状态
- Enviro+
- Fortnite
- GitHub
- Google Cloud
- HAProxy
- InfluxDB 1.x
- InfluxDB OSS 2.0
- JBoss Wildfly
- Jenkins
- Kafka
- Kubernetes
- Linux
- Microsoft SQL Server
- MinIO
- Modbus
- MongoDB
- MySQL / MariaDB
- 网络接口
- Nginx + MySQL
- Postgres
- Redis
- Sensu Go
- sFlow
- SNMP
- Speedtest(本地互联网连接速度)
- Telegraf(使用 Telegraf 监控自身)
- Tomcat
- VMware vSphere
- Windows
- X509
- Zookeeper
但我们希望获得更多模板。因此,对于任何构建 InfluxDB 模板并提交到我们的存储库的人,我们都提供 InfluxDB 发明者身份 和一件很酷的限量版发明者 T 恤——甚至我们的 CEO 也无法获得!(抱歉,Evan。)
因此,如果您为上面未列出的任何技术创建了 Telegraf 配置、仪表板、任务和/或警报,请创建您自己的 InfluxDB 模板,然后按照这些步骤提交您的模板。
结论
如前所述,我们始终专注于快速实现卓越。这是因为我们受到其他人的启发,他们也遵循了类似的道路,使技术更易于访问
对初创公司的友好提醒:客户不关心您的技术有多么出色。他们只关心您的解决方案有多么简单。不惜一切代价关注后者。
— Aaron Levie (@levie) 2020 年 9 月 29 日
在时间序列数据库市场中,许多供应商专注于速度和数据流——但仅此而已。InfluxDB 处理大量时间序列数据——例如,Wayfair 每秒数百万个指标——但我们意识到,如果您无法使用最出色的时间序列技术,那它就毫无意义。这就是为什么我们投入精力使时间序列数据易于使用——并将继续这样做。我们新的模板 UI 只是该过程中的一步。
如果您想亲自体验 InfluxDB 模板 UI,请注册一个免费的 InfluxDB Cloud 帐户,并随时在我们乐于助人的 InfluxDB 社区和 社区 Slack 频道中提出任何问题。尽情享受吧!