Grafana 指南
TIG 堆栈指南 — Telegraf、InfluxDB 和 Grafana
Grafana 是一个开源软件平台,用于可视化时间序列分析和监控。各种 Grafana 数据源(例如 InfluxDB、AWS CloudWatch、Timestream 和 Prometheus)可以无缝使用,以生成 Grafana 仪表板。这些仪表板很有用,因为它们汇集了数据,并帮助用户收集实时见解。因此,无论您的数据位于何处或它位于哪种类型的数据库中,您都可以使用 Grafana 将其整合在一起。
什么是 Grafana?
Grafana 是一款开源可视化和分析工具,允许用户查询、可视化、获取警报并探索对他们而言最重要的实际应用程序和系统指标及事件——无论它们存储在哪里。
用外行的话来说,Grafana 允许用户将多个数据源(如 InfluxDB 时间序列数据库(或简称 TSDB))转换为图形和可视化,即使是最复杂的概念也变得更容易让人理解。
所有这一切都是为了实现最关键的目标:确保开发人员能够访问他们所需的信息,以便就其物联网、分析和云应用程序的性能做出更明智和更知情的决策。
Grafana 和 InfluxDB 如何协同工作
Grafana 为绘制 Telegraf 收集并存储在 InfluxDB 数据库中的数据提供了开箱即用的支持,以帮助开发人员构建监控解决方案,以收集来自系统负载(如 CPU、内存、磁盘 IO 和自定义指标)的数据。一旦 InfluxDB 数据源连接到您的 Grafana 实例,您就可以使用受支持的查询语言之一(InfluxQL、Flux 或 SQL)。这些查询可以作为您的 Grafana 仪表板的基础。
Telegraf
Telegraf 是一款开源插件驱动的服务器代理,用于收集和发送来自数据库、系统和物联网传感器的指标和事件。一些流行的插件包括 Kafka、MQTT、SQL Server、JMeter 等。
InfluxDB
InfluxDB 数据库是开源时间序列数据库,旨在帮助开发人员获取任何数据——指标、事件、日志、追踪。来自系统、传感器、队列、数据库和网络的数据存储在一个高性能引擎中,该引擎能够每秒摄取数十亿个数据点。
Grafana
一款开源可视化和分析工具,可以原生查询和可视化由 Telegraf 收集并存储在 InfluxDB 中的时间序列数据。Grafana 支持多种可视化选项,例如 时间序列、热图、直方图、条形图、追踪、日志和节点图。
要将 Grafana 连接到 InfluxDB,请在 Grafana UI 中单击“添加数据源”并选择 InfluxDB。
一旦配置为使用 InfluxDB 数据源,Grafana 就支持流行的查询语言,如 InfluxQL、Flux 和 SQL,使您能够按照您的条件可视化指标。例如,您可以使用临时查询或动态向下钻取深入研究您的时间序列数据。
此外,您还可以使用拆分视图功能来查看不同时间范围的比较情况,或并排查看整个数据源。警报还允许您创建各种通知器,只需最少的代码即可确保您始终了解重要事件,无论发生什么情况。
Grafana 用例
开发人员使用 Grafana 堆栈(有时称为 TIG 堆栈(Telegraf、InfluxDB、Grafana))来构建涵盖各个行业各种用例的时间序列解决方案。
使用 Telegraf、InfluxDB 和 Grafana 进行监控
使用 TIG 堆栈收集指标并获得对应用程序、服务器和网络的可观察性。
使用 InfluxDB 和 Grafana 的网络监控用例
特色客户包括 Red Hat,他们从超过 14,000 个接口和 1600 多个设备收集指标,以构建可观察性解决方案,从而提高了运营可见性。
使用 InfluxDB 和 Grafana 的 DevOps 监控用例
使用基础设施和应用程序性能监控指标来获得对应用程序、网络、容器、路由器、交换机、私有云和公共云以及环境的可见性。特色客户包括 Cisco,他们构建了自定义 DevOps 监控解决方案,通过利用 InfluxDB 平台帮助他们实现更高的可观察性。
开发者工具
依靠 InfluxDB 和 Grafana 来简化和加速时间戳数据的摄取和使用,从而实现更好的工作流程和警报。
使用 Telegraf、InfluxDB 和 Grafana 进行游戏监控
使用 TIG 堆栈获得更好的游戏环境可观察性,从而实现更快的检测和减少停机时间。Playtech 构建了一个系统,该系统将业务指标 (BI) 和关键绩效指标 (KPI) 的监控和警报与经济过程的规律性结合起来,并使用了 InfluxDB、Alerta 和 Grafana。
Grafana 和 InfluxDB 为云应用程序构建了监控解决方案
TIG 堆栈为您提供了构建监控基于云的应用程序的系统所需的一切。例如,Robinhood 使用 InfluxDB、Grafana 和 Faust(一个用于 Kafka 流的开源 Python 流处理库)创建了一个基于自动化阈值的异常检测系统。
使用 InfluxDB 和 Grafana 的物联网和工业物联网监控用例
使用 Telegraf、InfluxDB 和 Grafana 收集来自工厂、制造厂、卫星和智能设备的传感器和设备指标。这将使管理和运营团队能够深入了解工厂车间机器的健康状况和生产力。
使用 TIG 堆栈进行工业物联网分析
使用 Telegraf、InfluxDB 和 Grafana 的工业物联网解决方案提供对制造过程的实时洞察和分析——收集、存储和可视化来自传感器、PLC、SCADA 和工业设备的数据。德州仪器使用 TIG 堆栈来发现其运营中的低效率并提高产品标准。
使用 Grafana 和 InfluxDB 的企业物联网解决方案
此类解决方案使企业能够将物理对象与企业系统连接起来。EnerKey 的能源管理平台显着提高了其客户的能源成本节约。
安装 Telegraf、InfluxDB 和 Grafana
Telegraf
Telegraf 用 Go 编写,编译成一个没有外部依赖项的单个二进制文件,并且只需要最小的内存占用。下载 Telegraf 以用于您的平台或架构(Linux、Windows、Mac OS、Ubuntu 和 Debian、RedHat 和 CentOS),并按照文档中的安装说明进行操作。
InfluxDB
InfluxDB 用 Go 编写,包含您在一个二进制文件中所需的一切。为您的平台或架构(Linux、Windows、Mac OS、Docker、Kubernetes、Raspberry Pi)下载 InfluxDB,并按照文档中的安装说明进行操作。一旦您的 InfluxDB 实例启动并运行,您就可以更新您的 Telegraf 配置以将数据发送到您的实例。
Grafana
下载并安装 Grafana 以用于您的平台(Debian / Ubuntu、基于 RPM 的 Linux - CentOS、Fedora、OpenSuse、Red Hat、macOS 和 Windows)。安装完成后,在数据源配置中,选择 InfluxDB 数据源,然后开始探索指标。
Grafana 和 InfluxDB 资源和工具
- 博客:如何使用 InfluxDB、Flux 和 InfluxQL 构建 Grafana 仪表板
- 文档:将 Grafana 与 InfluxDB Cloud 结合使用
- 集成:InfluxDB 和 Grafana
- 网络研讨会:如何使用 SNMP、InfluxDB、Telegraf 和 Grafana 监控 DOCSIS 设备
- 博客:如何在 Docker 上设置 InfluxDB、Telegraf 和 Grafana:第 1 部分 & 第 2 部分
InfluxDB 和 Grafana 常见问题解答
什么是 InfluxDB 和 Grafana?
InfluxDB 是一个开源时间序列数据库,用于收集和存储来自您的系统、设备和堆栈的指标。Grafana 是一款开源仪表板工具,可与多种数据源一起使用。开发人员可以共同构建用于 DevOps 和物联网分析用例的实时监控系统。
如何将 InfluxDB 链接到 Grafana?
Grafana 原生支持 InfluxDB 作为数据源。用户在构建仪表板时配置 Grafana 以使用 InfluxDB Cloud 或本地 InfluxDB 实例,并使用他们首选的查询语言(SQL、InfluxQL 或 Flux)。
哪个数据库最适合 Grafana?
Grafana 支持多种不同的数据源,如时间序列数据库,如 Graphite、Prometheus、InfluxDB、AWS Timestream 等。此外,您还可以将 Grafana 与日志数据存储(如 Elasticsearch 和 Splunk)一起使用。
Grafana 用于什么目的?
开发人员将 Grafana 与 InfluxDB 一起使用,为其时间序列(指标和事件)数据构建可视化(仪表板)。这些仪表板支持跨各种用例的许多有用图形。
InfluxDB 是否有任何 GUI?
有。InfluxDB 具有内置的 Web 管理用户界面,可帮助用户查看其存储桶、查询其数据、分配权限、构建查询和任务以及一些简单的仪表板用途。对于任何重要的用途,无论是写入还是查询数据,HTTP API(读取、写入)、客户端库或命令行界面都是其他选择。
Grafana 与 Tableau 相同吗?
Grafana 和 Tableau 之间存在重大差异。Grafana 是一款广泛的软件应用程序,而 Tableau 更侧重于商业分析。Grafana 在时间序列、应用程序监控和服务器监控方面具有出色的功能。一个人使用服务器学习 Tableau 非常困难。
Kibana 和 Grafana 之间有什么区别?
Kibana 可用于将 ELK 日志数据转换为时间序列数据以进行可视化,并且还可以存储和检索日志。Grafana 被开发为一种交互式可视化工具,可以处理几组数据,例如来自日志的时间序列。但是,Grafana 并非旨在处理文本搜索。