Overview
This HowTo describes how to configure WebADM to send logs to the local syslog and optionally after to a remote syslog (rsyslog) server. Procedure may change according to the operating system, this configuration has been tested with CentOS Stream and RHEL OS. Please, refer to Rsyslog documentation for more information.
Configuration
WebADM configuration
On WebADM side, you need to edit the following configuration file :
/opt/webadm/conf/webadm.conf
Then you have to configure/enable the following settings:
log_syslog yes
syslog_facility LOG_LOCAL0
syslog_format CEF
Here, we are using le syslog facility local0 and the logs format is configured to the CEF which is a standard for every SIEM solutions.
Restart WebADM with the following command in order for changes takes effect:
/opt/webadm/bin/webadm restart
WebADM configuration is done.
Syslog configuration
WebADM is now configured to send logs to /var/log/local0.log. If the file does not already exist, you have to create it.
touch /var/log/local0.log
Set the proper permissions to /var/log/local0.log file:
chmod 600 /var/log/local0.log
chown root:root /var/log/local0.log
For Debian/Ubuntu OS, permissions should be as follow:
chmod 600 /var/log/local0.log
chown syslog:adm /var/log/local0.log
Now, configure the following in /etc/rsyslog.conf:
#### RULES ####
local0.* /var/log/local0.log
Restart syslog and rsyslog services.
systemctl restart rsyslog
systemctl restart syslog
Verification
WebADM logs should now be sent to /var/log/local0.log
cat /var/log/local0.log
...
2026-01-23T15:58:28.677636+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|New openotpStatus SOAP request|INFO|rt=1769180308 sid=DKMN767J
2026-01-23T15:58:28.679103+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Checking OpenOTP license for RCDevs Documentation|INFO|rt=1769180308 sid=DKMN767J
2026-01-23T15:58:28.679431+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|License Ok (41/100 active users)|INFO|rt=1769180308 sid=DKMN767J
2026-01-23T15:58:28.707589+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Sent status response (Ok)|INFO|rt=1769180308 sid=DKMN767J
2026-01-23T15:58:47.513353+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|New openotpNormalLogin SOAP request|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513650+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Username: Administrator|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513691+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Domain: rcdevsdocs|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513731+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Client ID: OpenID|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513776+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Source IP: 192.168.3.166|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513808+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Context: eeae479b8b12e2a2ae0697dc616441dd|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.513837+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|> Options: -LDAP|INFO|rt=1769180327 sid=BGSEIGVK
2026-01-23T15:58:47.528140+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Registered openotpNormalLogin request|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166
2026-01-23T15:58:47.586754+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Resolved LDAP user: CN=Administrator,CN=Users,DC=rcdevsdocs,DC=com (route #00)|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166
2026-01-23T15:58:47.587002+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Resolved LDAP groups: Organization Management,Enterprise Key Admins,Group Policy Creator Owners,Domain Admins,Enterprise Admins,Schema Admins,Administrators,Remote Desktop Users,Denied RODC Password Replication Group (route #00)|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166
2026-01-23T15:58:47.598571+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Started transaction lock for user|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.599243+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Found user language: EN|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.599312+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Found 1 user emails: yoann@rcdevs.com|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.607060+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Found 53 user settings: LoginMode=LDAP,OTPType=TOKEN,PushLogin=Yes,ChallengeMode=Yes,ChallengeTimeout=90,OTPLength=6,OfflineExpire=30,MobileTimeout=30,EnableLogin=Yes,SelfRegister=Yes,HOTPLookAheadWindow=25,TOTPTimeStep=30,TOTPTimeOffsetWindow=120,OCRASuite=OCRA-1:HOTP-SHA256-6:QN06-T1M,U2FPINMode=Preferred,SMSType=Normal,SMSMode=Ondemand,ReplyData=[1 Items],MailMode=Ondemand,PrefetchExpire=10,LastOTPTime=300,ListChallengeMode=ShowID|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.699906+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Encryption key #a72c39a5 not available anymore|ERROR|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.699987+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Requested login factors: No factor available|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.700020+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Encryption key #a72c39a5 not available anymore|ERROR|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.700050+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Updated user data|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
2026-01-23T15:58:47.700087+01:00 webadm1 webadm[298142]: CEF:0|RCDevs|WebADM|2.4.13-2|OpenOTP|Sent login success response|INFO|rt=1769180327 sid=BGSEIGVK src=192.168.3.166 suser=rcdevsdocs\Administrator
The structure of the generated logs in CEF format is the following:
DATE | SERVER NAME | Process Name & PID | LOG FORMAT | Product Provider | Product name | Product version | Web Service/Application name | Request summary | severity | Log details
Configure syslog to send logs to a remote syslog server
In order to send local syslog logs to a remote syslog, you have to edit the file /etc/rsyslog.conf and add the following:
local0.* action(type="omfwd"
queue.type="linkedlist"
queue.filename="rcdevs_fwd"
action.resumeRetryCount="-1"
queue.saveOnShutdown="on"
target="192.168.10.250" port="514" protocol="tcp"
)
Just replace the target and port by your Rsyslog IP address/hostname, port and protocol if needed according to your Rsyslog server configuration. On my side it is 192.168.10.250, port 514/TCP. Your system may use other ports for sending logs over TCP, such as 1470.
Restart syslog and rsyslog services.
systemctl restart rsyslog
systemctl restart syslog
Logs should now be sent to your Rsyslog server.
