我已经用两台机器设置了ejabberd集群。我正在对ejabberd服务器日志进行日志分析。但是,机器存储ejabberd都记录在他们的本地目录中。 因此,问题在于如何在同一目录中的ejabberd集群中存储两台计算机日志。
答案 0 :(得分:0)
ejabberd只能在本地存储每个节点的日志。您需要使用外部工具/脚本来收集和合并日志以进行分析。您可以使用一个脚本,例如在本地计算机上复制日志,在具有节点名称的同一目录中,解析它们并合并它们。
其他方法是使用Rollbar之类的工具将日志集中在远程服务上(这是一个SaaS平台,因此需要付费)。您可以将Rollbar Erlang库(如https://github.com/omarkj/erollbar)集成到Rollbar而不是标准记录器中报告错误。
另一种方法是将更大的后端集成到您的ejabberd中。例如,您可以添加Lager Graylog后端以集中Graylog服务器上的日志:https://github.com/avalente/lager_graylog_backend
最后,您可以为Lager编写自己的自定义日志处理程序,并将其与ejabberd一起使用,以向您自己的自定义服务报告错误。