介绍InfluxDB模板UI:简单易用的监控工具
作者:Al Sargent / 产品,用例,开发者
2020年10月06日
导航到
在InfluxData,我们痴迷于快速上手 ——您多快可以开始使用时序数据进行高效工作?我们能做些什么来使事情变得更好呢?
InfluxDB模板正是这种思维的体现。去年四月,我们宣布了模板,作为将监控特定技术所需的一切打包成一个单一配置文件的方法——Telegraf配置和InfluxDB仪表板,任务,警报以及相关组件——这有两个好处
首先,它允许那些在监控特定技术方面有经验的您轻松地与您的团队成员以及全世界分享您的专业知识。
其次,它允许那些正在学习新技术的您在几分钟内设置自己的监控,这样您就无需重新发明轮子。
InfluxDB模板是一个重大进步,因为尽管InfluxDB比专门的监控平台更灵活,但这些平台为各种技术提供了预构建的仪表板。
通过InfluxDB模板,我们正在缩小这一差距。自我们宣布模板以来,我们已拥有40多个针对数十种流行应用技术(从AWS到Zookeeper)的模板,并且我们的社区正在不断添加更多。每个模板都能节省从数据采集到警报设置所需的小时甚至数天时间。这大大加速了您在技术堆栈中许多技术上的快速上手时间。
<figcaption> 图片来源:George Hodan via 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实例,或者您想跟踪网络流量的任何服务器。
我们需要在本地机器上安装Telegraf的原因是我们的机器(希望!)位于防火墙后面,因此无法由InfluxDB Cloud访问。通过在本地机器上安装Telegraf,它可以穿过我们的防火墙并将数据发送到InfluxDB Cloud。
让我们逐一完成这些步骤。
首先,获取Telegraf。如果你正在监控Mac,如果你还没有Homebrew(请相信我,这很方便),请从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 URLs页面上找到你实例的适当URL。
例如,如果你在我们的新的Azure East US实例上运行,将其输入到你的终端窗口
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_README.md。
- 加载了一个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 Community Slack有一个可以玩耍的沙盒。如果您还没有这样做,获取Slack,然后加入InfluxDB Community on Slack。
在Slack中,转到#notifications-testing频道,您会看到一个webhook URL,您应该复制。
当我写这篇文档时,webhook URL如下
https://hooks.slack.com/services/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
切换回InfluxDB Cloud,然后点击通知端点,然后点击创建。
在下一个屏幕上,为您的端点命名,并填写上面的URL。
点击创建通知端点,您将看到您新创建的端点。
现在切换到通知规则,并点击创建。
为您的通知规则命名。为了在沙盒中保持礼貌,请在通知规则名称中包含您的个人姓名,如下所示。
点击创建通知规则,您将看到通知规则列表。
如果在10分钟内有超过20个网络错误,将有一条消息发布到InfluxDB Community 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云账户,并在我们始终乐于助人的InfluxDB社区和社区Slack频道中提出任何问题。祝您玩得开心!