首页 > 解决方案 > 关于事务监控

问题描述

我们希望通过存储 starttime 、 endtime 、 user 、 server 节点来监控服务响应时间,如果服务失败,则还需要存储异常详细信息。

我们不想使用昂贵的关系数据库来存储这些数据。如果我们采用如下 JSON 结构,MongoDB 会是一个不错的选择吗?是否有任何其他数据库推荐用于此用例?

{
startTime:"01 Nov 2021 10:00:00"
endTime : "01 Nov 2021 10:00:03"
user:Tom
serviceName: retrieveCustomers
serverIp :127.0.01
error : {
  errorStackTrace : "Null pointer exception...."
 } 
}

请注意,我们应该能够通过用户名查询交易、耗时超过 5 秒的交易、错误交易等。

标签: mongodbelasticsearchprometheuselk

解决方案


回答这个问题需要更多的上下文。但是,让我在这里告诉您我的观点:

我会在ELK这里使用框架而不是 Mongo,因为Search/比 inAggregation快得多。Elastic SearchMongoDB

注意:上面的陈述是基于我对这两者的经验,Elastic通过MongoDb在类似机器上对 50M 的数据集运行聚合。


推荐阅读