TN - 1493 How to monitor the status of your AVEVA License Server
Last updated: September 29th, 2025Description
- Author: Glenn Yancey
- Published: September 29th, 2025
Details:
The following technote from InSource shows how to create an Alarm in System Platform for when it loses connection to the license server. This would allow the Operator to see an Alarm, so that they can acknowledge that the License Server is unavailable.
- Import the following Script Library
- Go to Galaxy/Import/Script Library
- DIRECTORY: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\6.0.36\
- FILE: System.ServiceProcess.DLL
-
I created an Object called LicenseMonitorObj with an attribute called “LicenseServerStatusBit”. It is best to have this object under a Platform that is NOT the Galaxy Repository NOR where the License Server resides. We are trying verify the remote connectivity from one node to the License Server node.
- Data Type – Boolean
- Writeability – Object Writeable
- I/O = NO
-
State Alarms – ON
- Active alarm state - False
- Priority – Best to make this a number less than 250 so that it is considered a CRITICAL severity alarm.
-
Create a new script called “Monitor” in the LicenseMonitorObj.
- Execution Type: Execute
- Period: 00:01:00.0000000 (every minute)
- BODY OF SCRIPT:
'Create a Local Variable to Represent the Node Name where the license server resides.
Dim RemoteNode as STRING;
RemoteNode = "THE NODENAME OF THE LICENSE SERVER ";
'Create a new Local Variable and Instantiate it using the 'System.ServiceProcess.ServiceController()".
'The First Parameter represents the name of the MS Service (as shown in "Services.msc", the second represents the Remote Node). This will have the service to ping for the Application by its name which is “AVEVA Enterprise License Core Service”.
Dim svc = New System.ServiceProcess.ServiceController("AVEVA Enterprise License Core Service", RemoteNode);
'Create another local variable as a String to contain the status and then equate that to the STATUS property.
'The Status.ToString() property of the instantiated variable "SVC" is used to return the status back in a true string format.
Dim statusString As STRING;
statusString = svc.Status.ToString();
'This is only if you want a line in the SMC or OCMC logger to show the license status.
LogMessage("The AVEVA License Server is: " + StatusString);
'Since I can't really ALARM against the StatusString, I am using this to equate its value to 1 if RUNNING and STOPPED if at 0
'LICENSESERVERSTATUSBIT is a Boolean NON I/O Attribute that I created in my object which allows for ALARMS based on STATE.
if statusString == "Running" THEN
Me.LicenseServerStatusBit = 1;
else if statusString == "Stopped" THEN
Me.LicenseServerStatusBit = 0;
endif;
endif;
- Save and Check-in the LicenseMonitorObj object.
- Deploy the object under a platform that is different than where the license server resides. It must be an object server where the object resides (AOS).
- You can test by temporarily disabling the AVEVA Enterprise License Core Service under SERVICES in Windows which should generate an alarm in your InTouch or OMI's alarm client after a minute.
- The Alarm should show up in Red due to the setting of the Priority level to be below 250.
- In addition to the alarm, you might also see a warning in the Operations Control Management Console (OCMC) under the Log Viewer.