You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by ab...@apache.org on 2014/04/02 16:21:40 UTC
[5/8] AMBARI-5296 - update Management Pack to support Hadoop
MapReduce2 and YARN services (Anatoly Nikonorov via abaranchuk)
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/HostComponentMetrics.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/HostComponentMetrics.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/HostComponentMetrics.ps1
index 8e0341f..b0e9aa2 100644
--- a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/HostComponentMetrics.ps1
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/HostComponentMetrics.ps1
@@ -26,7 +26,7 @@ function Main {
Add-MetricChildrenItems $propertyBag '' $response.metrics
- if ('namenode', 'jobtracker' -contains $response.HostRoles.component_name) {
+ if ('namenode', 'jobtracker', 'resourcemanager' -contains $response.HostRoles.component_name) {
if ($response.metrics['jvm'] -ne $null) {
$memoryUsed = $response.metrics['jvm']['memHeapUsedM']
$memoryCommitted = $response.metrics['jvm']['memHeapCommittedM']
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/SyntheticTransaction.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/SyntheticTransaction.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/SyntheticTransaction.ps1
new file mode 100644
index 0000000..7a33e9b
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/SyntheticTransaction.ps1
@@ -0,0 +1,31 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.
+
+Param ($MonitoringAmbariUri, $Username, $Password)
+
+function Main {
+ $response = InvokeRestAPI "$MonitoringAmbariUri" $Username $Password
+
+ $propertyBag = $ScriptApi.CreatePropertyBag()
+
+
+ $propertyBag
+}
+
+function ShouldCollectMetric($metricName) {
+ return 'BlacklistedNodesInfoJson', 'GraylistedNodesInfoJson', 'QueueInfoJson', 'SummaryJson', 'AliveNodesInfoJson' -notcontains $metricName
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/YarnServiceMetrics.ps1
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/YarnServiceMetrics.ps1 b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/YarnServiceMetrics.ps1
new file mode 100644
index 0000000..ac64968
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/Scripts/YarnServiceMetrics.ps1
@@ -0,0 +1,93 @@
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.
+
+Param ($MonitoringAmbariUri, $Username, $Password)
+
+function Main {
+ $response = InvokeRestAPI (JoinUri "$MonitoringAmbariUri" 'components/RESOURCEMANAGER?fields=metrics/yarn') $Username $Password
+
+ $propertyBag = $ScriptApi.CreatePropertyBag()
+
+ if ($response.metrics -eq $null) { return $propertyBag }
+
+ Add-MetricChildrenItems $propertyBag '' $response.metrics
+
+ if ($response.metrics['yarn'] -ne $null -and $response.metrics['yarn']['Queue'] -ne $null -and $response.metrics['yarn']['Queue']['root'] -ne $null)
+ {
+ $appsSubmitted = $response.metrics['yarn']['Queue']['root']['AppsSubmitted']
+ $appsFailed = $response.metrics['yarn']['Queue']['root']['AppsFailed']
+ if ($appsSubmitted -ne $null -and $appsSubmitted -gt 0 -and $appsFailed -ne $null)
+ {
+ $propertyBag.AddValue('appsfailed_percent', [Math]::Round($appsFailed / $appsSubmitted * 100, 2))
+ }
+ elseif ($appsFailed -eq 0)
+ {
+ $propertyBag.AddValue('appsfailed_percent', 0)
+ }
+ }
+
+ if ($response.metrics['yarn'] -ne $null -and $response.metrics['yarn']['ClusterMetrics'] -ne $null)
+ {
+ $NumActiveNMs = 0
+ $NumDecommissionedNMs = 0
+ $NumLostNMs = 0
+ $NumRebootedNMs = 0
+ $NumUnhealthyNMs = 0
+ if ($response.metrics['yarn']['ClusterMetrics']['NumActiveNMs'] -ne $null)
+ {
+ $NumActiveNMs = $response.metrics['yarn']['ClusterMetrics']['NumActiveNMs']
+ }
+ if ($response.metrics['yarn']['ClusterMetrics']['NumDecommissionedNMs'] -ne $null)
+ {
+ $NumDecommissionedNMs = $response.metrics['yarn']['ClusterMetrics']['NumDecommissionedNMs']
+ }
+ if ($response.metrics['yarn']['ClusterMetrics']['NumLostNMs'] -ne $null)
+ {
+ $NumLostNMs = $response.metrics['yarn']['ClusterMetrics']['NumLostNMs']
+ }
+ if ($response.metrics['yarn']['ClusterMetrics']['NumRebootedNMs'] -ne $null)
+ {
+ $NumRebootedNMs = $response.metrics['yarn']['ClusterMetrics']['NumRebootedNMs']
+ }
+ if ($response.metrics['yarn']['ClusterMetrics']['NumUnhealthyNMs'] -ne $null)
+ {
+ $NumUnhealthyNMs = $response.metrics['yarn']['ClusterMetrics']['NumUnhealthyNMs']
+ }
+ $NumTotalNMs = $NumActiveNMs + $NumDecommissionedNMs + $NumLostNMs
+
+ if ($NumTotalNMs -gt 0)
+ {
+ $propertyBag.AddValue('lostnodemanagers_percent', [Math]::Round($NumLostNMs / $NumTotalNMs * 100, 2))
+ $propertyBag.AddValue('unhealthynodemanagers_percent', [Math]::Round($NumUnhealthyNMs / $NumTotalNMs * 100, 2))
+ }
+ }
+ $propertyBag
+}
+
+function Add-MetricChildrenItems($propertyBag, $parentName, $children) {
+ $parentPrefix = $(if (!$parentName) { '' } else { "$parentName." })
+ foreach ($childName in $children.Keys) {
+ if ($children[$childName] -eq $null) { continue }
+
+ if ($children[$childName] -is [Hashtable]) {
+ Add-MetricChildrenItems $propertyBag "$parentPrefix$childName" $children[$childName]
+ } else {
+ $propertyBag.AddValue("$parentPrefix$childName".ToLower(), $children[$childName])
+ }
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/SyntheticTransactionDataSource.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/SyntheticTransactionDataSource.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/SyntheticTransactionDataSource.mpx
new file mode 100644
index 0000000..ecb7703
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/SyntheticTransactionDataSource.mpx
@@ -0,0 +1,124 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <ModuleTypes>
+ <DataSourceModuleType ID="Ambari.SCOM.Module.SyntheticTransactionDataSource" Accessibility="Internal" RunAs="Ambari.SCOM.Profile.Workflow">
+ <Configuration>
+ <IncludeSchemaTypes>
+ <SchemaType>Windows!Microsoft.Windows.PowerShellSchema</SchemaType>
+ <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
+ </IncludeSchemaTypes>
+ <xsd:element name="IntervalSeconds" type="xsd:integer" />
+ <xsd:element name="SyncTime" type="xsd:string" minOccurs="0" />
+ <xsd:element name="TimeoutSeconds" type="xsd:int" />
+
+ <xsd:element name="WorkflowName" type="xsd:string" />
+ </Configuration>
+ <ModuleImplementation>
+ <Composite>
+ <MemberModules>
+ <DataSource ID="Scheduler" TypeID="System!System.SimpleScheduler">
+ <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
+ <SyncTime>$Config/SyncTime$</SyncTime>
+ </DataSource>
+ <ProbeAction ID="PS" TypeID="Ambari.SCOM.Module.ImpersonatedPowerShellPropertyBagProbe" >
+ <ScriptName>$Config/WorkflowName$.ps1</ScriptName>
+ <ScriptBody>
+ Param ($MonitoringAmbariUri, $Username, $Password)
+
+ $IncludeFileContent/Shared Scripts/Logging.ps1$
+ $IncludeFileContent/Shared Scripts/JsonParser.ps1$
+ $IncludeFileContent/Shared Scripts/RestApi.ps1$
+ $IncludeFileContent/Shared Scripts/MonitoringHelpers.ps1$
+
+
+ if (!$Username) { return }
+
+ $ScriptApi = New-Object -ComObject "MOM.ScriptAPI"
+
+ $propertyBag = $ScriptApi.CreatePropertyBag()
+
+
+ try {
+ $response = InvokeRestAPI (JoinUri "$MonitoringAmbariUri" "v1/clusters") $Username $Password
+ $propertyBag.AddValue('result', 0)
+ } catch [System.Net.WebException] {
+ if ($_.Exception.Response.StatusCode -eq [System.Net.HttpStatusCode]::Forbidden)
+ {
+ $propertyBag.AddValue('result', 1902)
+ }
+ elseif ($_.Exception.Response.StatusCode -eq [System.Net.HttpStatusCode]::NotFound)
+ {
+ $propertyBag.AddValue('result', 1903)
+ }
+ elseif ($_.Exception.Status -eq [System.Net.WebExceptionStatus]::ConnConnectFailure)
+ {
+ $propertyBag.AddValue('result', 1903)
+ }
+ else
+ {
+ $propertyBag.AddValue('result', 1903)
+ }
+ } catch {
+ $propertyBag.AddValue('result', 1903)
+ }
+
+ $propertyBag
+
+ </ScriptBody>
+ <Parameters>
+ <Parameter>
+ <Name>MonitoringAmbariUri</Name>
+ <Value>$Target/Property[Type="Ambari.SCOM.AmbariSeed"]/AmbariUri$</Value>
+ </Parameter>
+ <Parameter>
+ <Name>Username</Name>
+ <Value>$RunAs[Name="Ambari.SCOM.Profile.Ambari"]/UserName$</Value>
+ </Parameter>
+ <Parameter>
+ <Name>Password</Name>
+ <Value>$RunAs[Name="Ambari.SCOM.Profile.Ambari"]/Password$</Value>
+ </Parameter>
+ </Parameters>
+ <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
+ </ProbeAction>
+ </MemberModules>
+ <Composition>
+ <Node ID="PS">
+ <Node ID="Scheduler" />
+ </Node>
+ </Composition>
+ </Composite>
+ </ModuleImplementation>
+ <OutputType>System!System.PropertyBagData</OutputType>
+ </DataSourceModuleType>
+ </ModuleTypes>
+ </TypeDefinitions>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Module.SyntheticTransactionDataSource">
+ <Name>Synthetic Transaction Data Provider</Name>
+ <Description>This module executes Powershell scripts to check availability of Ambari REST API.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsDataSource.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsDataSource.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsDataSource.mpx
new file mode 100644
index 0000000..c3661cf
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsDataSource.mpx
@@ -0,0 +1,72 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <ModuleTypes>
+ <DataSourceModuleType ID="Ambari.SCOM.Module.YarnServiceMetricsDataSource" Accessibility="Internal">
+ <Configuration>
+ <xsd:element name="IntervalSeconds" type="xsd:integer" />
+ <xsd:element minOccurs="0" maxOccurs="1" name="SyncTime" type="xsd:string" />
+ <xsd:element name="TimeoutSeconds" type="xsd:int" />
+ </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" />
+ </OverrideableParameters>
+ <ModuleImplementation>
+ <Composite>
+ <MemberModules>
+ <DataSource ID="DS" TypeID="Ambari.SCOM.Module.ClusterServiceMetricsDataSource">
+ <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
+ <SyncTime>$Config/SyncTime$</SyncTime>
+ <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
+ <CollectionScript>$IncludeFileContent/Modules/DataSources/Monitoring/Scripts/YarnServiceMetrics.ps1$</CollectionScript>
+ <ServiceName>Yarn</ServiceName>
+ </DataSource>
+ </MemberModules>
+ <Composition>
+ <Node ID="DS" />
+ </Composition>
+ </Composite>
+ </ModuleImplementation>
+ <OutputType>System!System.PropertyBagData</OutputType>
+ </DataSourceModuleType>
+ </ModuleTypes>
+ </TypeDefinitions>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsDataSource">
+ <Name>Hadoop Yarn Cluster Service Metrics Property Bag Provider</Name>
+ <Description>This module collects all metrics available for target Yarn Cluster Service into property bag.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsDataSource" SubElementID="IntervalSeconds">
+ <Name>Interval (sec)</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsDataSource" SubElementID="SyncTime">
+ <Name>Sync Time</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsDataSource" SubElementID="TimeoutSeconds">
+ <Name>Timeout (sec)</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsPerformanceDataSource.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsPerformanceDataSource.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsPerformanceDataSource.mpx
new file mode 100644
index 0000000..1fdfce8
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Modules/DataSources/Monitoring/YarnServiceMetricsPerformanceDataSource.mpx
@@ -0,0 +1,81 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <ModuleTypes>
+ <DataSourceModuleType ID="Ambari.SCOM.Module.YarnServiceMetricsPerformanceDataSource" Accessibility="Internal">
+ <Configuration>
+ <xsd:element name="IntervalSeconds" type="xsd:integer" />
+ <xsd:element minOccurs="0" maxOccurs="1" name="SyncTime" type="xsd:string" />
+ <xsd:element name="TimeoutSeconds" type="xsd:int" />
+
+ <xsd:element name="PropertyName" type="xsd:string" />
+ <xsd:element name="CounterName" 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" />
+ </OverrideableParameters>
+ <ModuleImplementation>
+ <Composite>
+ <MemberModules>
+ <DataSource ID="DS" TypeID="Ambari.SCOM.Module.YarnServiceMetricsDataSource">
+ <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
+ <SyncTime>$Config/SyncTime$</SyncTime>
+ <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
+ </DataSource>
+ <ConditionDetection ID="Mapper" TypeID="Ambari.SCOM.Module.PropertyBagPerformanceDataMapper">
+ <PropertyName>$Config/PropertyName$</PropertyName>
+ <ObjectName>Hadoop : Cluster Service</ObjectName>
+ <CounterName>$Config/CounterName$</CounterName>
+ <InstanceName>$Target/Host/Property[Type="Ambari.SCOM.ClusterService.Private"]/ClusterName$ : $Target/Host/Property[Type="Ambari.SCOM.ClusterService.Private"]/ServiceName$</InstanceName>
+ </ConditionDetection>
+ </MemberModules>
+ <Composition>
+ <Node ID="Mapper">
+ <Node ID="DS" />
+ </Node>
+ </Composition>
+ </Composite>
+ </ModuleImplementation>
+ <OutputType>Perf!System.Performance.Data</OutputType>
+ </DataSourceModuleType>
+ </ModuleTypes>
+ </TypeDefinitions>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsPerformanceDataSource">
+ <Name>Hadoop Yarn Cluster Service Metrics Performance Data Provider</Name>
+ <Description>This module collects specified metric for Yarn Cluster Service as performance data point.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsPerformanceDataSource" SubElementID="IntervalSeconds">
+ <Name>Interval (sec)</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsPerformanceDataSource" SubElementID="SyncTime">
+ <Name>Sync Time</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.Module.YarnServiceMetricsPerformanceDataSource" SubElementID="TimeoutSeconds">
+ <Name>Timeout (sec)</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/RepeatedEventLogManualReset2StateMonitorType.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/RepeatedEventLogManualReset2StateMonitorType.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/RepeatedEventLogManualReset2StateMonitorType.mpx
new file mode 100644
index 0000000..038cc8a
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/RepeatedEventLogManualReset2StateMonitorType.mpx
@@ -0,0 +1,129 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <MonitorTypes>
+ <UnitMonitorType ID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" Accessibility="Public">
+ <MonitorTypeStates>
+ <MonitorTypeState ID="RepeatedEventRaised" />
+ <MonitorTypeState ID="TimerEventRaised" />
+ </MonitorTypeStates>
+ <Configuration>
+ <IncludeSchemaTypes>
+ <SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
+ </IncludeSchemaTypes>
+ <xsd:element name="ComputerName" type="xsd:string" />
+ <xsd:element name="LogName" type="xsd:string" />
+ <xsd:element name="EventNumber" type="xsd:int" />
+ <xsd:element name="TimeInterval" type="xsd:int" />
+ <xsd:element name="Count" type="xsd:int" />
+ </Configuration>
+ <OverrideableParameters>
+ <OverrideableParameter ID="TimeInterval" Selector="$Config/TimeInterval$" ParameterType="int" />
+ <OverrideableParameter ID="Count" Selector="$Config/Count$" ParameterType="int" />
+ </OverrideableParameters>
+ <MonitorImplementation>
+ <MemberModules>
+ <DataSource TypeID="Windows!Microsoft.Windows.BaseEventProvider" ID="RepeatedDataSource">
+ <ComputerName>$Config/ComputerName$</ComputerName>
+ <LogName>$Config/LogName$</LogName>
+ </DataSource>
+ <ProbeAction TypeID="System!System.PassThroughProbe" ID="OnDemandReset" />
+ <ConditionDetection TypeID="System!System.ExpressionFilter" ID="RepeatedFilterCondition">
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="UnsignedInteger">$Config/EventNumber$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </ConditionDetection>
+ <ConditionDetection TypeID="System!System.ConsolidatorCondition" ID="RepeatedDataCondition">
+ <Consolidator>
+ <ConsolidationProperties />
+ <TimeControl>
+ <WithinTimeSchedule>
+ <Interval>$Config/TimeInterval$</Interval>
+ </WithinTimeSchedule>
+ </TimeControl>
+ <CountingCondition>
+ <Count>$Config/Count$</Count>
+ <CountMode>OnNewItemTestOutputRestart_OnTimerRestart</CountMode>
+ </CountingCondition>
+ </Consolidator>
+ </ConditionDetection>
+ <ConditionDetection TypeID="System!System.TimerCondition" ID="TimerCondition">
+ <TimerWaitInSeconds>$Config/TimeInterval$</TimerWaitInSeconds>
+ </ConditionDetection>
+ </MemberModules>
+ <RegularDetections>
+ <RegularDetection MonitorTypeStateID="RepeatedEventRaised">
+ <Node ID="RepeatedDataCondition">
+ <Node ID="RepeatedFilterCondition">
+ <Node ID="RepeatedDataSource" />
+ </Node>
+ </Node>
+ </RegularDetection>
+ <RegularDetection MonitorTypeStateID="TimerEventRaised">
+ <Node ID="TimerCondition">
+ <Node ID="RepeatedDataCondition">
+ <Node ID="RepeatedFilterCondition">
+ <Node ID="RepeatedDataSource" />
+ </Node>
+ </Node>
+ </Node>
+ </RegularDetection>
+ </RegularDetections>
+ <OnDemandDetections>
+ <OnDemandDetection MonitorTypeStateID="TimerEventRaised">
+ <Node ID="OnDemandReset" />
+ </OnDemandDetection>
+ </OnDemandDetections>
+ </MonitorImplementation>
+ </UnitMonitorType>
+ </MonitorTypes>
+ </TypeDefinitions>
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType">
+ <Name>Repeated event log timer two state unit monitor type</Name>
+ <Description>This two-state unit monitor type looks for repeated event in the event log.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" SubElementID="RepeatedEventRaised">
+ <Name>Repeated Event Raised</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" SubElementID="TimerEventRaised">
+ <Name>Timer Event Raised</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" SubElementID="TimeInterval">
+ <Name>Time Interval (sec)</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" SubElementID="Count">
+ <Name>Count (>=2)</Name>
+ <Description>Please note that count should be greater or equal to 2.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/SyntheticTransactionMonitorType.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/SyntheticTransactionMonitorType.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/SyntheticTransactionMonitorType.mpx
new file mode 100644
index 0000000..533f6af
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/SyntheticTransactionMonitorType.mpx
@@ -0,0 +1,102 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <MonitorTypes>
+ <UnitMonitorType ID="Ambari.SCOM.SyntheticTransactionMonitorType" Accessibility="Public">
+ <MonitorTypeStates>
+ <MonitorTypeState ID="Healthy" />
+ <MonitorTypeState ID="Error" />
+ </MonitorTypeStates>
+ <Configuration>
+ <xsd:element name="ErrorCode" type="xsd:int" />
+ <xsd:element name="TimeInterval" type="xsd:int" />
+ </Configuration>
+ <OverrideableParameters>
+ <OverrideableParameter ID="TimeInterval" Selector="$Config/TimeInterval$" ParameterType="int" />
+ </OverrideableParameters>
+ <MonitorImplementation>
+ <MemberModules>
+ <DataSource TypeID="Ambari.SCOM.Module.SyntheticTransactionDataSource" ID="DS">
+ <IntervalSeconds>$Config/TimeInterval$</IntervalSeconds>
+ <TimeoutSeconds>300</TimeoutSeconds>
+ <WorkflowName>SyntheticTransactionMonitorType</WorkflowName>
+ </DataSource>
+ <ConditionDetection TypeID="System!System.ExpressionFilter" ID="ErrorFC">
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="UnsignedInteger">Property[@Name='result']</XPathQuery>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="UnsignedInteger">$Config/ErrorCode$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </ConditionDetection>
+ <ConditionDetection TypeID="System!System.ExpressionFilter" ID="OkFC">
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="UnsignedInteger">Property[@Name='result']</XPathQuery>
+ </ValueExpression>
+ <Operator>NotEqual</Operator>
+ <ValueExpression>
+ <Value Type="UnsignedInteger">$Config/ErrorCode$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </ConditionDetection>
+ </MemberModules>
+ <RegularDetections>
+ <RegularDetection MonitorTypeStateID="Healthy">
+ <Node ID="OkFC">
+ <Node ID="DS" />
+ </Node>
+ </RegularDetection>
+ <RegularDetection MonitorTypeStateID="Error">
+ <Node ID="ErrorFC">
+ <Node ID="DS" />
+ </Node>
+ </RegularDetection>
+ </RegularDetections>
+ </MonitorImplementation>
+ </UnitMonitorType>
+ </MonitorTypes>
+ </TypeDefinitions>
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.SyntheticTransactionMonitorType">
+ <Name>Synthetic Transaction two state Monitor Type</Name>
+ <Description>This two-state unit monitor type repeatedly executes synthetic transaction.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.SyntheticTransactionMonitorType" SubElementID="Healthy">
+ <Name>Healthy</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.SyntheticTransactionMonitorType" SubElementID="Error">
+ <Name>Error</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.SyntheticTransactionMonitorType" SubElementID="TimeInterval">
+ <Name>Time Interval (sec)</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/YarnServiceThreeStateThresholdMonitorType.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/YarnServiceThreeStateThresholdMonitorType.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/YarnServiceThreeStateThresholdMonitorType.mpx
new file mode 100644
index 0000000..dc7c8c4
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/MonitorTypes/YarnServiceThreeStateThresholdMonitorType.mpx
@@ -0,0 +1,332 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <TypeDefinitions>
+ <MonitorTypes>
+ <UnitMonitorType ID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" Accessibility="Internal">
+ <MonitorTypeStates>
+ <MonitorTypeState ID="Healthy" NoDetection="false" />
+ <MonitorTypeState ID="Warning" NoDetection="false" />
+ <MonitorTypeState ID="Critical" NoDetection="false" />
+ </MonitorTypeStates>
+ <Configuration>
+ <xsd:element name="IntervalSeconds" type="xsd:integer" />
+ <xsd:element minOccurs="0" maxOccurs="1" name="SyncTime" type="xsd:string" />
+ <xsd:element name="TimeoutSeconds" type="xsd:integer" />
+
+ <xsd:element name="PropertyName" type="xsd:string" />
+
+ <xsd:element name="TheGreaterTheBetter" type="xsd:boolean" />
+ <xsd:element name="WarningThreshold" type="xsd:double" />
+ <xsd:element name="CriticalThreshold" type="xsd:double" />
+ </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="WarningThreshold" Selector="$Config/WarningThreshold$" ParameterType="double" />
+ <OverrideableParameter ID="CriticalThreshold" Selector="$Config/CriticalThreshold$" ParameterType="double" />
+ </OverrideableParameters>
+ <MonitorImplementation>
+ <MemberModules>
+ <DataSource ID="DS" TypeID="Ambari.SCOM.Module.YarnServiceMetricsDataSource">
+ <IntervalSeconds>$Config/IntervalSeconds$</IntervalSeconds>
+ <SyncTime>$Config/SyncTime$</SyncTime>
+ <TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
+ </DataSource>
+
+ <ConditionDetection ID="HealthyCondition" TypeID="System!System.ExpressionFilter">
+ <Expression>
+ <Or>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">false</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Less</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/WarningThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Less</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">true</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Greater</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/WarningThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Greater</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ </Or>
+ </Expression>
+ </ConditionDetection>
+
+ <ConditionDetection ID="WarningCondition" TypeID="System!System.ExpressionFilter">
+ <Expression>
+ <Or>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">false</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>GreaterEqual</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/WarningThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Less</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">true</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>LessEqual</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/WarningThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>Greater</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ </Or>
+ </Expression>
+ </ConditionDetection>
+
+ <ConditionDetection ID="CriticalCondition" TypeID="System!System.ExpressionFilter">
+ <Expression>
+ <Or>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">false</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>GreaterEqual</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ <Expression>
+ <And>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <Value Type="Boolean">$Config/TheGreaterTheBetter$</Value>
+ </ValueExpression>
+ <Operator>Equal</Operator>
+ <ValueExpression>
+ <Value Type="Boolean">true</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ <Expression>
+ <SimpleExpression>
+ <ValueExpression>
+ <XPathQuery Type="Double">Property[@Name='$Config/PropertyName$']</XPathQuery>
+ </ValueExpression>
+ <Operator>LessEqual</Operator>
+ <ValueExpression>
+ <Value Type="Double">$Config/CriticalThreshold$</Value>
+ </ValueExpression>
+ </SimpleExpression>
+ </Expression>
+ </And>
+ </Expression>
+ </Or>
+ </Expression>
+ </ConditionDetection>
+ </MemberModules>
+ <RegularDetections>
+ <RegularDetection MonitorTypeStateID="Healthy">
+ <Node ID="HealthyCondition">
+ <Node ID="DS" />
+ </Node>
+ </RegularDetection>
+ <RegularDetection MonitorTypeStateID="Warning">
+ <Node ID="WarningCondition">
+ <Node ID="DS" />
+ </Node>
+ </RegularDetection>
+ <RegularDetection MonitorTypeStateID="Critical">
+ <Node ID="CriticalCondition">
+ <Node ID="DS" />
+ </Node>
+ </RegularDetection>
+ </RegularDetections>
+ </MonitorImplementation>
+ </UnitMonitorType>
+ </MonitorTypes>
+ </TypeDefinitions>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold">
+ <Name>Hadoop Yarn Cluster Service Three-State Threshold Unit Monitor Type</Name>
+ <Description>This three-state unit monitor type compares specified Yarn Cluster Service metric against defined thresholds.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="Healthy">
+ <Name>Healthy</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="Warning">
+ <Name>Warning</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="Critical">
+ <Name>Critical</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="IntervalSeconds">
+ <Name>Interval (sec)</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="SyncTime">
+ <Name>Sync Time</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="TimeoutSeconds">
+ <Name>Timeout (sec)</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="WarningThreshold">
+ <Name>Warning Threshold</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitorType.YarnServiceThreeStateThreshold" SubElementID="CriticalThreshold">
+ <Name>Critical Threshold</Name>
+ </DisplayString>
+ </DisplayStrings>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAuthenticationMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAuthenticationMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAuthenticationMonitor.mpx
new file mode 100644
index 0000000..f94635f
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAuthenticationMonitor.mpx
@@ -0,0 +1,89 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.APIAuthenticationMonitor" Accessibility="Public" Enabled="true" Target="Ambari.SCOM.AmbariSeed" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Ambari.SCOM.SyntheticTransactionMonitorType" ConfirmDelivery="true">
+ <Category>Custom</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.APIAuthenticationMonitor.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>Error</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
+ <AlertParameter2>$Target/Property[Type="Ambari.SCOM.AmbariSeed"]/AmbariUri$</AlertParameter2>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="HealthyState" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="ErrorState" MonitorTypeStateID="Error" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <ErrorCode>1902</ErrorCode>
+ <TimeInterval>900</TimeInterval>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.APIAuthenticationMonitor.AlertMessage" />
+ </StringResources>
+ </Presentation>
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.APIAuthenticationMonitor">
+ <Name>Ambari Authentication monitor</Name>
+ <Description>This monitor detects authentication error for Ambari API.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAuthenticationMonitor" SubElementID="HealthyState">
+ <Name>Healthy state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAuthenticationMonitor" SubElementID="ErrorState">
+ <Name>Error state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAuthenticationMonitor.AlertMessage">
+ <Name>Authentication failed while connecting to Hadoop Ambari server {1} from watcher {0}.</Name>
+ <Description>Authentication failed while connecting to Hadoop Ambari server {1} from watcher {0}.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.APIAuthenticationMonitor" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>This monitor detects authentication error for Ambari API.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>This monitor turns to Critical state if Ambari Management Pack is unable to pass authentication on Ambari server.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>Management Pack uses “Hadoop Ambari Credentials” run-as profile for access to Ambari REST API.</para>
+ <para>Check that login and password are correct on associated run as account.</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAvailabilityMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAvailabilityMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAvailabilityMonitor.mpx
new file mode 100644
index 0000000..ec8c460
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/APIAvailabilityMonitor.mpx
@@ -0,0 +1,92 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.APIAvailabilityMonitor" Accessibility="Public" Enabled="true" Target="Ambari.SCOM.AmbariSeed" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Ambari.SCOM.SyntheticTransactionMonitorType" ConfirmDelivery="true">
+ <Category>Custom</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.APIAvailabilityMonitor.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>Error</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
+ <AlertParameter2>$Target/Property[Type="Ambari.SCOM.AmbariSeed"]/AmbariUri$</AlertParameter2>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="HealthyState" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="ErrorState" MonitorTypeStateID="Error" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <ErrorCode>1903</ErrorCode>
+ <TimeInterval>900</TimeInterval>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.APIAvailabilityMonitor.AlertMessage" />
+ </StringResources>
+ </Presentation>
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.APIAvailabilityMonitor">
+ <Name>Ambari Availability monitor</Name>
+ <Description>This monitor checks availability of Ambari server.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAvailabilityMonitor" SubElementID="HealthyState">
+ <Name>Healthy state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAvailabilityMonitor" SubElementID="ErrorState">
+ <Name>Error state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.APIAvailabilityMonitor.AlertMessage">
+ <Name>Connection to Hadoop Ambari server {1} from watcher {0} failed.</Name>
+ <Description>Connection to Hadoop Ambari server {1} from watcher {0} failed.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.APIAvailabilityMonitor" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>This monitor checks availability of Ambari server.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>This monitor turns to Critical state if Ambari Management Pack is unable to connect to Ambari server because of one of the following reasons:</para>
+ <para>- wrong configuration</para>
+ <para>- network issue</para>
+ <para>- Ambari server problems</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>Most recent reason for this issue - wrong address of Ambari server, entered during Management Pack configuration. Please check that you’ve entered a valid connection string for Ambari server.</para>
+ <para>If Ambari server address is valid - check that Ambari server is running and reachable from watcher node.</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/TimeoutMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/TimeoutMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/TimeoutMonitor.mpx
new file mode 100644
index 0000000..6a161cd
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/ErrorHandling/TimeoutMonitor.mpx
@@ -0,0 +1,91 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.TimeoutMonitor" Accessibility="Public" Enabled="true" Target="Ambari.SCOM.AmbariWatcherNode" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Ambari.SCOM.RepeatedEventLogTimer2StateMonitorType" ConfirmDelivery="true">
+ <Category>Custom</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.TimeoutMonitor.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>Error</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter1>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="HealthyState" MonitorTypeStateID="TimerEventRaised" HealthState="Success" />
+ <OperationalState ID="ErrorState" MonitorTypeStateID="RepeatedEventRaised" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
+ <LogName>Operations Manager</LogName>
+ <EventNumber>1904</EventNumber>
+ <TimeInterval>4500</TimeInterval>
+ <Count>3</Count>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.TimeoutMonitor.AlertMessage" />
+ </StringResources>
+ </Presentation>
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.TimeoutMonitor">
+ <Name>Ambari Timeout monitor</Name>
+ <Description>This monitor detects timeout for Ambari API.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.TimeoutMonitor" SubElementID="HealthyState">
+ <Name>Healthy state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.TimeoutMonitor" SubElementID="ErrorState">
+ <Name>Error state</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.TimeoutMonitor.AlertMessage">
+ <Name>Timeout errors on the watcher {0} during connection to Hadoop Ambari server.</Name>
+ <Description>Timeout errors on the watcher {0} during connection to Hadoop Ambari server.</Description>
+ </DisplayString>
+ </DisplayStrings>
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.TimeoutMonitor" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>This monitor detects timeout for Ambari API.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>This monitor turns to Warning state if Ambari Management Pack gets a repeatable timeouts trying to connect to Ambari server. Ambari server might be overloaded.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>- Check if Ambari server is overloaded</para>
+ <para>- Check for network issues which may affect connection between watcher and Ambari server</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/DataNodeHealthStateUnitMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/DataNodeHealthStateUnitMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/DataNodeHealthStateUnitMonitor.mpx
new file mode 100644
index 0000000..1f3a165
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/DataNodeHealthStateUnitMonitor.mpx
@@ -0,0 +1,74 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.UnitMonitor.DataNodeComponentHealthState"
+ TypeID="Ambari.SCOM.UnitMonitorType.HostComponentHealthState"
+ Target="Ambari.SCOM.HostComponent.DataNode"
+ ParentMonitorID="Health!System.Health.AvailabilityState"
+ Remotable="true" Priority="Normal" Accessibility="Public" Enabled="true" ConfirmDelivery="true">
+ <Category>AvailabilityHealth</Category>
+ <OperationalStates>
+ <OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Warning" />
+ </OperationalStates>
+ <Configuration>
+ <IntervalSeconds>900</IntervalSeconds>
+ <TimeoutSeconds>300</TimeoutSeconds>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.DataNodeComponentHealthState">
+ <Name>DataNode Service State</Name>
+ <Description>Turns DataNode service to warning state if the DataNode service is unavailable.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.DataNodeComponentHealthState" SubElementID="Healthy">
+ <Name>Running</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.DataNodeComponentHealthState" SubElementID="Critical">
+ <Name>Not Running</Name>
+ </DisplayString>
+ </DisplayStrings>
+
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.UnitMonitor.DataNodeComponentHealthState" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>Turns DataNode service to warning state if the DataNode service is unavailable.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>TBD</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>TBD</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/HistoryServerHealthStateUnitMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/HistoryServerHealthStateUnitMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/HistoryServerHealthStateUnitMonitor.mpx
new file mode 100644
index 0000000..add9b4f
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/HistoryServerHealthStateUnitMonitor.mpx
@@ -0,0 +1,95 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState"
+ TypeID="Ambari.SCOM.UnitMonitorType.HostComponentHealthState"
+ Target="Ambari.SCOM.HostComponent.HistoryServer"
+ ParentMonitorID="Health!System.Health.AvailabilityState"
+ Remotable="true" Priority="Normal" Accessibility="Public" Enabled="true" ConfirmDelivery="true">
+ <Category>AvailabilityHealth</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>MatchMonitorHealth</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/HostName$</AlertParameter1>
+ <AlertParameter2>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/ClusterName$</AlertParameter2>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <IntervalSeconds>900</IntervalSeconds>
+ <TimeoutSeconds>300</TimeoutSeconds>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState.AlertMessage" />
+ </StringResources>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState">
+ <Name>History Server Service State</Name>
+ <Description>Gives critical alert if a History Server service is unavailable.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState" SubElementID="Healthy">
+ <Name>Running</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState" SubElementID="Critical">
+ <Name>Not Running</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState.AlertMessage">
+ <Name>History Server service is not running.</Name>
+ <Description>History Server hosted on "{0}" in cluster "{1}" is not running.</Description>
+ </DisplayString>
+ </DisplayStrings>
+
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.UnitMonitor.HistoryServerComponentHealthState" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>Gives critical alert if a History Server service is unavailable.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>TBD</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>TBD</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/NodeManagerHealthStateUnitMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/NodeManagerHealthStateUnitMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/NodeManagerHealthStateUnitMonitor.mpx
new file mode 100644
index 0000000..2e0145a
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/NodeManagerHealthStateUnitMonitor.mpx
@@ -0,0 +1,95 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState"
+ TypeID="Ambari.SCOM.UnitMonitorType.HostComponentHealthState"
+ Target="Ambari.SCOM.HostComponent.NodeManager"
+ ParentMonitorID="Health!System.Health.AvailabilityState"
+ Remotable="true" Priority="Normal" Accessibility="Public" Enabled="true" ConfirmDelivery="true">
+ <Category>AvailabilityHealth</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>MatchMonitorHealth</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/HostName$</AlertParameter1>
+ <AlertParameter2>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/ClusterName$</AlertParameter2>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <IntervalSeconds>900</IntervalSeconds>
+ <TimeoutSeconds>300</TimeoutSeconds>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState.AlertMessage" />
+ </StringResources>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState">
+ <Name>Node Manager Service State</Name>
+ <Description>Gives critical alert if a Node Manager service is unavailable.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState" SubElementID="Healthy">
+ <Name>Running</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState" SubElementID="Critical">
+ <Name>Not Running</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState.AlertMessage">
+ <Name>Node Manager service is not running.</Name>
+ <Description>Node Manager hosted on "{0}" in cluster "{1}" is not running.</Description>
+ </DisplayString>
+ </DisplayStrings>
+
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.UnitMonitor.NodeManagerComponentHealthState" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>Gives critical alert if a Node Manager service is unavailable.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>TBD</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>TBD</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>
http://git-wip-us.apache.org/repos/asf/ambari/blob/53c40505/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/ResourceManagerHealthStateUnitMonitor.mpx
----------------------------------------------------------------------
diff --git a/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/ResourceManagerHealthStateUnitMonitor.mpx b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/ResourceManagerHealthStateUnitMonitor.mpx
new file mode 100644
index 0000000..39fe755
--- /dev/null
+++ b/contrib/ambari-scom/management-pack/Hadoop_MP/HadoopMp/Monitors/HostComponentsHeathState/ResourceManagerHealthStateUnitMonitor.mpx
@@ -0,0 +1,95 @@
+<!--## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements. See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership. The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License. You may obtain a copy of the License at
+##
+## http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied. See the License for the
+## specific language governing permissions and limitations
+## under the License.-->
+
+<ManagementPackFragment SchemaVersion="2.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <Monitoring>
+ <Monitors>
+ <UnitMonitor ID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState"
+ TypeID="Ambari.SCOM.UnitMonitorType.HostComponentHealthState"
+ Target="Ambari.SCOM.HostComponent.ResourceManager"
+ ParentMonitorID="Health!System.Health.AvailabilityState"
+ Remotable="true" Priority="Normal" Accessibility="Public" Enabled="true" ConfirmDelivery="true">
+ <Category>AvailabilityHealth</Category>
+ <AlertSettings AlertMessage="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState.AlertMessage">
+ <AlertOnState>Error</AlertOnState>
+ <AutoResolve>true</AutoResolve>
+ <AlertPriority>Normal</AlertPriority>
+ <AlertSeverity>MatchMonitorHealth</AlertSeverity>
+ <AlertParameters>
+ <AlertParameter1>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/HostName$</AlertParameter1>
+ <AlertParameter2>$Target/Host/Host/Property[Type="Ambari.SCOM.Host.Private"]/ClusterName$</AlertParameter2>
+ </AlertParameters>
+ </AlertSettings>
+ <OperationalStates>
+ <OperationalState ID="Healthy" MonitorTypeStateID="Healthy" HealthState="Success" />
+ <OperationalState ID="Critical" MonitorTypeStateID="Critical" HealthState="Error" />
+ </OperationalStates>
+ <Configuration>
+ <IntervalSeconds>900</IntervalSeconds>
+ <TimeoutSeconds>300</TimeoutSeconds>
+ </Configuration>
+ </UnitMonitor>
+ </Monitors>
+ </Monitoring>
+
+ <Presentation>
+ <StringResources>
+ <StringResource ID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState.AlertMessage" />
+ </StringResources>
+ </Presentation>
+
+ <LanguagePacks>
+ <LanguagePack ID="ENU" IsDefault="true">
+ <DisplayStrings>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState">
+ <Name>Resource Manager Service State</Name>
+ <Description>Gives critical alert if a Resource Manager service is unavailable.</Description>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState" SubElementID="Healthy">
+ <Name>Running</Name>
+ </DisplayString>
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState" SubElementID="Critical">
+ <Name>Not Running</Name>
+ </DisplayString>
+
+ <DisplayString ElementID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState.AlertMessage">
+ <Name>Resource Manager service is not running.</Name>
+ <Description>Resource Manager hosted on "{0}" in cluster "{1}" is not running.</Description>
+ </DisplayString>
+ </DisplayStrings>
+
+ <KnowledgeArticles>
+ <KnowledgeArticle ElementID="Ambari.SCOM.UnitMonitor.ResourceManagerComponentHealthState" Visible="true">
+ <MamlContent>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Summary</title>
+ <para>Gives critical alert if a Resource Manager service is unavailable.</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Causes</title>
+ <para>TBD</para>
+ </section>
+ <section xmlns="http://schemas.microsoft.com/maml/2004/10">
+ <title>Resolutions</title>
+ <para>TBD</para>
+ </section>
+ </MamlContent>
+ </KnowledgeArticle>
+ </KnowledgeArticles>
+ </LanguagePack>
+ </LanguagePacks>
+</ManagementPackFragment>