Graphite,Elastisearch,Cloudwatch,Prometheus,InfluxDB都是Grafana支持的后端。我正在使用grafana前端创建一个应用程序,但是无法理解这些后端是如何不同的,哪些最适合我的应用程序(更喜欢开源)。我的用例是从外部服务器导入的静态日志文件,我想解析并填写由grafana使用的数据库。数据最多可包含5000个时间序列数据点,可进行约100次测量。无需分发数据库。我很乐意获得一些关于如何从中选择支持数据库的技巧。在此先感谢!!
答案 0 :(得分:5)
Brian给出了很好的答案,但增加了更多。您必须将监控视为3组数据,不幸的是,在OSS中,您需要大量的工具和项目。监控的基础包括指标(Grafana擅长可视化的数字),事件(非结构化文本,如ELK擅长收集和可视化)和元数据(关系,配置和其他两个元素)类别)。
大多数人会为每个人使用不同的技术堆栈。
度量: 石墨 - 旧的,但经过充分验证(使用RRD数据存储) InfluxDB - 最新,但不太成熟。可能是今天最好的技术
Prometheus - 使用基于专有二进制文件的数据存储。
活动: ElasticSearch - 基于Java的非结构化数据存储,需要大量的硬件来扩展。
一旦您有可视化的指标和事件,您就需要一堆工具。在ElasicSearch上,ELK堆栈是最常见的E = ElasticSearch L = Logstash(摄取日志)K = Kibana(可视化)。另一种选择是Greylog,它比Kibana恕我直言更好。
Grafana很常见,但不是最好的可视化。不幸的是,那里的OSS工具对于今天的指标来说并不是很好。
答案 1 :(得分:1)
这听起来像是一个事件记录用例,所以Elasticsearch可能是你最好的选择。
对于指标用例,普罗米修斯将是一个不错的选择。