我正在用Django + Celery开发一个Web应用程序,并且我希望添加一个简单的堆栈来让我跟踪事件并获取统计信息。我的第一个想法是Elasticsearch + Kibana,但我不想让我的部署复杂化(我已经在使用AWS Elasticsearch)。所以我想知道为什么当我可以直接将事件发送到Elasticsearch(在Celery的背景下)时,我需要Logstash之类的东西。使用芹菜作为Logstash的简单替代方案
例如,如果我必须设置Redis或RabbitMQ将消息发送到Logstash,以便它可以发送到Elasticsearch,那么我可以对我已经运行的Celery执行相同的操作。
我的计划是从Django调用一个Celery任务,并将一系列事件发送给Elasticsearch。我正在使用AWS SQS连接Celery。
我明白,用Logstash我可以合并不同的来源,但这不是我现在的问题。实际上,我已经在使用AWS CloudWatch集中日志,这可以完成与Logstash相同的工作,但将JSON事件直接发送到Elasticsearch更容易。
当然,我错过了一些东西,因为我没有发现任何人使用芹菜。但我想知道原因。
我的网络现在非常小,我应该专注于其他领域,如果没有必要,我的部署会变得非常复杂。
让我明白,我的问题是不与经纪人的设置,因为我已经使用一个芹菜。在那一点上我没有解释清楚。我担心为什么发送统计信息到Logstash,我可以用同样的方式发送到我正在使用的Celery。 您的回答证实了我的怀疑:当存在异构数据源时,Logstash更有用。 –