The availability monitor for the BAM portal
BAM portal is used by the business end users to monitor Key Performance Indicators (KPIs), which measures progress toward a business goal, as well as other information about their business process.
The health of BAM portal depends on health of the processes in BAM Portal website and BAM Application Pool.
This commonly happens in the following situations: web server is not running or the application pool is disabled.
Ensure the web server is running and the application pool is correctly configured.
RunAs | Default |
Accessibility | Public |
Support Monitor Recalculate | True |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
ScriptDS | DataSource | Microsoft.BizTalk.Server.2016.Monitor.BAMPortal.DataSource | Default |
ScriptPA | ProbeAction | Microsoft.BizTalk.Server.2016.Monitor.BAMPortal.ProbeAction | Default |
FilterNotRunning | ConditionDetection | System.ExpressionFilter | Default |
FilterRunning | ConditionDetection | System.ExpressionFilter | Default |
ID | ParameterType | Selector | Display Name | Description |
---|---|---|---|---|
IntervalSeconds | int | $Config/IntervalSeconds$ | Interval Seconds | This is the interval (in seconds) at which the monitor is run. |
LogSuccessEvent | bool | $Config/LogSuccessEvent$ | Log Success Event | An event is logged based on successful completion of the monitor when value is set to 'true'. |
TimeoutSeconds | int | $Config/TimeoutSeconds$ | Timeout Seconds | This is the timeout (in seconds) after which execution of the monitor is terminated if not yet completed. |
<UnitMonitorType ID="Microsoft.BizTalk.Server.2016.BAMPortal.AvailabilityMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="SuccessState" NoDetection="false"/>
<MonitorTypeState ID="ErrorState" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="IntervalSeconds" type="xsd:int"/>
<xsd:element name="TargetServer" type="xsd:string"/>
<xsd:element name="TargetWebSite" type="xsd:string"/>
<xsd:element name="LogSuccessEvent" type="xsd:boolean"/>
<xsd:element name="TimeoutSeconds" type="xsd:int"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="LogSuccessEvent" Selector="$Config/LogSuccessEvent$" ParameterType="bool"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="ScriptDS" TypeID="Microsoft.BizTalk.Server.2016.Monitor.BAMPortal.DataSource">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<TargetServer>$Config/TargetServer$</TargetServer>
<TargetWebSite>$Config/TargetWebSite$</TargetWebSite>
<LogSuccessEvent>$Config/LogSuccessEvent$</LogSuccessEvent>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
<ProbeAction ID="ScriptPA" TypeID="Microsoft.BizTalk.Server.2016.Monitor.BAMPortal.ProbeAction">
<TargetServer>$Config/TargetServer$</TargetServer>
<TargetWebSite>$Config/TargetWebSite$</TargetWebSite>
<LogSuccessEvent>$Config/LogSuccessEvent$</LogSuccessEvent>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</ProbeAction>
<ConditionDetection ID="FilterRunning" TypeID="System!System.ExpressionFilter">
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>1</Pattern>
</RegExExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterNotRunning" TypeID="System!System.ExpressionFilter">
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>0</Pattern>
</RegExExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="SuccessState">
<Node ID="FilterRunning">
<Node ID="ScriptDS"/>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="ErrorState">
<Node ID="FilterNotRunning">
<Node ID="ScriptDS"/>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="SuccessState">
<Node ID="FilterRunning">
<Node ID="ScriptPA"/>
</Node>
</OnDemandDetection>
<OnDemandDetection MonitorTypeStateID="ErrorState">
<Node ID="FilterNotRunning">
<Node ID="ScriptPA"/>
</Node>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>