The Management, Instrumentation, and Discovery (MID) Server is a Java application that runs as a Windows service or UNIX daemon. The MID Server facilitates communication and movement of data between the ServiceNow platform and external applications, data sources, and services.
The "MID Server" isn't really a server, but a service that runs on a server. If applications on your company network are not exposed to the internet, and you want ServiceNow to interface with them, a mid server is needed.
Most companies that use ServiceNow have at least one mid server configured.
MID Server Setup
HOW TO SETUP MID SERVER WITH INSTALLER
Multiple MID Servers on the Same Host Computer
MID Server Troubleshooting
Here are some of the common issues that prevent a mid server from working properly.
Troubleshooting Flowchart
SERVICENOW USER ACCOUNT ISSUE
If you are unable to complete the steps below, you may not have the ServiceNow user account correctly to run a MID Server.
- Create a ServiceNow MID user record for the MID Server to use. This user record must have the mid_server role. Also check that the user is active and not locked out.
- Verify that the user name and password combination that is being used by the MID Server is correct. This can be accomplished by logging into the target ServiceNow instance with the same set of credentials.
- Verify that the MID Server user has sufficient rights to the required tables. Log into the ServiceNow instance as the MID Server user. Check to see if you are able to navigate to the following tables and successfully read and create records: ecc_queue, sys_data_source.
Please note that changes on the roles of the MID Server user does not take effect for an active MID Server service until it is restarted.
SERVER ACCOUNT ISSUE
You need a service account to run the service on the Midserver.
To configure/check your credentials:
- Open the Windows Services console.
- Double-click the ServiceNow <MID Server name> service for each MID Server.
- Select the Log On tab.
- Set Log on as privileges with Domain User or Local Admin credentials.
- In the General tab, set Startup type to Automatic.
- Click OK.
SERVICE NOT STARTED
Start the MID Server Service on Windows
- Log into the host machine as a privileged user.
- Start the Services console (Start > Run > services.msc).
- Right click on the service name (by default it starts with ServiceNow MID Server) and select Start from the context menu.
On Windows, a service is installed when the MID Server is started. In order for this service to be installed, typically a (domain) administrator account is required. Once the service is installed, it can run as a local user or a domain user. If there is an issue with starting the service and or having the service remain in a running state, check that the "run as" user has proper write access to the agent folder and its subfolders.
If not, contact your Windows administrator. Alternatively, deploying a new MID Server as an administrator with a fresh download on the installation files will typically resolve service issues.
Start the MID Server Service on Unix/Linux
- Log into the host machine as a privileged user.
- Change the directory to the path of the parent agent folder (/service-now/<mid server name>/agent).
- Execute the shell script start.sh.
MID Server Upgrade Issue
When the MID Server service has correct access to an auto-upgrade and it detects a discrepancy between its reported version and the instance version, it will upgrade.
During this time, the service may be running, but the MID Server is not very responsive. Do not interrupt the upgrade process of cource. Review the agent and wrapper logs for details.
Please note that auto-upgrades fail if the domain user does not have the ability to create services.
To troubleshoot upgrade errors that may occur, see MID Server Upgrades in the product documentation.
Network Issue
The MID Server connects to a ServiceNow instance via the SOAP web service (TCP port 443). Typically, opening a web browser on the host machine and navigating to the URL https://<instance name>.service-now.com should be successful. Additionally, from a command prompt, verify that the following commands are successful:
- ping <instancename>.service-now.com
- telnet <instancename>.service-now.com 443
If not, contact your network administrator and have them adjust the port 443 availability.
Instance Configuration Issue
These issues can occur if you have altered your ServiceNow configuration:
- The MID Server uses SOAP Web Service with basic authorization to communicate with the instance. Verify that System Properties > Web Services > "Require basic authorization for incoming SOAP requests" is checked
- The following Scripted Web Services must be active: GetMIDInfo, InstanceInfo, MIDAssignedPackages, MIDFieldForFileProvider, MIDFileSyncSnapshot, MIDServerCheck, MIDServerFileProvider. To view the list of available scripted web services, navigate to System Web Services > Scripted Web Services
- The Public Page InstanceInfo is required to allow the MID Server to validate its version. Verify that this page is active by navigating to sys_public.list
- Verify that the MID Server user has sufficient rights to the required tables. Log into the ServiceNow instance as the MID Server user. Check to see if you are able to navigate to the following tables and successfully read and create records: ecc_queue, sys_data_source.