繁体   English   中英

ELK堆栈用于存储计量数据

[英]ELK stack for storing metering data

在我们的项目中,我们使用ELK堆栈将日志存储在一个集中的位置。 但是我注意到最近版本的ElasticSearch支持各种聚合。 此外,Kibana 4支持很好的图形方式来构建图形。 即使最近版本的grafana现在也可以使用Elastic Search 2数据源。

因此,这一切是否意味着ELK堆栈现在可以用于存储系统内收集的计量信息,或者它仍然不能被视为现有解决方案的重要竞争对手:石墨,流入数据库等等。 如果是这样,有没有人使用ELK进行生产计量? 你能分享一下你的经历吗?

为了澄清这些概念,我认为将数据计量为可以聚合的东西,并且在“随着时间的推移”中显示在图形中,而不是主要用例正在搜索的常规日志消息。

非常感谢提前

是的,您可以使用Elasticsearch来存储和分析时间序列数据。

更确切地说 - 这取决于您的使用案例 例如我的用例 (金融工具价格刻度历史数据, 在开发中 )我能够获得40.000个文件插入/秒~125个字节的文件 ,每个11个字段 - 1个时间戳,字符串和小数,意味着5MB / s的有用数据14小时/天 ,在单个节点 (大型现代服务器,192GB内存)上由企业SAN 支持(由旋转磁盘支持 ,而不是SSD!)。 我去存储高达1TB的数据 ,但我预测2-4TB也可以在单个节点上运行。

所有这些都是使用默认配置文件设置 ,但ES_HEAP_SIZE为30GB除外。 我怀疑通过一些调整可以在该硬件上获得明显更好的写入性能(例如,我发现很奇怪iostat以25-30%报告设备使用率,好像Elastic正在限制它/保留i / o带宽用于读取或合并......但也可能是%util是SAN设备不可行的指标..)

查询性能也很好 - 只要您使用时间和/或其他字段限制结果数据集,查询/ Kibana图表就会快速返回。

在这种情况下,您不会使用Logstash加载数据 ,而是将大批量的批量插入直接插入Elasticsearch。 https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

您还需要定义映射 https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html以确保弹性分析您想要的数据(数字,日期等)。创建所需的索引级别等。

对于这种使用情况的其他建议的做法是用每一天的单独的索引 (或月/周取决于你插入率),并确保指数只有足够的碎片创建以保存1天的数据中 (默认情况下新指标使用5个分片创建,并且分片的性能在​​分片增长超过一定大小后开始降级 - 通常为几十GB,但对于您的用例可能会有所不同 - 您需要进行测量/实验)。

使用Elasticsearch 别名 https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-aliases.html有助于处理多个索引,并且是一般建议的最佳做法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM