Graphite、Elastisearch、Cloudwatch、Prometheus、InfluxDB 都是 Grafana 支持的后端。我正在创建一个带有 grafana 前端的应用程序,但无法理解这些后端的不同之处以及最适合我的应用程序的应用程序(更喜欢开源)。我的用例是从外部服务器导入的静态日志文件,我想解析并填写要由 grafana 使用的数据库。对于大约 100 次测量,数据最多可以有 5000 个时间序列数据点。数据库不需要分布。我很高兴获得一些关于如何从中选择支持数据库的提示。提前致谢!!
问问题
6756 次
2 回答
6
布莱恩的回答很好,但增加了更多。您必须将监控视为 3 组数据,不幸的是,在 OSS 中,您需要大量的工具和项目组合。监控的基础包括指标(数字,例如 Grafana 擅长可视化的内容)、事件(非结构化文本,例如 ELK 擅长收集和可视化的内容)和元数据(关系、配置和其他跨越其他两个元素的元素)类别)。
大多数人会为每个人使用不同的技术栈。
指标:
- Graphite - 旧的,但经过充分验证(使用 RRD 数据存储)
- InfluxDB - 最新,但不太成熟。可能是当今最好的技术
- Prometheus - 使用基于专有二进制文件的数据存储。
事件:
- ElasticSearch - 基于 Java 的非结构化数据存储,需要大量硬件来扩展。
一旦你有了可视化的指标和事件,你就需要一堆工具。在 ElasicSearch 上,ELK 堆栈是最常见的 E = ElasticSearch L = Logstash(摄取日志) K = Kibana(可视化)。另一种选择是 Greylog,它比 Kibana 恕我直言更好。
Grafana 很常见,但不是最好的可视化。不幸的是,目前的 OSS 工具在指标方面并不出色。
于 2016-06-08T13:15:29.057 回答
1
这听起来像是一个事件记录用例,所以 Elasticsearch 可能是你最好的选择。
对于指标用例,Prometheus 将是一个不错的选择。
于 2016-06-08T08:50:33.207 回答