Funnelback system services
Introduction
The installer sets up various OS services needed for Funnelback to function properly. On Windows these services can be administered via the Windows Administrative Tools / Services control panel, whereas on Linux each service has a corresponding /etc/init.d/
script.
Funnelback daemon service (funnelback-daemon)
This service is an umbrella for various subservices. The list of services to start can be configured in global.cfg using daemon.services
. Available subservices are:
FilterService
: Provides an HTTP interface to the document filtering system. Required for TRIMPush collectionsGenerateCertificates
: Generates SSL certificates needed by Squiz Matrix collectionsRemoveStaleLocks
: Remove collection update locks left over after an unexpected system reboot.TRIMWatcher
: Watch any changes in TRIM records to re-gather them as soon as possible. Required for advanced TRIMPush collections with a TRIM event processor.WebDavService
: Provides a WebDAV interface to the Funnelback installation folder, to support transferring files in multiple query processors configurations.
Jetty web server (funnelback-jetty-webserver)
This service runs the embedded webserver (Jetty) that provides the administration interface as well as the search results interface and most Funnelback API services.
Funnelback graph service (funnelback-graph)
This service runs Neo4j which is used to provide knowledge graph services for Funnelback.
Redis (funnelback-redis)
This service runs Redis, a third party key-value store. Redis is used to store information about collection update progress and status, and is required for the administration interface to function properly.
Funnelback utilises the system mail service to handle delivery of email notification.
- Under Linux, the built-in sendmail service is used.
- Under Windows, BLAT is used to configure Funnelback to use an existing SMTP server. See: Changing the email server on Windows
Service configuration
Each service can be configured through its configuration file in $SEARCH_HOME/services/<service>.service
.
These service files are generated by $SEARCH_HOME/bin/setup/start_funnelback_on_boot.pl
. This script is run once during the Funnelback installation to generate the service files, and register the services on the OS. If you run this script again, the services files will be re-generated and overwritten. Each service file is based on a template used by start_funnelback_on_boot.pl
, from $SEARCH_HOME/bin/setup/service-templates/
. Modifications made in these templates will be kept when start_funnelback_on_boot.pl
is run, but these files are overwritten during an upgrade.
Jetty web server configuration
There are a number of settings that can be configured relating to the Jetty web server.
These include:
- server ports
- SSL certificate installation
- logging
See: Configuring the Jetty web server
Adjusting service memory allocation
Memory defaults which are written to the service files can be adjusted by adding or updating the relevant settings within the global.cfg
. The default values can be viewed in the global.cfg.default
file.
- Funnelback daemon:
daemon.max_heap_size
- Jetty web server:
jetty.max_heap_size
andjetty.max_metaspace_size
- Funnelback graph:
neo4j.max_heap_size
Values for these settings are in the form accepted by Java's -Xmx
option (e.g. 128m).
Please note that after changing these settings, the service files must be regenerated and reinstalled by running
$SEARCH_HOME/bin/setup/start_funnelback_on_boot.pl
Service troubleshooting
Each service produces two log files, in $SEARCH_HOME/log/
which are rotated:
- A
<service>-wrapper.log
file containing the log of the service wrapper process (in charge of monitoring and restarting the actual service) - A
<service>.log
file with the messages from the actual service.
Starting and stopping services
Funnelback services are managed using the host operating system's service management interface.
- Linux services are managed using
init.d
scripts and started, stopped and restarted using thesystemctl
command. - Windows services are managed using the services control panel.
See: Starting and stopping Funnleback services