Hello Zimbra Customers, Partners & Friends,
Zimbra traditionally stores Authentication Tokens, CSRF Tokens and log-on timestamps to LDAP. On Zimbra systems with a large number of active users, this increases the load on the LDAP server, which can cause LDAP responses to slow down.
Zimbra supports storing short-lived data (aka ephemeral data) to a separate SSDB database server. SSDB is a high performance key-value(key-string, key-zset, key-hashmap) NoSQL database, an alternative to Redis. SSDB is more suitable for this short-lived type of data.
This blog shows you how to install SSDB and configure Zimbra 9 to use SSDB on a single server Zimbra 9 installation. For more information on setting up SSDB in a cluster see the Zimbra Admin guide.
**One more thing worth mentioning is that the Zoom Zimlet makes use of SSDB and does not work without it.
Installing SSDB
First install build tools.
On Ubuntu:
apt install build-essential autoconf
On RedHat:
yum groupinstall "Development Tools"
Then download, compile and install SSDB from source as root:
cd /root/ wget https://github.com/ideawu/ssdb/archive/master.zip unzip master cd ssdb-master make sudo make install
The make install command will install SSDB to /usr/local/ssdb
.
SSDB works best by using Init scripts this way you can start SSDB on boot.
On Ubuntu:
cp /root/ssdb-master/tools/ssdb.sh /etc/init.d/
On RedHat:
cp /root/ssdb-master/tools/ssdb.sh /etc/init.d/ssdb
Open the ssdb file in the init.d folder and change the line:
configs="/data/ssdb_data/test/ssdb.conf"
to:
configs="/usr/local/ssdb/ssdb.conf"
Finally enable and start SSDB:
On RedHat:
chkconfig --add ssdb chkconfig ssdb on
On Ubuntu:
chmod a+x /etc/init.d/ssdb.sh update-rc.d ssdb.sh defaults
Test if the init script works by rebooting the server (the whole operating system), after the boot completes check if SSDB runs by checking if it listens:
#netstat command is in net-tools, to install net-tools: # yum/apt install net-tools netstat -tulpn | grep 8888 #expected output: tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN 619/ssdb-server
SSDB logs into syslog, you can cat /var/log/syslog | grep ssdb
to find error messages.
Configuring Zimbra to use SSDB
su - zimbra /opt/zimbra/bin/zmmigrateattrs ssdb:127.0.0.1:8888 zmprov mcf zimbraEphemeralBackendURL ssdb:127.0.0.1:8888
References
- https://zimbra.github.io/zimbra-9/adminguide.html#ephemeral_data
- https://ssdb.io/docs/install.html
- https://github.com/ideawu/ssdb
Thanks,
Your Zimbra Team
Looks like no more updates in “last login time” in Admin Console after SSDB has been implemented.
But zimbraLastLogonTimestamp is correct and we have zimbraLastLogonTimestampFrequency 1d..
Thanks, if have added a comment to only use this guide on Zimbra 9.