IIS 7 Web Site State Monitor Type

Microsoft.Windows.Server.IIS.IISWebSiteStateMonitor.2008 (UnitMonitorType)

Element properties:

RunAsSystem.PrivilegedMonitoringAccount
AccessibilityInternal
Support Monitor RecalculateFalse

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.Server.IIS.IISStateDataSource.2008 Default
FilterStarted ConditionDetection System.ExpressionFilter Default
FilterStopped ConditionDetection System.ExpressionFilter Default
StartedMapper ConditionDetection System.Performance.DataGenericMapper Default
StoppedMapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
PeriodInSecondsint$Config/PeriodInSeconds$Interval(sec)

Source Code:

<UnitMonitorType ID="Microsoft.Windows.Server.IIS.IISWebSiteStateMonitor.2008" Accessibility="Internal" RunAs="System!System.PrivilegedMonitoringAccount">
<MonitorTypeStates>
<MonitorTypeState ID="Started" NoDetection="false"/>
<MonitorTypeState ID="Stopped" NoDetection="false"/>
</MonitorTypeStates>
<Configuration>
<xsd:element minOccurs="1" name="PeriodInSeconds" type="xsd:integer"/>
<xsd:element minOccurs="1" name="SiteID" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="PeriodInSeconds" Selector="$Config/PeriodInSeconds$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.Windows.Server.IIS.IISStateDataSource.2008">
<PeriodInSeconds>$Config/PeriodInSeconds$</PeriodInSeconds>
<Type>All</Type>
</DataSource>
<ConditionDetection ID="FilterStarted" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='$Config/SiteID$']</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Started</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="FilterStopped" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Property[@Name='$Config/SiteID$']</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value>Started</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection ID="StartedMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>Web Site</ObjectName>
<CounterName>State</CounterName>
<InstanceName>$Config/SiteID$</InstanceName>
<Value>1</Value>
</ConditionDetection>
<ConditionDetection ID="StoppedMapper" TypeID="SystemPerf!System.Performance.DataGenericMapper">
<ObjectName>Web Site</ObjectName>
<CounterName>State</CounterName>
<InstanceName>$Config/SiteID$</InstanceName>
<Value>0</Value>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="Started">
<Node ID="StartedMapper">
<Node ID="FilterStarted">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="Stopped">
<Node ID="StoppedMapper">
<Node ID="FilterStopped">
<Node ID="DS"/>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
</MonitorImplementation>
</UnitMonitorType>