Monitoring your Semaphore server
- Last Updated: May 13, 2026
- 4 minute read
- Semaphore
- Documentation
Generally the Semaphore software executes with little intervention. Various back-end components run as Windows services or within existing applications such as a web server so should start up automatically in the case of system reboot (all Semaphore specific Windows services are generally set to “Automatic” start-up). Having said that, automated processes that check to ensure all of the processes are correctly running is a good idea in a production environment (using tools such as Nagios).
The following sections provide information regarding the specific services (including ports and URLs) and log files used by the various Semaphore applications that should be monitored to ensure the software is operational. Note that the information provided here is based upon default configuration information that may have been altered by whoever installed/configured the software so the notes taken during the configuration should be reviewed prior to setting up any monitoring. The recommended approach to setting up automatic monitoring would be to do the following:
- Determine what applications are installed, where they are installed and the port numbers they are listening on (as appropriate).
- Manually test each application as indicated in the following sections.
- Configure an automated process to perform the same tests as performed manually (above) and to extract/review information in the various application log files. Log file details can be found in True Generally any log file messages that are “Errors” should probably trigger an alert in the monitoring process (though “Warnings” should probably be reviewed as well).
Note: “Publisher” normally executes on an ad-hoc basis so is not something that it is automatically monitored though the publisher log files should be regularly examined to see if any errors have occurred (or anyone manually performing the publish should always ensure they see a success message at the end of the process). Similarly, language packs are simply installed and do not actually execute other than as a functional component of Classification Server.
Windows services to be monitored
The following Windows services (if present) should be monitored on relevant servers (the exact name of the service should be determined by examining the relevant Semaphore servers):
- Semaphore <Version> - Classification Server <Revision>
- Semaphore <Version> - Semantic Enhancement Server
- Semaphore <Version> - Studio (da)
- Semaphore <Version> - Studio (kmm)
- Semaphore <Version> - Studio (studio)
Monitoring should consist of simply checking to see that these services are running (if possible, examining whether the associated processes are running on the server is even better).
Web services to be monitored
The following web services (if present) should be monitored on relevant servers:
- Semaphore Studio - By default, on any machine on which it is installed, Semaphore Studio runs within a JSP-servlet container listening on port 5080. A GET request to “http://<server>:5080/” should return the main HTML page for the application.
- Classification Server - By default, on any machine on which it is installed, Classification Server listens on both port 5058 and 5059. A GET request to “http://<server>:5050/” should return the main HTML page of the “Classification Analysis Tool”.
- Semantic Enhancement Server - By default, on any machine on which it is installed, Semantic Enhancement Server is hosted in a specifically configured instance of SoLR listening on the default port of 8983 and, if running in the default “SOLR Cloud” mode, port 9983. A GET request to “http://<server>:8983/ses/” should return instance information.
Resource usage and monitoring
Some Semaphore components require large amounts of resources, such as:
- Knowledge Model Management - RAM usage is generally high due to having to load all model information into memory but CPU usage is only high during loading or when performing intensive operations
- Semaphore Classification Server - RAM and CPU activity is generally very high
- Semantic Enhancement Server - Minimal CPU/RAM used by the baseline component and the search component is only used as requested by users so search uses resources as needed
- Publisher - When publishing CPU/RAM usage may be very high. Generally, this process is on-demand unless set up as a scheduled task.
The resource usage of these applications should be regularly monitored to ensure that the server is not being overwhelmed and to ensure it is working correctly. Reconfiguration of some or all of the services may be required to work within a given environment (see the “welcome” document for details).
Note: For performance reasons, on any installation server, any anti-virus software configured for on-access virus scanning should be configured to consider how temporary and data files are stored by the Semaphore software. See “[CONVERSION ERROR: MISSING FILE ./admin-windows/administrative_tasks/excluding.md]” for further details.
Note: “Knowledge Model Management” also has a facility to show any long running, possibly resource consuming, tasks. In the tool access this information via the “Current Requests” option under the “spanner” menu in the top right. 