我有一个多模块运行,我想检索数据,并通过一个集中的日志存储它。模块是用C或Python编写的。记录器是用Python编写的。数据是通过POST请求发送到服务器的JSON对象。你知道吗
我不确定是否应该为每个模块添加向记录器报告数据的功能,或者记录器是否应该请求检索该信息本身。为了简化示例,假设我有两个模块,一个是监视数据,需要每秒连续报告一个值。第二个模块将根据事件报告数据。当事件发生时,需要记录它。所以它会记录随时可能发生的值的变化。你知道吗
我这样问是因为我不想为记录器上的每个模块引入依赖关系。另一种方法是另一小块代码,它始终从第一个模块检索值,并监视第二个模块中的值是否有变化。然后在需要时将数据传递给记录器。你知道吗
第一个模块的数据如下所示,格式为(时间戳,值):
[(0,100), (1,110), (2,120), (3, 100)]
从第二个开始:
[(0,0), (10, 5), (12, 7), (20, 5)]
我认为这是一个很好的问题,很多人都错了。以下是需要考虑的几点:
有两种方法: 1在每台生成事件的机器上运行一个简单的代理,如rsyslog、nxlog或logstash。这些代理知道如何获取JSON或其他格式,并将它们高效地传送到中心记录器。它将减少集成负担,并将性能影响降至最低
您可以查看Github(https://github.com/logzio)上的http://Logz.io存储库,您可以使用一些开源附加程序(用于#2)。你知道吗
祝你好运。你知道吗
相关问题 更多 >
编程相关推荐