Monitor de unidade de limite

Microsoft.JEE.ThresholdUnitMonitor (UnitMonitorType)

Um monitor de unidade com base em HTTP GET para recuperar dados e validar intervalos de valores.

Element properties:

RunAsDefault
AccessibilityPublic
Support Monitor RecalculateTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.JEE.Monitoring.UrlProbe.Stats.DataSource Default
Probe ProbeAction Microsoft.JEE.Monitoring.UrlProbe.Stats.ProbeAction Default
CDOverThreshold ConditionDetection System.ExpressionFilter Default
CDUnderThreshold ConditionDetection System.ExpressionFilter Default
CD_Filter ConditionDetection System.ExpressionFilter Default
PerfMapper ConditionDetection System.Performance.DataGenericMapper Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
ComputerNamestring$Config/ComputerName$Nome do computadorO nome do computador que hospeda o servidor de aplicativos.
Protocolstring$Config/Protocol$ProtocoloO protocolo a ser utilizado para fazer a chamada HTTP.
Portstring$Config/Port$PortaO número da porta a ser utilizado para fazer a chamada HTTP.
BaseURLstring$Config/BaseURL$URL BaseA URL base a ser usada para encontrar o BeanSpy.
IntervalSecondsint$Config/IntervalSeconds$IntervaloO valor de tempo (em segundos) entre as chamadas no monitor.
TimeoutSecondsint$Config/TimeoutSeconds$Tempo limiteO valor de tempo limite (em segundos) para inatividade no monitor.
Thresholdint$Config/Threshold$Limite (valor absoluto)O valor do limite para comparação.

Source Code:

<UnitMonitorType ID="Microsoft.JEE.ThresholdUnitMonitor" Accessibility="Public">
<MonitorTypeStates>
<MonitorTypeState ID="UnderThreshold"/>
<MonitorTypeState ID="OverThreshold"/>
</MonitorTypeStates>
<Configuration>
<xsd:element name="ComputerName" type="xsd:string"/>
<xsd:element name="Protocol" type="xsd:string"/>
<xsd:element name="Port" type="xsd:string"/>
<xsd:element name="BaseURL" type="xsd:string"/>
<xsd:element name="URLSuffix" type="xsd:string"/>
<xsd:element name="IntervalSeconds" type="xsd:integer"/>
<xsd:element name="TimeoutSeconds" type="xsd:integer"/>
<xsd:element name="MetricName" type="xsd:string"/>
<xsd:element name="Threshold" type="xsd:double"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="ComputerName" ParameterType="string" Selector="$Config/ComputerName$"/>
<OverrideableParameter ID="Protocol" ParameterType="string" Selector="$Config/Protocol$"/>
<OverrideableParameter ID="Port" ParameterType="string" Selector="$Config/Port$"/>
<OverrideableParameter ID="BaseURL" ParameterType="string" Selector="$Config/BaseURL$"/>
<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int"/>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
<OverrideableParameter ID="Threshold" Selector="$Config/Threshold$" ParameterType="int"/>
</OverrideableParameters>
<MonitorImplementation>
<MemberModules>
<!-- Note: this datasource will run on all application server where the -->
<!-- BeanSpy is running. -->
<DataSource ID="DS" TypeID="Microsoft.JEE.Monitoring.UrlProbe.Stats.DataSource">
<ComputerName>$Config/ComputerName$</ComputerName>
<Protocol>$Config/Protocol$</Protocol>
<Port>$Config/Port$</Port>
<BaseURL>$Config/BaseURL$</BaseURL>
<URLSuffix>$Config/URLSuffix$</URLSuffix>
<IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</DataSource>
<ProbeAction ID="Probe" TypeID="Microsoft.JEE.Monitoring.UrlProbe.Stats.ProbeAction">
<ComputerName>$Config/ComputerName$</ComputerName>
<Protocol>$Config/Protocol$</Protocol>
<Port>$Config/Port$</Port>
<BaseURL>$Config/BaseURL$</BaseURL>
<URLSuffix>$Config/URLSuffix$</URLSuffix>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</ProbeAction>
<!-- The filter is used to filter out the relevant item from the property bags -->
<!-- returned from the DataSource, this needs to be done so the mapper does not -->
<!-- try to map invalid data and terminate the workflow -->
<ConditionDetection ID="CD_Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<Exists>
<ValueExpression>
<XPathQuery Type="String">$Config/MetricName$</XPathQuery>
</ValueExpression>
</Exists>
</Expression>
</ConditionDetection>
<!-- Map the property bag item into PerfData so the ExpressionFilters can determine -->
<!-- the values of the counters -->
<ConditionDetection TypeID="Performance!System.Performance.DataGenericMapper" ID="PerfMapper">
<ObjectName>Configuration</ObjectName>
<CounterName>Temp</CounterName>
<InstanceName>Temp</InstanceName>
<Value>$Data/$Config/MetricName$$</Value>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CDOverThreshold">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<ConditionDetection TypeID="System!System.ExpressionFilter" ID="CDUnderThreshold">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Double">Value</XPathQuery>
</ValueExpression>
<Operator>LessEqual</Operator>
<ValueExpression>
<Value Type="Double">$Config/Threshold$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
</MemberModules>
<RegularDetections>
<RegularDetection MonitorTypeStateID="UnderThreshold">
<Node ID="CDUnderThreshold">
<Node ID="PerfMapper">
<Node ID="CD_Filter">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
<RegularDetection MonitorTypeStateID="OverThreshold">
<Node ID="CDOverThreshold">
<Node ID="PerfMapper">
<Node ID="CD_Filter">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</RegularDetection>
</RegularDetections>
<OnDemandDetections>
<OnDemandDetection MonitorTypeStateID="UnderThreshold">
<Node ID="CDUnderThreshold">
<Node ID="PerfMapper">
<Node ID="CD_Filter">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</OnDemandDetection>
<OnDemandDetection MonitorTypeStateID="OverThreshold">
<Node ID="CDOverThreshold">
<Node ID="PerfMapper">
<Node ID="CD_Filter">
<Node ID="DS"/>
</Node>
</Node>
</Node>
</OnDemandDetection>
</OnDemandDetections>
</MonitorImplementation>
</UnitMonitorType>