我可以为在线用户查询 ejabberd 数据库吗

Can i query ejabberd database for online users

我有 ejabberd 16.03,我想查询数据库以获取管理面板中显示的在线用户。

有人可以帮助我吗? table 我要查询哪个?

我想我可以做类似的事情:

SELECT * FROM lasts WHERE

我需要它来连接另一个 table 外部数据库。感谢您的帮助!

您可以使用

select * 来自 sm

用于 odbc 作为后端

如果 ejabberd 配置 auth 方法是内部的,您可以从 mnesia 数据库或您配置的任何数据库(如 redis 等)获取在线用户,例如-

auth_method: internal  //you can find it in ejabberd.yml

如果 ejabberd auth 方法是 odbc 你可以从你配置的数据库中查询(sm table 如果用户id存在于sm table中,则存储当前会话进程id的位置表示用户在线)。欲了解更多详情,请访问 ejabberd authentication config docs