Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin


...

scrollbar


 What

nameofinstance.xml

Description

Configuration for the SystemMetrics module

schema location

http

https://

fews

fewsdocs.

wldelft

deltares.nl/schemas/version1.0/systemMetrics.xsd

 

Introduction to SystemMetrics

The Admin Interface and the SystemMonitor in the client provide a means of monitoring the Delft-FEWS live system. The Delft-FEWS SystemMetrics module can be run within a workflow to store several of these numbers as timeseries into the database. This workflow is only available in Direct Database Access mode (DDA).

Database rows and bytes (MB)

Image Removed

Image Removed

Image Removed

 

 

Table rows and bytes (MB)

Image Removed

Image Removed

Image Removed

LogEntries

Image Removed

Image Removed

Image Removed

Image Removed

Image Removed

MCStatus

Image Removed

Image Removed

 

Image Removed

Image Removed

 

Image Removed

Image Removed

FSS down, FSS queue length, FSS build number

Image Removed

 

Image Removed

Image Removed

Sample configuration

Parameters


Warning

The significant changes on the Delft-FEWS architecture for the 2017.02 roadmaps has rendered certain elements of the SystemMetrics from the McStatus section meaningless. In below configuration examples it is documented, which configuration elements have been removed from 2017.02 (see "no longer present in 2017.02 and later" comments on this page). Note that the SystemMetrics module uses the McStatusView and FssStatusView. Unfortunately these two views have not been available in all the delivered 2017.02 release packages. New versions of McStatusView and FssStatusView will be officially present in 2018.01 again. Ask Fews support if you need the McStatusView and FssStatusView in 2017.02 or use the view_creation script from the latest 2017.02 mc build.

In 2017.02 and later, please remove the following elements from the SystemMetrics module configuration file (parameters and filters should probably cleaned up as well) otherwise errors will be logged:

   <oclListenerParameterId>M.S.ocl</oclListenerParameterId>
   <fslListenerParameterId>M.S.fsl</fslListenerParameterId>
   <synchListenerParameterId>M.S.synchL</synchListenerParameterId>
   <synchRunnerParameterId>M.S.synchR</synchRunnerParameterId>
   <synchTaskListenerParameterId>M.S.synchTL</synchTaskListenerParameterId>
   <tmLauncherParameterId>M.S.tmLa</tmLauncherParameterId>        
   <tmChaserParameterId>M.S.tmC</tmChaserParameterId>
   <tmLogProcessorParameterId>M.S.tmLP</tmLogProcessorParameterId>
   <sysMonListenerParameterId>M.S.sysmL</sysMonListenerParameterId>
   <sysMonMonitorParameterId>M.S.sysmM</sysMonMonitorParameterId>
   <sysMonHeartbeatParameterId>M.S.sysmH</sysMonHeartbeatParameterId>


Warning

The significant changes on the Delft-FEWS architecture for the 2018.02 roadmaps has rendered the FssStatus section meaningless. In below configuration examples it is documented, which configuration elements have been removed from 2018.02 (see "no longer present in 2018.02 and later" comments on this page).

In 2018.02 and later, please remove the following elements from the SystemMetrics module configuration file (parameters and filters should probably cleaned up as well) otherwise errors will be logged:

<buildVersionParameterId>M.N.build</buildVersionParameterId>
<queueLengthParameterId>M.N.fsQL</queueLengthParameterId>
<downParameterId>M.N.fsDown</downParameterId>


Table of Contents

Introduction to SystemMetrics

The SystemMonitor in the client and the Admin Interface provide monitoring of the Delft-FEWS live system. In addition, the Delft-FEWS SystemMetrics module can be run regularly within a workflow to store several of these statistics as timeseries into the database. This workflow is only available in Direct Database Access mode (DDA), and should therefore be provided a workflow mapping to a DDA FSS. There are a number of configuration requirements when using SystemMetrics. It is required to define a dummy location and a number of qualifiers and parameters. Timeseries are stored in non-equidistant timestep: one value for every time the module runs. See the sample configuration below for reference.

Database rows and bytes (MB)

Image Added

Image Added

Image Added

Table rows and bytes (MB)

Image Added

Image Added

Image Added

LogEntries - Errors, Warnings, ConfigErrors, ConfigWarnings

Image Added

Image Added

Image Added

Image Added

Image Added

MCStatus

Image Added

Image Added

Image Added

Image Added

Image Added

Image Added

FSS Status - down, FSS queue length, FSS build number

Image Added

Image Added

Image Added

Sample configuration

RegionConfigFiles - ModuleInstanceDescriptors.xml

Code Block
    <moduleInstanceDescriptor id="SystemMetrics"/>

RegionConfigFiles - Locations.xml

Code Block
xml
xml
    <location id="metrics" name="SystemMetrics">
        <description>SystemMetrics</description>
        <shortName>SystemMetrics</shortName>
        <x>-1</x>
        <y>-1</y>
        <z>-1</z>
    </location>

RegionConfigFiles - Parameters.xml

Div
styleoverflow: scroll;min-height: 200px; max-height: 300px;


Code Block
languagexml
<parameterGroups>
    <parameterGroup id="SystemMetricsRows">
        <parameterType>instantaneous</parameterType>
        <unit>-</unit>
        <parameter id="M.N.db" name="Database">
            <shortName>Database rows</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.ts" name="TimeSeries">
            <shortName>Timeseries</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.tsO4w" name="TimeSeries 4 week old">
            <shortName>TimeSeries</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.tsE52w" name="TimeSeries stored at least a year">
            <shortName>TimeSeries Rows 1 year or more</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.ws" name="WarmStates">
            <shortName>Warm states</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.wsE10d" name="WarmStates stored at least 10 days">
            <shortName></shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.sa" name="Samples">
            <shortName>Samples</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.te" name="ThresholdEvents">
            <shortName>ThresholdEvents</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
    </parameterGroup>
    <parameterGroup id="SystemMetricsMB">
        <parameterType>instantaneous</parameterType>
        <unit>MB</unit>
        <parameter id="M.B.db" name="Database MB">
            <shortName>Database MB</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.B.ts" name="TimeSeries MB">
            <shortName>TimeSeries MB</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.B.tsE52w" name="TimeSeries MB stored at least a year">
            <shortName>TimeSeries MB stored at least a year</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.B.wsE10d" name="WarmStates MB stored at least 10 days">
            <shortName>WarmStates stored at least 10 days</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.B.tsO4w" name="TimeSeries MB 4 week old">
            <shortName>TimeSeries MB 4 week old</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.B.ws" name="WarmStates">
            <shortName>Warm states MB</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
    </parameterGroup>
    <parameterGroup id="SystemMetrics">
        <parameterType>instantaneous</parameterType>
        <unit>-</unit>
        <parameter id="M.N.err" name="Errors">
            <shortName>Errors</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.warn" name="Warnings">
            <shortName>Warnings</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.cfgE" name="Config errors">
            <shortName>Config errors</shortName>
            <valueResolution>1</valueResolution>
        </parameter>   
        <parameter id="M.N.cfgW" name="Config warnings">
            <shortName>Config warnings</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.remMcs" name="Remote MCs">
            <shortName>Remote MCs</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.tQL" name="Task queue length">
            <shortName>TaskQueueLength</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.rt" name="Running tasks">
            <shortName>Running tasks</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.ses" name="Active sessions">
            <shortName>Active sessions</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.mccpts" name="MC components">
            <shortName>MC Components</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.ocl" name="OClistener">
            <shortName>OCL</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
    </parameterGroup>
    <parameterGroup id="SystemMetricsMCStatus">
        <parameterType>instantaneous</parameterType>
        <unit>-</unit>
        <parameter id="M.S.failO" name="Failed over">
            <shortName>Failover state</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <!-- only up to 2017.01, no longer present in 2017.02 and later !
        <parameter id="M.S.fsl" name="FSListener">
            <shortName>FSL</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.synchL" name="SynchListener">
            <shortName>SynchListener</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.synchR" name="SynchRunner">
            <shortName>SynchRunner</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.synchTL" name="SynchTaskListener">
            <shortName>SynchTaskListener</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.tmLa" name="TaskManagerLauncher">
            <shortName>Launcher</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.tmC" name="TaskManagerChaser">
            <shortName>Chaser</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.tmLP" name="TaskManagerLogProcessor">
            <shortName>LogProcessor</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.sysmL" name="SystemMonitorListener">
            <shortName>SystemMonitorListener</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.sysmM" name="SystemMonitor">
            <shortName>SystemMonitor</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.S.sysmH" name="SystemMonitor hearbeat">
            <shortName>SystemMonitorHeartbeat</shortName>
            <valueResolution>1</valueResolution>
        </parameter> -->
    </parameterGroup>
	<!-- only up to 2018.01, no longer present in 2018.02 and later !
    <parameterGroup id="SystemMetricsFSS">
        <parameterType>instantaneous</parameterType>
        <unit>-</unit>
        <parameter id="M.N.build" name="FSS build version">
            <shortName>FSS build</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.fsQL" name="FSS queue length">
            <shortName>FSS running</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
        <parameter id="M.N.fsDown" name="FSS down">
            <shortName>FSSDown</shortName>
            <valueResolution>1</valueResolution>
        </parameter>
    </parameterGroup>    -->
</parameterGroups>



Set fssId as Forecasting Shell parameter fews.master.mcproxy.conf - before 2018.02

NB. The SystemMetrics module requires that the correct fssId is provided in the Forecasting Shell configuration, i.e. fews.master.mcproxy.conf. Ensure you've replaced the obsolete argument nl.wldelft.fews.system.synch.MasterControllerSynchroniserFactory and provide the fssId instead.

Code Block
   <forecastshell>
       <run path="d:/opt/mcs/FSS00/FewsShell/bin"/>
       <jvm path="d:/opt/jre/bin/java">
            <arg id="0" value="-Xmx1024M"/>
      </jvm>
       <lib id="0" path="d:/opt/mcs/FSS00/FewsShell/bin"/>
       <class name="nl.wldelft.fews.system.shellserver.ForecastingShell">
           <arg id="0" value="FSS00"/>
			...

RegionConfigFiles - Qualifiers.xml


Code Block
languagexml
    <qualifier id="MC00"/>
    <qualifier id="MC01"/>
    <qualifier id="MC02"/>
<!-- before 2018.02, it was possible to collect system metrics per fss -->
<!--
    <qualifier id="FSS00"/>
    <qualifier id="FSS01"/>
    <qualifier id="FSS02"/>
    <qualifier id="FSS03"/>
--> 

RegionConfigFiles - Filters.xml

Div
styleoverflow: scroll;min-height: 200px; max-height: 300px;


Code Block
languagexml
    <filter id="SystemMetrics" name="SystemMetrics">
        <child foreignKey="systemMetricsRows"/>
        <child foreignKey="systemMetricsMB"/>
        <child foreignKey="systemMetricsLogEntries"/>
        <child foreignKey="systemMetricsMCStatus"/>
        <child foreignKey="systemMetricsMCComponents"/>
        <child foreignKey="systemMetricsFSSStatus"/>
    </filter>
    <filter id="systemMetricsRows" name="Rows">
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.te</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.tsO4w</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.tsE52w</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.ts</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.db</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.wsE10d</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.ws</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
    </filter>
    <filter id="systemMetricsMB" name="MB">
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.B.tsE52w</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.B.tsO4w</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.B.db</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.B.ts</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
    </filter>
    <filter id="systemMetricsLogEntries" name="LogEntries">
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.warn</parameterId>
            <qualifierId>MC00</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.cfgE</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.cfgW</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.err</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
    </filter>
    <filter id="systemMetricsMCStatus" name="Info">
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.mccpts</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.remMcs</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.rt</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.tQL</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <!--timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.fsQL</parameterId>
            <qualifierId>FSS00</qualifierId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet-->
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.N.ses</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
    </filter>
    <filter id="systemMetricsMCComponents" name="Status">
     <!-- Only usable up to 2017.01, no longer present in 2017.02 and later !
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.S.fsl</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>-->
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.S.failO</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
     <!-- Only usable up to 2017.01, no longer present in 2017.02 and later !
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.S.synchTL</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.S.synchL</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
            <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
            <parameterId>M.S.tmLP</parameterId>
            <qualifierId>MC02</qualifierId>
            <locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            <synchLevel>1</synchLevel>
        </timeSeriesSet>
        <timeSeriesSet>
Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?> <parameters version="1.0" xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/parameters.xsd"> <parameterGroups> <parameterGroup id="SystemMetricsRows">

            
<parameterType>instantaneous<
<moduleInstanceId>SystemMetrics</
parameterType>
moduleInstanceId>
            
<unit>-<
<valueType>scalar</
unit>
valueType>
            
<parameter id="M.N.db" name="Database">
<parameterId>M.S.sysmM</parameterId>
            <qualifierId>MC02</qualifierId>
           
<shortName>Database
 
rows<
<locationId>metrics</
shortName>
locationId>
            <timeSeriesType>external historical</timeSeriesType>
           
<valueResolution>1</valueResolution>
 <timeStep unit="nonequidistant"/>
            <readWriteMode>read complete 
<
forecast</
parameter>
readWriteMode>
            
<parameter id="M.N.ts" name="TimeSeries">
<synchLevel>1</synchLevel>
        </timeSeriesSet>
        
<shortName>Timeseries</shortName>
<timeSeriesSet>
            
<valueResolution>1</valueResolution>
<moduleInstanceId>SystemMetrics</moduleInstanceId>
            
<
<valueType>scalar</
parameter>
valueType>
            
<parameter id="M.N.tsO4w" name="TimeSeries 4 week old">
<parameterId>M.S.synchR</parameterId>
            
<shortName>TimeSeries</shortName>
<qualifierId>MC02</qualifierId>
            
<valueResolution>1</valueResolution>
<locationId>metrics</locationId>
            <timeSeriesType>external 
<
historical</
parameter>
timeSeriesType>
            
<parameter
<timeStep 
id
unit="
M.N.tsE52w" name="TimeSeries stored at least a year">
nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
        
<shortName>TimeSeries
 
Rows
 
1
 
year
 
or more<
<synchLevel>1</
shortName>
synchLevel>
        </timeSeriesSet>
        
<valueResolution>1</valueResolution>
<timeSeriesSet>
            
<
<moduleInstanceId>SystemMetrics</
parameter>
moduleInstanceId>
            
<parameter id="M.N.ws" name="WarmStates">
<valueType>scalar</valueType>
            <parameterId>M.S.ocl</parameterId>
            
<shortName>Warm states<
<qualifierId>MC02</
shortName>
qualifierId>
            
<valueResolution>1</valueResolution>
<locationId>metrics</locationId>
            <timeSeriesType>external 
<
historical</
parameter>
timeSeriesType>
            
<parameter
<timeStep 
id
unit="
M.N.wsE10d" name="WarmStates stored at least 10 days">
nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
            
<shortName><
<synchLevel>1</
shortName>
synchLevel>
        </timeSeriesSet>
        
<valueResolution>1</valueResolution>
<timeSeriesSet>
            
<
<moduleInstanceId>SystemMetrics</
parameter>
moduleInstanceId>
       
<parameter
 
id="M.N.sa" name="Samples">
    <valueType>scalar</valueType>
            
<shortName>Samples</shortName>
<parameterId>M.S.sysmH</parameterId>
            <qualifierId>MC02</qualifierId>
           
<valueResolution>1<
 <locationId>metrics</
valueResolution>
locationId>
            <timeSeriesType>external 
<
historical</
parameter>
timeSeriesType>
            
<parameter
<timeStep 
id
unit="
M.N.te" name="ThresholdEvents"
nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
   
<shortName>ThresholdEvents</shortName>
         <synchLevel>1</synchLevel>
       
<valueResolution>1<
 </
valueResolution>
timeSeriesSet>
        <timeSeriesSet>
    
</parameter>
        
<
<moduleInstanceId>SystemMetrics</
parameterGroup>
moduleInstanceId>
        
<parameterGroup id="SystemMetricsMB">
    <valueType>scalar</valueType>
            
<parameterType>instantaneous</parameterType>
<parameterId>M.S.tmLa</parameterId>
            
<unit>MB<
<qualifierId>MC02</
unit>
qualifierId>
            <locationId>metrics</locationId>
      
<parameter
 
id="M.B.db"
 
name="Database
 
MB">
   <timeSeriesType>external historical</timeSeriesType>
            
<shortName>Database MB</shortName>
<timeStep unit="nonequidistant"/>
            <readWriteMode>read complete 
<valueResolution>1<
forecast</
valueResolution>
readWriteMode>
            
<
<synchLevel>1</
parameter>
synchLevel>
        
</timeSeriesSet>
  
<parameter
 
id="M.B.ts" name="TimeSeries MB">
     <timeSeriesSet>
           
<shortName>TimeSeries
 
MB<
<moduleInstanceId>SystemMetrics</
shortName>
moduleInstanceId>
            <valueType>scalar</valueType>
            
<valueResolution>1</valueResolution>
<parameterId>M.S.sysmL</parameterId>
            
<
<qualifierId>MC02</
parameter>
qualifierId>
            
<parameter id="M.B.tsE52w" name="TimeSeries MB stored at least a year">
<locationId>metrics</locationId>
            <timeSeriesType>external historical</timeSeriesType>
            
<shortName>TimeSeries MB stored at least a year</shortName>
<timeStep unit="nonequidistant"/>
            <readWriteMode>read complete forecast</readWriteMode>
       
<valueResolution>1</valueResolution>
     <synchLevel>1</synchLevel>
        </
parameter>
timeSeriesSet>
        <timeSeriesSet>
    
<parameter
 
id="M.B.wsE10d"
 
name="WarmStates
 
MB
 
stored
 
at
 
least
 
10 days">
 <moduleInstanceId>SystemMetrics</moduleInstanceId>
            <valueType>scalar</valueType>
    
<shortName>WarmStates
 
stored
 
at
 
least
 
10
 
days</shortName>
   <parameterId>M.S.tmC</parameterId>
            
<valueResolution>1<
<qualifierId>MC02</
valueResolution>
qualifierId>
            
<
<locationId>metrics</
parameter>
locationId>
            
<parameter id="M.B.tsO4w" name="TimeSeries MB 4 week old">
<timeSeriesType>external historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
      
<shortName>TimeSeries
 
MB
 
4
 
week
 
old</shortName>
  <readWriteMode>read complete forecast</readWriteMode>
            
<valueResolution>1<
<synchLevel>1</
valueResolution>
synchLevel>
        </timeSeriesSet> -->
    </
parameter>
filter>
 <!-- Only usable up to 2018.01, no longer present in 2018.02 
<parameter
and later !
    <filter id="
M.B.ws
systemMetricsFSSStatus" name="
WarmStates
FSS">
   
<shortName>Warm states
 
MB</shortName>
    <timeSeriesSet>
            
<valueResolution>1<
<moduleInstanceId>SystemMetrics</
valueResolution>
moduleInstanceId>
            
<
<valueType>scalar</
parameter>
valueType>
        
</parameterGroup>
    
<parameterGroup id="SystemMetrics">
<parameterId>M.N.build</parameterId>
            
<parameterType>instantaneous<
<qualifierId>FSS00</
parameterType>
qualifierId>
            
<unit>-<
<qualifierId>MC02</
unit>
qualifierId>
            
<parameter id="M.N.err" name="Errors">
<locationId>metrics</locationId>
            <timeSeriesType>external 
<shortName>Errors</shortName>
historical</timeSeriesType>
            <timeStep unit="nonequidistant"/>
   
<valueResolution>1</valueResolution>
         <readWriteMode>read complete 
<
forecast</
parameter>
readWriteMode>
            
<parameter id="M.N.warn" name="Warnings">
<synchLevel>1</synchLevel>
        </timeSeriesSet>
        
<shortName>Warnings</shortName>
<timeSeriesSet>
            
<valueResolution>1</valueResolution>
<moduleInstanceId>SystemMetrics</moduleInstanceId>
            
<
<valueType>scalar</
parameter>
valueType>
            
<parameter id="M
<parameterId>M.N.
cfgE" name="Config errors">
fsDown</parameterId>
            <qualifierId>FSS00</qualifierId>
       
<shortName>Config
 
errors</shortName>
    <qualifierId>MC02</qualifierId>
            
<valueResolution>1<
<locationId>metrics</
valueResolution>
locationId>
            <timeSeriesType>external 
</parameter>
historical</timeSeriesType>
            
<parameter
<timeStep 
id
unit="
M.N.cfgW" name="Config warnings"
nonequidistant"/>
            <readWriteMode>read complete 
<shortName>Config warnings</shortName>
forecast</readWriteMode>
        </timeSeriesSet>
        
<valueResolution>1</valueResolution>
<timeSeriesSet>
            
<
<moduleInstanceId>SystemMetrics</
parameter>
moduleInstanceId>
            
<parameter id="M.N.remMcs" name="Remote MCs">
<valueType>scalar</valueType>
            <parameterId>M.N.fsQL</parameterId>
       
<shortName>Remote
 
MCs</shortName>
    <qualifierId>FSS01</qualifierId>
            
<valueResolution>1<
<qualifierId>MC02</
valueResolution>
qualifierId>
      
</parameter>
      <locationId>metrics</locationId>
      
<parameter
 
id="M.N.tQL"
 
name="Task
 
queue
 
length">
  <timeSeriesType>external historical</timeSeriesType>
            <timeStep 
<shortName>TaskQueueLength</shortName>
unit="nonequidistant"/>
            <readWriteMode>read complete 
<valueResolution>1<
forecast</
valueResolution>
readWriteMode>
        
</
parameter>
timeSeriesSet>
    </filter> -->



RegionConfigFiles - WorkflowDescriptors.xml

Code Block
languagexml
    <workflowDescriptor id="SystemMetrics"  <parameter id="M.N.rt" name="Running tasksname="SystemMetrics" forecast="true" visible="true">
                <shortName>Running tasks</shortName><description>SystemMetrics</description>
                <valueResolution>1</valueResolution>
  <viewPermission>Forecaster</viewPermission>
    </workflowDescriptor>

WorkflowFiles

Code Block
xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<workflow version="1.1" xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.wldelft.nl/fews https://fewsdocs.deltares.nl/schemas/version1.0/workflow.xsd">
    <activity>
      </parameter>
            <parameter id="M.N.ses" name="Active sessions">
                <shortName>Active sessions</shortName>
                <valueResolution>1<<moduleInstanceId>SystemMetrics</valueResolution>
       moduleInstanceId>
     </parameter>
            <parameter id="M.N.mccpts" name="MC components">
                <shortName>MC Components</shortName>
                <valueResolution>1</valueResolution>
            </parameter>
            <parameter id="M.S.ocl" name="OClistener">
                <shortName>OCL</shortName>
                <valueResolution>1</valueResolution>
            </parameter>
        </parameterGroup>
        <parameterGroup id="SystemMetricsMCStatusactivity>
</workflow>

ModuleConfigFiles

Div
styleoverflow: scroll;min-height: 200px; max-height: 300px;


Code Block
languagexml
<?xml version="1.0" encoding="UTF-8"?>
<systemMetrics xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.wldelft.nl/fews https://fewsdocs.deltares.nl/schemas/version1.0/systemMetrics.xsd">
    <general>
        
<parameterType>instantaneous</parameterType>
<locationId>metrics</locationId>
		<synchLevel>1</synchLevel>
   
<unit>-</unit>
 </general>
    <!-- Database total record and 
<parameter id="M.S.failO" name="Failed over">
byte count -->
    <database>
       
<shortName>Failover
 
state</shortName>
<rowCountParameterId>M.N.db</rowCountParameterId>
        <byteCountParameterId>M.B.db</byteCountParameterId>
    </database>
    
<valueResolution>1</valueResolution>
<!-- TimeSeries record and byte count -->
    <!-- When 
</parameter>
SystemMetrics is run between an ImportAmalgamate and MC_MarkedRecordManager / MC_RollingBarrel spikes are to 
<parameter id="M.S.fsl" name="FSListener">
be expected -->
    <table>
        
<shortName>FSL<
<tableName>TimeSeries</
shortName>
tableName>
        <rowCountParameterId>M.N.ts</rowCountParameterId>        
<valueResolution>1</valueResolution>

        <byteCountParameterId>M.B.ts</byteCountParameterId>
    </
parameter>
table>
    <!-- When SystemMetrics is run between an ImportAmalgamate 
<parameter id="M.S.synchL" name="SynchListener"> <shortName>SynchListener</shortName>
and MC_MarkedRecordManager / MC_RollingBarrel spikes are to be expected -->
    <table>
        <tableName>TimeSeries</tableName>
        
<valueResolution>1</valueResolution>
<rowCountParameterId>M.N.tsO4w</rowCountParameterId>        
    
</parameter>
    <byteCountParameterId>M.B.tsO4w</byteCountParameterId>
        
<parameter
<maximalAge 
id
unit="
M.S.synchR
day" 
name
multiplier="
SynchRunner
4"/>
    </table>
    <!-- TimeSeries records with an expiry time 
<shortName>SynchRunner</shortName> <valueResolution>1</valueResolution>
over longer than 52 weeks -->
    <!-- When SystemMetrics is run between an ImportAmalgamate and MC_MarkedRecordManager / MC_RollingBarrel spikes are to be expected -->
    <table>
        
<
<tableName>TimeSeries</
parameter>
tableName>
        
<parameter id="M.S.synchTL" name="SynchTaskListener">
<rowCountParameterId>M.N.tsE52w</rowCountParameterId>        
        
<shortName>SynchTaskListener</shortName>
<byteCountParameterId>M.B.tsE52w</byteCountParameterId>
        <lifeSpan unit="week" multiplier="52" />
    
<valueResolution>1<
</
valueResolution>
table>
    <!-- WarmStates record and byte 
</parameter>
count -->
    <table>
       
<parameter id="M.S.tmLa" name="TaskManagerLauncher">
 <tableName>WarmStates</tableName>
        <rowCountParameterId>M.N.ws</rowCountParameterId>        
<shortName>Launcher</shortName>

        <!-- uncomment when WarmStates are stored in 
<valueResolution>1</valueResolution>
the database, not external on disk)-->
        <
/parameter>
!--  <byteCountParameterId>B.ws</byteCountParameterId> -->
    </table>
    <table>
    
<parameter id="M.S.tmC" name="TaskManagerChaser">
    <tableName>WarmStates</tableName>
        <rowCountParameterId>M.N.wsE10d</rowCountParameterId>        
<shortName>Chaser</shortName>

        <!-- uncomment when WarmStates are stored in 
<valueResolution>1</valueResolution>
the database, not external on disk)-->
        <
/parameter>
!-- <byteCountParameterId>M.NB.wse10d</byteCountParameterId> -->
        
<parameter id="M.S.tmLP" name="TaskManagerLogProcessor"
<lifeSpan unit="day" multiplier="10" />
    </table>
    <!-- Samples record 
<shortName>LogProcessor</shortName>
count -->
    
<valueResolution>1</valueResolution>
<!-- uncomment when Samples are used -->
    <!--  <table>
        
<
<tableName>Samples</
parameter>
tableName>
        
<parameter id="M.S.sysmL" name="SystemMonitorListener">
<rowCountParameterId>M.N.sa</rowCountParameterId>
    </table>
    -->
    <!-- ThresholdEvents record 
<shortName>SystemMonitorListener</shortName>
count -->
    <table>
        
<valueResolution>1</valueResolution>
<tableName>ThresholdEvents</tableName>
        <rowCountParameterId>M.N.te</rowCountParameterId>
    </
parameter>
table>
    <!-- Counts the number of errors -->
   
<parameter id="M.S.sysmM" name="SystemMonitor">
 <logEntry>
        <rowCountParameterId>M.N.err</rowCountParameterId>
        
<shortName>SystemMonitor<
<logLevel>ERROR</
shortName>
logLevel>
    </logEntry>
    <logEntry>
        
<valueResolution>1</valueResolution>
<rowCountParameterId>M.N.warn</rowCountParameterId>
        <logLevel>WARN</logLevel>
    </
parameter>
logEntry>
    <!-- Counts the log entries with event code Config.Error -->
 
<parameter
 
id="M.S.sysmH"
 
name="SystemMonitor hearbeat">
 <logEntry>
        <rowCountParameterId>M.N.cfgE</rowCountParameterId>
        
<shortName>SystemMonitorHeartbeat<
<eventCode>Config.Error</
shortName>
eventCode>
    </logEntry>
    <logEntry>
        
<valueResolution>1</valueResolution>
<rowCountParameterId>M.N.cfgW</rowCountParameterId>
        <eventCode>Config.Warn</eventCode>
    </
parameter>
logEntry>
    <mcStatus>
    
</parameterGroup>
    <failedOverParameterId>M.S.failO</failedOverParameterId>
    
<parameterGroup
 
id="SystemMetricsFSS">
   <aliveRemoteMcCountParameterId>M.N.remMcs</aliveRemoteMcCountParameterId>
        
<parameterType>instantaneous</parameterType>
<taskQueueLengthParameterId>M.N.tQL</taskQueueLengthParameterId>
        
<unit>-</unit>
<activeTasksCountParameterId>M.N.rt</activeTasksCountParameterId>        
       
<parameter
 
id="M
<ocSessionsCountParameterId>M.N.
build" name="FSS build version">
ses</ocSessionsCountParameterId>
        <liveComponentCountParameterId>M.N.mccpts</liveComponentCountParameterId>        
<!-- Only usable up to 
<shortName>FSS build</shortName>
2017.01, no longer present in 2017.02 and later ! 
        
<valueResolution>1</valueResolution>
<oclListenerParameterId>M.S.ocl</oclListenerParameterId>
        <fslListenerParameterId>M.S.fsl</fslListenerParameterId>
    
</parameter>
    <synchListenerParameterId>M.S.synchL</synchListenerParameterId>
        
<parameter id="M.N.fsQL" name="FSS queue length">
<synchRunnerParameterId>M.S.synchR</synchRunnerParameterId>
        <synchTaskListenerParameterId>M.S.synchTL</synchTaskListenerParameterId>
        
<shortName>FSS running</shortName>
<tmLauncherParameterId>M.S.tmLa</tmLauncherParameterId>        
        
<valueResolution>1</valueResolution>
<tmChaserParameterId>M.S.tmC</tmChaserParameterId>
        
</parameter>
<tmLogProcessorParameterId>M.S.tmLP</tmLogProcessorParameterId>
        <sysMonListenerParameterId>M.S.sysmL</sysMonListenerParameterId>
    
<parameter
 
id="M.N.fsDown" name="FSS down">
   <sysMonMonitorParameterId>M.S.sysmM</sysMonMonitorParameterId>
        <sysMonHeartbeatParameterId>M.S.sysmH</sysMonHeartbeatParameterId> -->
    
<shortName>FSSDown<
</
shortName>
mcStatus>
<!-- Only usable up to 2018.01, no longer present in 2018.02 and later ! 
<valueResolution>1</valueResolution>

    <fssStatus>
        
</parameter>
<buildVersionParameterId>M.N.build</buildVersionParameterId>
        
</parameterGroup>
<queueLengthParameterId>M.N.fsQL</queueLengthParameterId>
        <downParameterId>M.N.fsDown</downParameterId>
    </
parameterGroups>
fssStatus> --> 
</
parameters>

 

...

systemMetrics>