Microsoft Azure SQL Database Geo-Replication Link State Unit Monitor Type

Microsoft.SqlServer.Azure.UnitMonitorType.DatabaseReplicationLinkState (UnitMonitorType)

This unit monitor type checks SQL Database locks Geo-Replication Link State.

Element properties:

RunAsDefault
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SqlServer.Azure.Module.DatabaseReplicationLinkState Default
CriticalCondition ConditionDetection System.ExpressionFilter Default
HealthyCondition ConditionDetection System.ExpressionFilter Default
ResourceNameFilter ConditionDetection System.ExpressionFilter Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
IntervalSecondsint$Config/IntervalSeconds$Interval (seconds)The recurring interval of time in seconds in which to run the workflow.
SyncTimestring$Config/SyncTime$Synchronization TimeThe synchronization time specified by using a 24-hour format. May be omitted.
TimeoutSecondsint$Config/TimeoutSeconds$Timeout (seconds)Specifies the time the workflow is allowed to run before being closed and marked as failed.
SqlTimeoutSecondsint$Config/SqlTimeoutSeconds$Timeout for database connection (seconds)A period in which the workflow must establish connection to the database.
HttpTimeoutSecondsint$Config/HttpTimeoutSeconds$Request timeout (seconds)Gets or sets the timespan to wait before the request times out.
MonitoringModestring$Config/MonitoringMode$Monitoring ModeDefines monitoring mode.

Source Code:

<UnitMonitorType ID="Microsoft.SqlServer.Azure.UnitMonitorType.DatabaseReplicationLinkState" Accessibility="Internal">
<MonitorTypeStates>
<MonitorTypeState ID="Healthy" NoDetection="false"/>
<MonitorTypeState ID="Critical" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IntervalSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SyncTime" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ServerName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DatabaseName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="UseRest" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="MonitoringMode" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AuthorityDetails" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SubscriptionId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ResourceGroupName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SqlTimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="HttpTimeoutSeconds" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ResourceName" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SyncTime" Selector="$Config/SyncTime$" ParameterType="string"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="SqlTimeoutSeconds" Selector="$Config/SqlTimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="HttpTimeoutSeconds" Selector="$Config/HttpTimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="MonitoringMode" Selector="$Config/MonitoringMode$" ParameterType="string"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.SqlServer.Azure.Module.DatabaseReplicationLinkState">
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<SyncTime>$Config/SyncTime$</SyncTime>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
<ServerName>$Config/ServerName$</ServerName>
<DatabaseName>$Config/DatabaseName$</DatabaseName>
<UseRest>$Config/UseRest$</UseRest>
<MonitoringMode>$Config/MonitoringMode$</MonitoringMode>
<AuthorityDetails>$Config/AuthorityDetails$</AuthorityDetails>
<SubscriptionId>$Config/SubscriptionId$</SubscriptionId>
<ResourceGroupName>$Config/ResourceGroupName$</ResourceGroupName>
<SqlTimeoutSeconds>$Config/SqlTimeoutSeconds$</SqlTimeoutSeconds>
<HttpTimeoutSeconds>$Config/HttpTimeoutSeconds$</HttpTimeoutSeconds>
</DataSource>
<ConditionDetection ID="ResourceNameFilter" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Property[@Name='ResourceName']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Config/ResourceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="HealthyCondition" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">2</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Not>
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='State']</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
</Not>
</Expression>
</Or>
</Expression>
</ConditionDetection>
<ConditionDetection ID="CriticalCondition" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='State']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="Integer">2</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Healthy">
<Node ID="HealthyCondition">
<Node ID="ResourceNameFilter">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Critical">
<Node ID="CriticalCondition">
<Node ID="ResourceNameFilter">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>