自动将日志从keycloak数据库传输到syslog

问题描述 投票:0回答:2

我知道 Keycloak 将其所有“登录事件”保存在服务器的“事件”选项卡中,同时也保存在数据库中(我在standalone.xml 中遇到了引用 KeycloakDS 和 Keycloak 数据库的行)。因此我的问题是——既然登录事件保存在数据库中,有没有办法自动将它们直接保存到 Syslog 中?是否有任何自动机可以从数据库复制数据并将其保存在系统日志中?我听说过 Keycloak 的各种扩展(MQTT、RabbitMQ 或各种事件监听器),但我不知道它们是否可以用于直接自动将数据从 Keycloak 数据库复制到 Syslog。有人可能有任何想法/建议吗?

database events keycloak syslog keycloak-services
2个回答
1
投票

您可以实现自定义 EventListener,将所有事件传输到 Syslog。

https://www.keycloak.org/docs/latest/server_development/index.html#_events

在您的实现中,您可以使用 syslog Appender(您可以在 JBoss/wildfly 级别配置它,请参阅standalone.xml 中的日志配置)。


0
投票

较新的版本已经默认登录到控制台,如果使用 systemd,则会遍历到日志,并且也可以由 rsyslogd 或类似工具获取。

获取登录事件所需要做的就是修改日志级别,以便 INFO 级别消息到达日志处理程序中。不幸的是,此信息不在配置或日志记录页面的前面。

bin/kc.[sh|bat] start --spi-events-listener-jboss-logging-success-level=info --spi-events-listener-jboss-logging-error-level=info

© www.soinside.com 2019 - 2024. All rights reserved.