﻿<ManagementPack xsi:noNamespaceSchemaLocation="c:\enlistments\momv3.main\private\product\sdk\server\MPInfrastructure\schema\ManagementPackSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
  <Manifest>
    <Identity>
      <ID>Demo.Syslog.Discovery.MP</ID>
      <Version>1.0.0.0</Version>
    </Identity>
    <Name>Demo MP for Discover Entities based on Syslog Messages</Name>
    <References>
      <Reference Alias="System">
        <ID>System.Library</ID>
        <Version>6.0.5000.0</Version>
        <PublicKeyToken>9396306c2be7fcc4</PublicKeyToken>
      </Reference>
      <Reference Alias="SCLibrary">
        <ID>Microsoft.SystemCenter.Library</ID>
        <Version>6.0.5000.0</Version>
        <PublicKeyToken>9396306c2be7fcc4</PublicKeyToken>
      </Reference>
      <Reference Alias="AppLog">
        <ID>System.ApplicationLog.Library</ID>
        <Version>6.0.5000.0</Version>
        <PublicKeyToken>9396306c2be7fcc4</PublicKeyToken>
      </Reference>
      <Reference Alias="ClientMonitoring">
        <ID>Microsoft.SystemCenter.ClientMonitoring.Library</ID>
        <Version>6.0.5000.0</Version>
        <PublicKeyToken>9396306c2be7fcc4</PublicKeyToken>
      </Reference>
      <Reference Alias="Health">
        <ID>System.Health.Library</ID>
        <Version>6.0.5000.0</Version>
        <PublicKeyToken>9396306c2be7fcc4</PublicKeyToken>
      </Reference>
    </References>
  </Manifest>
  <TypeDefinitions>
    <EntityTypes>
      <ClassTypes>
        <ClassType ID="Demo.Syslog.IP" Accessibility="Public" Base="System!System.LogicalEntity" Hosted="false" Abstract="false">
          <Property ID="IP" Type="string" Key="true" CaseSensitive="false" />
          <Property ID="LastFacility" Type="int" Key="false" />
          <Property ID="LastSeverity" Type="int" Key="false" />
          <Property ID="LastPriority" Type="int" Key="false" />
          <Property ID="LastPriorityName" Type="string" Key="false" />
          <Property ID="LastTimeStamp" Type="string" Key="false" />
          <Property ID="LastMessage" Type="string" Key="false" />
        </ClassType>
      </ClassTypes>
    </EntityTypes>
    <ModuleTypes>
      <DataSourceModuleType ID="Demo.Syslog.Discovery.ModuleType" Accessibility="Internal">
        <Configuration />
        <ModuleImplementation>
          <Composite>
            <MemberModules>
              <DataSource ID="SyslogReader" TypeID="AppLog!System.ApplicationLog.SysLogReader">
                <Port>514</Port>
              </DataSource>
              <ProbeAction ID="DiscoveryMapper" TypeID="ClientMonitoring!Microsoft.SystemCenter.CM.DiscoveryMapperPA">
                <ManagedEntity>
                  <Detailed>
                    <TimeGenerated UseCurrent="true" />
                    <DiscoveryType>AddUpdate</DiscoveryType>
                    <DiscoverySourceType>Rule</DiscoverySourceType>
                    <SourceObjectId>$MPElement$</SourceObjectId>
                    <SourceManagedEntityId>$Target/Id$</SourceManagedEntityId>
                    <Properties>
                      <Evaluate If=".">
                        <Property ID="HostNameValue">//HostName</Property>
                        <Property ID="FacilityValue">//Facility</Property>
                        <Property ID="SeverityValue">//Severity</Property>
                        <Property ID="PriorityValue">//Priority</Property>
                        <Property ID="PriorityNameValue">//PriorityName</Property>
                        <Property ID="TimeStampValue">//TimeStamp</Property>
                        <Property ID="MessageValue">//Message</Property>
                      </Evaluate>
                    </Properties>
                    <PropertySets />
                    <ClassInstances>
                      <ClassInstance If=".">
                        <TypeId>$MPElement[Name="Demo.Syslog.IP"]$</TypeId>
                        <Properties>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/IP$</Name>
                            <Value>HostNameValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastFacility$</Name>
                            <Value>FacilityValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastSeverity$</Name>
                            <Value>SeverityValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastPriority$</Name>
                            <Value>PriorityValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastPriorityName$</Name>
                            <Value>PriorityNameValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastTimeStamp$</Name>
                            <Value>TimeStampValue</Value>
                          </Property>
                          <Property>
                            <Name>$MPElement[Name="Demo.Syslog.IP"]/LastMessage$</Name>
                            <Value>MessageValue</Value>
                          </Property>
                        </Properties>
                      </ClassInstance>
                    </ClassInstances>
                    <RelationshipInstances />
                  </Detailed>
                </ManagedEntity>
              </ProbeAction>
            </MemberModules>
            <Composition>
              <Node ID="DiscoveryMapper">
                <Node ID="SyslogReader" />
              </Node>
            </Composition>
          </Composite>
        </ModuleImplementation>
        <OutputType>System!System.Discovery.Data</OutputType>
      </DataSourceModuleType>
    </ModuleTypes>
    <MonitorTypes>
      <UnitMonitorType ID="Demo.Syslog.MonitorType" Accessibility="Internal">
        <MonitorTypeStates>
          <MonitorTypeState ID="Healthy" />
          <MonitorTypeState ID="Unhealthy" />
        </MonitorTypeStates>
        <Configuration>
          <xsd:element name="LastFacility" type="xsd:nonNegativeInteger" />
          <xsd:element name="LastSeverity" type="xsd:nonNegativeInteger" />
          <xsd:element name="LastPriority" type="xsd:nonNegativeInteger" />
          <xsd:element name="LastPriorityName" type="xsd:string" />
          <xsd:element name="LastTimeStamp" type="xsd:string" />
          <xsd:element name="IP" type="xsd:string" />
          <xsd:element name="LastMessage" type="xsd:string" />
          <xsd:element name="MinutesFrequency" type="xsd:nonNegativeInteger" />
          <xsd:element name="LeastFacility" type="xsd:nonNegativeInteger" />
          <xsd:element name="LeastSeverity" type="xsd:nonNegativeInteger" />
          <xsd:element name="LeastPriority" type="xsd:nonNegativeInteger" />
          <xsd:element name="PriorityNameRegexPattern" type="xsd:string" />
          <xsd:element name="TimeStampRegexPattern" type="xsd:string" />
          <xsd:element name="HostNameRegexPattern" type="xsd:string" />
          <xsd:element name="MessageRegexPattern" type="xsd:string" />
        </Configuration>
        <OverrideableParameters>
          <OverrideableParameter ID="MinutesFrequency" ParameterType="int" Selector="$Config/MinutesFrequency$"/>
          <OverrideableParameter ID="LeastFacility" ParameterType="int" Selector="$Config/LeastFacility$"/>
          <OverrideableParameter ID="LeastSeverity" ParameterType="int" Selector="$Config/LeastSeverity$"/>
          <OverrideableParameter ID="LeastPriority" ParameterType="int" Selector="$Config/LeastPriority$"/>
          <OverrideableParameter ID="PriorityNameRegexPattern" ParameterType="string" Selector="$Config/PriorityNameRegexPattern$"/>
          <OverrideableParameter ID="TimeStampRegexPattern" ParameterType="string" Selector="$Config/TimeStampRegexPattern$"/>
          <OverrideableParameter ID="HostNameRegexPattern" ParameterType="string" Selector="$Config/HostNameRegexPattern$"/>
          <OverrideableParameter ID="MessageRegexPattern" ParameterType="string" Selector="$Config/MessageRegexPattern$"/>
        </OverrideableParameters>
        <MonitorImplementation>
          <MemberModules>
            <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
              <Scheduler>
                <SimpleReccuringSchedule>
                  <Interval Unit="Minutes">$Config/MinutesFrequency$</Interval>
                </SimpleReccuringSchedule>
                <ExcludeDates />
              </Scheduler>
            </DataSource>
            <ConditionDetection ID="HealthyFilter" TypeID="System!System.ExpressionFilter">
              <Expression>
                <And>
                  <!-- Facility -->
                  <Expression>
                    <SimpleExpression>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LastFacility$</Value>
                      </ValueExpression>
                      <Operator>GreaterEqual</Operator>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LeastFacility$</Value>
                      </ValueExpression>
                    </SimpleExpression>
                  </Expression>
                  <!-- Severity -->
                  <Expression>
                    <SimpleExpression>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LastSeverity$</Value>
                      </ValueExpression>
                      <Operator>GreaterEqual</Operator>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LeastSeverity$</Value>
                      </ValueExpression>
                    </SimpleExpression>
                  </Expression>
                  <!-- Priority -->
                  <Expression>
                    <SimpleExpression>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LastPriority$</Value>
                      </ValueExpression>
                      <Operator>GreaterEqual</Operator>
                      <ValueExpression>
                        <Value Type="Integer">$Config/LeastPriority$</Value>
                      </ValueExpression>
                    </SimpleExpression>
                  </Expression>
                  <!-- PriorityName -->
                  <Expression>
                    <RegExExpression>
                      <ValueExpression>
                        <Value Type="String">$Config/LastPriorityName$</Value>
                      </ValueExpression>
								      <Operator>MatchesRegularExpression</Operator>
								      <Pattern>$Config/PriorityNameRegexPattern$</Pattern>
                    </RegExExpression>
                  </Expression>
                  <!-- TimeStamp -->
                  <Expression>
                    <RegExExpression>
                      <ValueExpression>
                        <Value Type="String">$Config/LastTimeStamp$</Value>
                      </ValueExpression>
								      <Operator>MatchesRegularExpression</Operator>
								      <Pattern>$Config/TimeStampRegexPattern$</Pattern>
                    </RegExExpression>
                  </Expression>
                  <!-- HostName -->
                  <Expression>
                    <RegExExpression>
                      <ValueExpression>
                        <Value Type="String">$Config/IP$</Value>
                      </ValueExpression>
								      <Operator>MatchesRegularExpression</Operator>
								      <Pattern>$Config/HostNameRegexPattern$</Pattern>
                    </RegExExpression>
                  </Expression>
                  <!-- Message -->
                  <Expression>
                    <RegExExpression>
                      <ValueExpression>
                        <Value Type="String">$Config/LastMessage$</Value>
                      </ValueExpression>
								      <Operator>MatchesRegularExpression</Operator>
								      <Pattern>$Config/MessageRegexPattern$</Pattern>
                    </RegExExpression>
                  </Expression>
                </And>
              </Expression>
            </ConditionDetection>
            <ConditionDetection ID="UnhealthyFilter" TypeID="System!System.ExpressionFilter">
              <Expression>
                <Not>
                  <Expression>
                    <And>
                      <!-- Facility -->
                      <Expression>
                        <SimpleExpression>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LastFacility$</Value>
                          </ValueExpression>
                          <Operator>GreaterEqual</Operator>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LeastFacility$</Value>
                          </ValueExpression>
                        </SimpleExpression>
                      </Expression>
                      <!-- Severity -->
                      <Expression>
                        <SimpleExpression>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LastSeverity$</Value>
                          </ValueExpression>
                          <Operator>GreaterEqual</Operator>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LeastSeverity$</Value>
                          </ValueExpression>
                        </SimpleExpression>
                      </Expression>
                      <!-- Priority -->
                      <Expression>
                        <SimpleExpression>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LastPriority$</Value>
                          </ValueExpression>
                          <Operator>GreaterEqual</Operator>
                          <ValueExpression>
                            <Value Type="Integer">$Config/LeastPriority$</Value>
                          </ValueExpression>
                        </SimpleExpression>
                      </Expression>
                      <!-- PriorityName -->
                      <Expression>
                        <RegExExpression>
                          <ValueExpression>
                            <Value Type="String">$Config/LastPriorityName$</Value>
                          </ValueExpression>
                          <Operator>MatchesRegularExpression</Operator>
                          <Pattern>$Config/PriorityNameRegexPattern$</Pattern>
                        </RegExExpression>
                      </Expression>
                      <!-- TimeStamp -->
                      <Expression>
                        <RegExExpression>
                          <ValueExpression>
                            <Value Type="String">$Config/LastTimeStamp$</Value>
                          </ValueExpression>
                          <Operator>MatchesRegularExpression</Operator>
                          <Pattern>$Config/TimeStampRegexPattern$</Pattern>
                        </RegExExpression>
                      </Expression>
                      <!-- HostName -->
                      <Expression>
                        <RegExExpression>
                          <ValueExpression>
                            <Value Type="String">$Config/IP$</Value>
                          </ValueExpression>
                          <Operator>MatchesRegularExpression</Operator>
                          <Pattern>$Config/HostNameRegexPattern$</Pattern>
                        </RegExExpression>
                      </Expression>
                      <!-- Message -->
                      <Expression>
                        <RegExExpression>
                          <ValueExpression>
                            <Value Type="String">$Config/LastMessage$</Value>
                          </ValueExpression>
                          <Operator>MatchesRegularExpression</Operator>
                          <Pattern>$Config/MessageRegexPattern$</Pattern>
                        </RegExExpression>
                      </Expression>
                    </And>
                  </Expression>
                </Not>
              </Expression>
            </ConditionDetection>
          </MemberModules>
          <RegularDetections>
            <RegularDetection MonitorTypeStateID="Healthy">
              <Node ID="HealthyFilter">
                <Node ID="Scheduler" />
              </Node>
            </RegularDetection>
            <RegularDetection MonitorTypeStateID="Unhealthy">
              <Node ID="UnhealthyFilter">
                <Node ID="Scheduler" />
              </Node>
            </RegularDetection>
          </RegularDetections>
        </MonitorImplementation>
      </UnitMonitorType>
    </MonitorTypes>
  </TypeDefinitions>
  <Monitoring>
    <Discoveries>
      <Discovery ID="Demo.Syslog.Discovery" Target="SCLibrary!Microsoft.SystemCenter.RootManagementServer" Enabled="true" ConfirmDelivery="true">
        <Category>Discovery</Category>
        <DiscoveryTypes>
          <DiscoveryClass TypeID="Demo.Syslog.IP" />
        </DiscoveryTypes>
        <DataSource ID="DS" TypeID="Demo.Syslog.Discovery.ModuleType" />
      </Discovery>
    </Discoveries>
    <Monitors>
      <UnitMonitor ID="Demo.Syslog.Monitor" TypeID="Demo.Syslog.MonitorType" Target="Demo.Syslog.IP" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.AvailabilityState" ConfirmDelivery="true">
        <Category>Alert</Category>
        <AlertSettings AlertMessage="Demo.Syslog.AlertMessage">
          <AlertOnState>Error</AlertOnState>
          <AutoResolve>true</AutoResolve>
          <AlertPriority>High</AlertPriority>
          <AlertSeverity>Error</AlertSeverity>
          <AlertParameters>
            <AlertParameter1>$Target/Property[Type="Demo.Syslog.IP"]/LastTimeStamp$</AlertParameter1>
            <AlertParameter2>$Target/Property[Type="Demo.Syslog.IP"]/IP$</AlertParameter2>
            <AlertParameter3>$Target/Property[Type="Demo.Syslog.IP"]/LastFacility$</AlertParameter3>
            <AlertParameter4>$Target/Property[Type="Demo.Syslog.IP"]/LastSeverity$</AlertParameter4>
            <AlertParameter5>$Target/Property[Type="Demo.Syslog.IP"]/LastPriority$</AlertParameter5>
            <AlertParameter6>$Target/Property[Type="Demo.Syslog.IP"]/LastPriorityName$</AlertParameter6>
            <AlertParameter7>$Target/Property[Type="Demo.Syslog.IP"]/LastMessage$</AlertParameter7>
          </AlertParameters>
        </AlertSettings>
        <OperationalStates>
          <OperationalState HealthState="Success" MonitorTypeStateID="Healthy" ID="Regular"/>
          <OperationalState HealthState="Error" MonitorTypeStateID="Unhealthy" ID="Iregular"/>
        </OperationalStates>
        <Configuration>
          <LastFacility>$Target/Property[Type="Demo.Syslog.IP"]/LastFacility$</LastFacility>
          <LastSeverity>$Target/Property[Type="Demo.Syslog.IP"]/LastSeverity$</LastSeverity>
          <LastPriority>$Target/Property[Type="Demo.Syslog.IP"]/LastPriority$</LastPriority>
          <LastPriorityName>$Target/Property[Type="Demo.Syslog.IP"]/LastPriorityName$</LastPriorityName>
          <LastTimeStamp>$Target/Property[Type="Demo.Syslog.IP"]/LastTimeStamp$</LastTimeStamp>
          <IP>$Target/Property[Type="Demo.Syslog.IP"]/IP$</IP>
          <LastMessage>$Target/Property[Type="Demo.Syslog.IP"]/LastMessage$</LastMessage>
          <MinutesFrequency>10</MinutesFrequency>
          <LeastFacility>0</LeastFacility>
          <LeastSeverity>4</LeastSeverity>
          <LeastPriority>0</LeastPriority>
          <PriorityNameRegexPattern>.*</PriorityNameRegexPattern>
          <TimeStampRegexPattern>.*</TimeStampRegexPattern>
          <HostNameRegexPattern>.*</HostNameRegexPattern>
          <MessageRegexPattern>.*</MessageRegexPattern>
        </Configuration>
      </UnitMonitor>
    </Monitors>
  </Monitoring>
  <Presentation>
    <Views>
      <View ID="Demo.Syslog.Views.IPStateView" Accessibility="Public" Enabled="true" Target="Demo.Syslog.IP" TypeID="SCLibrary!Microsoft.SystemCenter.StateViewType" Visible="true">
        <Category>Operations</Category>
        <Criteria>
          <InMaintenanceMode>false</InMaintenanceMode>
        </Criteria>
        <Presentation>
          <ColumnInfo Index="0" SortIndex="0" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
            <Name>State</Name>
            <Id>Demo.Syslog.IP</Id>
          </ColumnInfo>
          <ColumnInfo Index="1" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Maintenance Mode</Name>
            <Id>InMaintenanceMode</Id>
          </ColumnInfo>
          <ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>Name</Name>
            <Id>Name</Id>
          </ColumnInfo>
          <ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Path</Name>
            <Id>Path</Id>
          </ColumnInfo>
          <ColumnInfo Index="4" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>IP</Name>
            <Id>IP</Id>
          </ColumnInfo>
          <ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>LastPriorityName</Name>
            <Id>LastPriorityName</Id>
          </ColumnInfo>
          <ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>LastSeverity</Name>
            <Id>LastSeverity</Id>
          </ColumnInfo>
          <ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>LastFacility</Name>
            <Id>LastFacility</Id>
          </ColumnInfo>
          <ColumnInfo Index="8" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>LastPriority</Name>
            <Id>LastPriority</Id>
          </ColumnInfo>
          <ColumnInfo Index="9" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>LastTimeStamp</Name>
            <Id>LastTimeStamp</Id>
          </ColumnInfo>
          <ColumnInfo Index="10" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
            <Name>LastMessage</Name>
            <Id>LastMessage</Id>
          </ColumnInfo>
          <ColumnInfo Index="11" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="false" SortOrder="Ascending">
            <Name>Display Name</Name>
            <Id>DisplayName</Id>
          </ColumnInfo>
        </Presentation>
        <Target />
      </View>
    </Views>
    <Folders>
      <Folder ID="Demo.Syslog.Views.Folder" Accessibility="Public" ParentFolder="SCLibrary!Microsoft.SystemCenter.Monitoring.ViewFolder.Root" />
    </Folders>
    <FolderItems>
      <FolderItem ElementID="Demo.Syslog.Views.IPStateView" Folder="Demo.Syslog.Views.Folder" />
    </FolderItems>
    <StringResources> 
      <StringResource ID="Demo.Syslog.AlertMessage" />
    </StringResources>
  </Presentation>
  <LanguagePacks>
    <LanguagePack ID="ENU" IsDefault="true">
      <DisplayStrings>
        <DisplayString ElementID="Demo.Syslog.Discovery.MP">
          <Name>Syslog Demo Discovery MP</Name>
          <Description>Syslog DEMO Discovery MP: This Management Pack contains rules that discovers various IPs from syslog messages received and computes their health too.</Description>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP">
          <Name>IPs discovered through syslog messages</Name>
          <Description>This managed entity type refers to all IPs discovered via syslog messages.</Description>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="IP">
          <Name>Host Name</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastFacility">
          <Name>Last Facility</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastSeverity">
          <Name>Last Severity</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastPriority">
          <Name>Last Priority</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastPriorityName">
          <Name>Last Priority Name</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastTimeStamp">
          <Name>Last Time Stamp</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.IP" SubElementID="LastMessage">
          <Name>Last Message</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType">
          <Name>Syslog Monitor</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="MinutesFrequency">
          <Name>Frequency In Minutes</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="LeastFacility">
          <Name>Min. Expected Facility</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="LeastSeverity">
          <Name>Min. Expected Severity</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="LeastPriority">
          <Name>Min. Expected Priority</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="PriorityNameRegexPattern">
          <Name>Expected Priority Name Pattern</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="TimeStampRegexPattern">
          <Name>Expected Time Stamp Pattern</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="HostNameRegexPattern">
          <Name>Expected Host Name Pattern</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.MonitorType" SubElementID="MessageRegexPattern">
          <Name>Expected Message Pattern</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.AlertMessage">
          <Name>Syslog Message: Alert</Name>
          <Description>{0}: A message from {1} was recevied with facility '{2}', severity '{3}', priority '{4}'/priority name '{5}': '{6}'.</Description>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.Views.Folder">
          <Name>Syslog Views</Name>
        </DisplayString>
        <DisplayString ElementID="Demo.Syslog.Views.IPStateView">
          <Name>Syslog discovered IPs</Name>
        </DisplayString>
      </DisplayStrings>
    </LanguagePack>
  </LanguagePacks>
</ManagementPack>
