【监控】使用开源Grafana和InfluxDB可视化时间序列数据
NGINX最近委托约1825名NGINX用户进行的一项调查显示,约68%的受访者组织正在使用或调查微服务,66%的受访者组织正在使用或调查容器。当您谈论一个样本池的“三分之二”时,您正在处理一个相当大的区块。
不管怎样,你要问其他的NX用户在做什么。
正如本出版物的读者所知,采用这些技术是有代价的。DevOps团队通常会比以前有更多的活动部件需要监控。更重要的是,他们正在监控更多短暂的组件,这可能会促使他们使用几种不同的监控解决方案。
InfluxData的InfluxDB和Grafana这两个流行的开源项目的合作可以帮助他们监视和控制云基础设施、应用程序和数据库实例以及容器,从而为DevOps提供一个统一的视图或单一的窗口。
InfluxData提供了一个时间序列数据平台,用于收集和存储用于监控的度量和事件。它包括一个流引擎和100多个收集器代理,用于从多个源收集度量并将其存储在时间序列数据库中。该数据库针对高写负载和大数据集存储进行了优化。它通过下采样、自动过期和删除不需要的数据来节省空间。它还带有一个优雅的UI,支持警报阈值,可以触发流行的工具,如HipChat、OpsGenie、Alerta、Sensu、PagerDuty和Slack。
Grafana是一个供应商中立、开源的时间序列分析平台,拥有超过100000个活动安装。DevOps团队求助于Grafana实验室,帮助他们将不同的数据源整合在一起。它与扩展数据的无缝集成使其成为可视化收集的度量的理想工具。
如何设置Grafana和XDB
您可以从这里下载XDB和相关工具,也可以从这里下载Grafana。
对于扩展数据,您需要一个代理来收集和存储度量。我们推荐我们自己的Telegraf,它有100多个插件,尽管您可以使用传统的收集代理,如StatsD。
XDB和Grafana进程可能共享同一服务器或同一实例。但是,如果您希望安装大量XDB、拥有大量Grafana用户,或者如果您的组织具有特别严格的安全态势或部署配置文件,那么单独的服务器也是完全可以接受的。XDB的API通常默认为端口8086,Grafana的默认为端口3000。Grafana将查询XDB API,以便为仪表板收集数据。
在这两个应用程序中,InfluxDB将是内存和CPU密集度更高的应用程序,因为Grafana的许多工作都发生在一个非常轻量级的基于浏览器的应用程序中。
InfluxDB和 Grafana安装配置
在一起设置InfluxDB和Grafana的默认配置时,可以启用查询日志,该日志将记录执行或发送到InfluxDB API时的所有查询。这样的日志对于调试Grafana问题可能很有用。使用配置的coordinator部分设置最大并发查询数。这可能有助于改善多个Grafana用户同时通过查询访问XDB的问题。您还可以设置查询超时,并记录查询运行缓慢时的时间。
“最大选择点”、“最大选择系列”和“最大选择存储桶”设置限制可以返回的结果数。这可以帮助阻止一个特别扩展的查询减慢或关闭XDB服务器。
Grafana的配置文件包括一些有用的设置,如http端口和路由器日志记录,加快了浏览器的加载时间。
Grafana的安全设置
每个Grafana实例都有一个默认的管理员用户和密码,您需要对其进行更改。默认情况下,Grafana的注册过程允许非管理员用户创建组织。因此,我们建议将“启用匿名访问”选项设置为“false”
如果您打算调试Grafana,那么您肯定会提高日志级别进行调试。Grafana将公布有关自身的指标。Telegraf有一个内置的普罗米修斯输入,所以你可以把它指向Grafana。这样,您可以收集内部指标,将它们放入XDB,然后在Grafana中绘制它们的图形。
如果您正在使用InfluxCloud,并且需要配置对Grafana上不同组和用户的访问权限,请查看以下简短的网络研讨会:“InfluxCloud与多租户Grafana”同样,要使用Grafana UI设置图形并利用InfluxDB查询生成器,请参阅“如何将Grafana与InfluxDB一起使用”
构建仪表板并设置图表
Grafana的仪表盘与上面的仪表盘一样,是一组行和面板,一旦选择XDB作为其数据源,就可以编辑这些行和面板。可以轻松更改图形显示为直线、条形或点的方式。在这些图中,您可以使用任何喜欢的聚合器,选择多个字段,或者使用移动平均等转换。
每个Grafana图实际上都是对InfluxDB的查询。如果您有一个包含30个图形的仪表板,那么您将向InfluxDB发送30个查询,以及需要由InfluxDB整理结果,然后通过Grafana发送回的30个查询。考虑过多的图表是否对你有用。
尽管Grafana对一个图表上显示的指标数量没有限制,但您仍希望跟踪对您监控性能、提取见解或启用预测最有用的指标。
这两个开源项目应该非常适合您的DevOps监控项目,并且不需要花时间进行设置和定制。
原文:https://thenewstack.io/visualize-time-series-data-open-source-grafana-i…
- 93 次浏览