XMPP 流量记录 (ejabberd 13.12)

Posted

技术标签:

【中文标题】XMPP 流量记录 (ejabberd 13.12)【英文标题】:XMPP traffic logging (ejabberd 13.12) 【发布时间】:2014-06-03 10:10:49 【问题描述】:

mod_logxml 模块似乎与 ejabberd 13.12 版本不兼容。安装此模块时 Ejabberd 无法启动。

我的问题是 - 是否有另一种方法可以记录(文件、数据库等)ejabberd 发送和接收的所有 XMPP 数据包?

【问题讨论】:

【参考方案1】:

是的,如果您找不到适合您需要的任何内容,您可以制作自己的日志模块。

您可以使用我开发的模块作为参考。该模块将拦截类型为“chat”或“groupchat”的节并将确认发送回发送者。

您可以通过删除类型来修改此模块,以便它拦截所有节类型并将您想要的任何内容记录到数据库中,而不是将消息发送回发送者。

https://github.com/Mingism/ejabberd-stanza-ack

【讨论】:

【参考方案2】:

我已更改 mod_logxml.erl 使其适用于 eJabberd 13.12。你必须输入

ejabberd/src/

配置为 ejabberd.yml 格式:

mod_logxml: stanza: [message, other] direction: [external] orientation: [send, recv] logdir: "/var/jabber/logs/" timezone: universal rotate_days: 1 rotate_megs: 100 rotate_kpackets: no check_rotate_kpackets: 1

Repository

【讨论】:

我忘记取消注释“Proc!”在receive_packet 中的行。我已经编辑了 repo。

以上是关于XMPP 流量记录 (ejabberd 13.12)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 XMPPHP 客户端创建 XMPP(ejabberd) 用户

Python 和 EJABBERD/XMPP [关闭]

XMPP eJabberd PSI 配置

如何在 ejabberd 中的 xmpp 消息正文中附加自定义数据

如何在 ejabberd/XMPP 中获取所有在线用户的列表?

SIP/XMPP:ejabberd 和 mod_register:注册:禁止