Operations Manager APM adatátviteli szabály

Microsoft.SystemCenter.Apm.DataTransferRule (Rule)

Ez a szabály adatokat visz át a műveleti adatbázisból az adatraktár-adatbázisba az Application Advisor számára.

Knowledge Base article:

Összefoglalás

Ez a szabály indítja el az operatív és/vagy adatraktár-adatbázisokkal kapcsolatos APM-eseményekre vonatkozó adatátviteli, aggregációs és karcsúsítási tevékenységeket. Ez a szabály lehetővé teszi az adatraktár-adatbázisban található APM-események megőrzésére vonatkozó beállítások felülbírálásának felügyeletét. A szabály letiltása vagy bármely más beállítás felülbírálása kedvezőtlenül fogja befolyásolni egyebek mellett az APM-funkció, az adatraktár-adatbázis és az Application Advisor-jelentések általános állapotát, használhatóságát és stabilitását.

Okok

Ez a szakasz nem alkalmazható az adott szabálytípus esetében.

Megoldások

Az adott szabálytípushoz nem tartoznak felhasználói műveletek.

Element properties:

TargetMicrosoft.SystemCenter.Apm.DataTransferService
CategoryCustom
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
Scheduler DataSource System.Scheduler Default
DataTransferRuleWA WriteAction Microsoft.SystemCenter.Apm.DataTransferModule Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.DataTransferRule" Enabled="true" Target="Microsoft.SystemCenter.Apm.DataTransferService" Remotable="true">
<Category>Custom</Category>
<DataSources>
<DataSource ID="Scheduler" TypeID="System!System.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Days">27</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="DataTransferRuleWA" TypeID="Microsoft.SystemCenter.Apm.DataTransferModule">
<TransferIntervalInMin>5</TransferIntervalInMin>
<StoreEventPeriodInDays>91</StoreEventPeriodInDays>
<StorePerformanceCountersIntervalInDays>91</StorePerformanceCountersIntervalInDays>
<LookupIntervalInSec>20</LookupIntervalInSec>
<SQLUserName>$RunAs[Name="DataWarehouse!Microsoft.SystemCenter.DataWarehouse.SqlAuthenticationActionAccount"]/UserName$</SQLUserName>
<SQLUserPassword>$RunAs[Name="DataWarehouse!Microsoft.SystemCenter.DataWarehouse.SqlAuthenticationActionAccount"]/Password$</SQLUserPassword>
<configuration>
<userdata>
<add key="sqlConnectionTimeout" value="180"/>
<add key="sqlCommandTimeout" value="300"/>
<add key="rowsToDeletePerIteration" value="100"/>
<add key="rowsToDeletePerRequest" value="6000"/>
<add key="PMRowsToProcessPerIteration" value="1000"/>
<add key="PMRowsToProcessPerRequest" value="6000"/>
<add key="AdvisorRowsToDeletePerIteration" value="1000"/>
<add key="AdvisorRowsToDeletePerRequest" value="6000"/>
<add key="sqlUserName" value="%SQLUserName%"/>
<add key="sqlUserPassword" value="%SQLUserPassword%"/>
<add key="APMOpsMgrVersion" value="5.7"/>
<add key="APMDWVersion" value="5.7"/>
<add key="APMSchemaVersion" value="1"/>
<add key="mgmtServerName" value="localhost"/>
<add key="transferThresholdIteration" value="3"/>
<add key="transferMultiDurationFactor" value="3"/>
<add key="eventMessageThrottlingPeriodByMinutes" value="30"/>
<add key="thresholdHoursWithoutTrasferring" value="2"/>
</userdata>
<handlers>
<classHandlers eventClass="AdvisorPMonitorLog" eventClassVersion="5.1" eventClassType="performance">
<title>Performance Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>PMonitorHandlerV51, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.SEManager.CustomHandlers.PMonitor.PMonitorHandler</class>
<settings>
<add key="HeavyLeafsAmplitude" value="0.1"/>
<add key="RootDuration" value="20"/>
<add key="AliasConfig" value="PMonitorHandlerV4.config"/>
</settings>
</handler>
</classHandlers>
<classHandlers eventClass="AdvisorCLRXMonitorLog" eventClassVersion="5.1" eventClassType="exception">
<title>Exception Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>CLRXMonitorHandlerV51, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.SEManager.CustomHandlers.CLRXMonitor.CLRXMonitorHandler</class>
<settings/>
</handler>
</classHandlers>
<classHandlers eventClass="AdvisorCSMPMonitorLog" eventClassVersion="5.6" eventClassType="performance">
<title>.NET Client Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>ClientEventHandlerV56, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.Reporting.Transfer.DataActions.ClientEventHandlers.CSMPMonitorHandler</class>
<settings/>
</handler>
</classHandlers>
<classHandlers eventClass="AdvisorCSMAMonitorLog" eventClassVersion="5.6" eventClassType="performance">
<title>.NET Client Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>ClientEventHandlerV56, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.Reporting.Transfer.DataActions.ClientEventHandlers.CSMAMonitorHandler</class>
<settings/>
</handler>
</classHandlers>
<classHandlers eventClass="AdvisorCSMSMonitorLog" eventClassVersion="5.6" eventClassType="performance">
<title>.NET Client Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>ClientEventHandlerV56, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.Reporting.Transfer.DataActions.ClientEventHandlers.CSMSMonitorHandler</class>
<settings/>
</handler>
</classHandlers>
<classHandlers eventClass="AdvisorCSMXMonitorLog" eventClassVersion="5.6" eventClassType="exception">
<title>.NET Client Event</title>
<handler handlerType="EventInfoHandler">
<assemblyFile>ClientEventHandlerV56, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20</assemblyFile>
<class>Avicode.Intercept.Reporting.Transfer.DataActions.ClientEventHandlers.CSMXMonitorHandler</class>
<settings/>
</handler>
</classHandlers>
</handlers>
<reporting>
<reportingOperations>
<tasks>
<task name="Aggregation" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.AggregationTask, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="perf counter aggregation process" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.AggregationAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection source="connectionString" target="reporting"/>
<aggregation type="Hourly" dataset="pcounter" interval="1">
<!-- Attribute NAME bind to UPPER CASE
Attribute TYPE bind to UPPER CASE

TYPE:
0 - computer performance counter (default value)
1 - application performance counter
2 - computer and application performance counter
INSTANCEFUNC : function that will be used to aggregate counter between instances in custom counters report
available values : AVG(default), SUM, MAX
DATEFUNC : function that will be used to aggregate counter between dates in custom counters report
available values : AVG(default), SUM, MAX

-->
<perfcounterSet>
<perfcounter NAME="\Apps\Avg. Request Time" TYPE="2" INSTANCEFUNC="AVG" DATEFUNC="AVG"/>
<perfcounter NAME="\Apps\Exception Events/sec" TYPE="2"/>
<perfcounter NAME="\Apps\Monitored Requests/sec" TYPE="2" INSTANCEFUNC="SUM" DATEFUNC="AVG"/>
<perfcounter NAME="\Apps\Monitored Requests" TYPE="2" INSTANCEFUNC="SUM" DATEFUNC="AVG"/>
<perfcounter NAME="\Apps\Performance Events/sec" TYPE="2"/>
<perfcounter NAME="\Process\% Processor Time" TYPE="2"/>
<perfcounter NAME="\ASP.NET Apps\Requests Queued"/>
<perfcounter NAME="\ASP.NET Apps\Requests/Sec" INSTANCEFUNC="SUM" DATEFUNC="AVG"/>
<perfcounter NAME="\ASP.NET Apps\Sessions Active" INSTANCEFUNC="SUM" DATEFUNC="AVG"/>
<perfcounter NAME="\Memory\Available MBytes"/>
<perfcounter NAME="\Network Interface\Bytes Total/sec"/>
<perfcounter NAME="\Process\IO Data Bytes/sec"/>
<perfcounter NAME="\Process\IO Data Bytes/sec (_All Monitored Applications)"/>
<perfcounter NAME="\Process\Private Bytes"/>
<perfcounter NAME="\Process\Private Bytes (_All Monitored Applications)"/>
<perfcounter NAME="\Process\Virtual Bytes"/>
<perfcounter NAME="\Process\Virtual Bytes (_All Monitored Applications)"/>
<perfcounter NAME="\Processor\% Processor Time"/>
<perfcounter NAME="\Processor\%.Net Apps Time"/>
<perfcounter NAME="\Web Service\Current Connections"/>
</perfcounterSet>
</aggregation>
</dataAction>
</dataActions>
</task>
<task name="Transfer" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.TransferTask, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="Transfer perf counter and events" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.ExtractionAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection source="connectionString" target="reporting"/>
<records delta="1000"/>
</dataAction>
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.ProcessAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection source="connectionString" target="reporting"/>
<records delta="100"/>
</dataAction>
</dataActions>
</task>
<task name="ResourceTask" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.DataFlowTask, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="extract resources" active="true">
<dataFlowTable name="EventRowData"/>
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.ExtractionAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection source="connectionString" target="reporting"/>
<records delta="1000"/>
</dataAction>
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.ResourceAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection target="reporting"/>
<records delta="300"/>
</dataAction>
</dataActions>
</task>
<task name="CompleteAggregation" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.Task, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="perf counter aggregation process" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.CompleteAggregationAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection name="reporting"/>
<aggregation type="Daily" dataset="perfHourly"/>
</dataAction>
</dataActions>
</task>
<task name="ConfigSynchronization" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.Task, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="synchronize config" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.SyncPerfCountersAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection name="reporting"/>
</dataAction>
</dataActions>
</task>
<task name="Grooming" manager="Transfer" type="Avicode.Intercept.Reporting.Transfer.Task, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="grooming" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.GroomAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection name="reporting"/>
<maxAgeDays>
<add table="Event" value="%StoreEventPeriodInDays%"/>
<!-- store event period -->
<add table="PerfHourly" value="%StorePerformanceCountersIntervalInDays%"/>
<!-- store performance counters period -->
<add table="PerfDaily" value="182"/>
</maxAgeDays>
</dataAction>
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.GroomAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection name="connectionString"/>
<maxAgeDays>
<add table="PerfHourly" value="91"/>
<!-- Do we use it? -->
</maxAgeDays>
</dataAction>
</dataActions>
</task>
<!-- ApplyRule tasks-->
<task name="ApplyRule" manager="ApplyRule" type="Avicode.Intercept.Reporting.Transfer.Task, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" description="Applying PMRule to Advisor database" active="true">
<dataActions driver="MSSQL">
<dataAction type="Avicode.Intercept.Reporting.Transfer.DataActions.ApplyRuleAction, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20">
<connection source="connectionString" target="reporting"/>
</dataAction>
</dataActions>
</task>
</tasks>
<managers>
<manager name="Transfer" class="Avicode.Intercept.Reporting.Transfer.Service.Manager.TransferManager, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" active="true">
<properties>
<add name="TransferInterval" value="%TransferIntervalInMin%"/>
</properties>
</manager>
<manager name="ApplyRule" class="Avicode.Intercept.Reporting.Transfer.Service.Manager.ApplyRuleManager, Aggregation, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Version=7.0.5000.20" active="true">
<properties>
<add name="RefreshInterval" value="%LookupIntervalInSec%"/>
</properties>
</manager>
</managers>
</reportingOperations>
<favoriteCacheConfiguration>
<!-- The time on the server side (server timezone) which is used as start point for favorite cache creation -->
<add type="startTime" value="00:00:00"/>
<!-- The offset between two cache creation operation in seconds -->
<add type="offset" value="180"/>
</favoriteCacheConfiguration>
</reporting>
</configuration>
</WriteAction>
</WriteActions>
</Rule>