Redis

Beginning with opsi 4.2, the opsi server depends on a running Redis server, typically operating on port 6379. Redis, short for Remote Dictionary Server, is an in-memory database characterized by a simple key-value data structure, also known as a Key Value Store. This makes it a non-relational database. Within the opsi environment, Redis’s primary role is to support communication among multiple worker processes on a system.

Should you choose the opsi-server-full package during server installation (as detailed in the chapter Installation and Setup), both the Redis server and the RedisTimeSeries module will be automatically installed and configured on the opsi server. However, if you plan to deploy Redis on a separate server, you might want to opt for the opsi-server or opsi-server-expert packages, followed by installing the redis-server or redis-timeseries packages on the chosen server.

The opsiconfd admin page offers access to Redis status information, enables the execution of Redis commands, and provides the option to clear the Redis cache. For additional information, please consult the section Redis Interface.

Configuration

The /etc/redis/redis.conf file holds the Redis server configuration tailored by the opsi developers. This configuration includes the loading of the RedisTimeSeries module, among other features. Additionally, it specifies that Redis should operate as a background service, listening on port 6379 across all interfaces. The configuration also sets the log level to notice and directs the log output to /var/log/redis/redis-server.log.

Furthermore, the configuration file dictates that a database dump be created in the file named dump.rdb, located in the /var/lib/redis directory. For more information about this process, please refer to the section Backup of the Redis database.

Optimizing Performance

You can enhance the performance of Redis when used in conjunction with opsi. By default, opsiconfd connects to the Redis server using TCP/IP on port 6379. However, if the Redis server and the opsi server are on the same system, you have the option to connect via a Unix socket. As per the Redis documentation, this method can yield a throughput approximately 50% higher than a TCP/IP connection.

To enable connection through the Unix socket, modify the unixsocket setting in the /etc/redis/redis.conf file. Furthermore, you need to update the redis-internal-url parameter in the /etc/opsi/opsiconfd.conf file to unix://<path-to-redis-server.sock>.

It’s important to ensure that the opsiconfd user has the necessary access rights to the socket for a successful connection via the Unix socket. For more information on this, refer to the chapter Authorizations.