【发布时间】:2016-06-26 16:50:41
【问题描述】:
我已经用两台机器设置了 ejabberd 集群。我正在对 ejabberd 服务器日志进行日志分析。但是,这两个机器都将 ejabberd 日志记录在它们的本地目录中。 那么,问题是如何将两台机器的日志存储在ejabberd集群的同一目录下。
【问题讨论】:
我已经用两台机器设置了 ejabberd 集群。我正在对 ejabberd 服务器日志进行日志分析。但是,这两个机器都将 ejabberd 日志记录在它们的本地目录中。 那么,问题是如何将两台机器的日志存储在ejabberd集群的同一目录下。
【问题讨论】:
ejabberd 只能在本地存储每个节点的日志。您需要使用外部工具/脚本来收集和合并日志以进行分析。例如,您可以有一个脚本,在本地机器上复制日志,在具有适当节点名称的同一目录中,解析它们并合并它们。
其他方法是使用Rollbar之类的工具将日志集中到远程服务上(这是一个SaaS平台,所以有成本)。您可以集成 Rollbar Erlang 库(如 https://github.com/omarkj/erollbar)以将错误报告给 Rollbar 而不是标准记录器。
另一种方法是将您选择的服务的更大后端集成到 ejabberd 中。例如,您可以添加 Lager Graylog 后端以将日志集中在 Graylog 服务器上:https://github.com/avalente/lager_graylog_backend
最后,您可以为 Lager 编写自己的自定义日志处理程序,并将其与 ejabberd 一起使用,向您自己的自定义服务报告错误。
【讨论】: