Navigation:  IM Sequencer > Steps configurations > Single step >

Custom filtering

Previous pageReturn to chapter overviewNext page

The Traxion ILM Framework has management agents that filter the objects based on a XML schema. These are extensible agents.

The management agent sends the filtered messages with log4net to the IM Sequencer. The IM Sequencer can receive and process these messages.

 

Below is an example report from objects that are filtered by the AVP File Agent from the Traxion ILM Framework.

 

 

As you can see above, there was 1 import fault detected, when these import faults are detected the deletes are no longer processed.
 
Furthermore there are 5 objects being filtered, the objects and there filter reasons are described as seen above.

 

Configuring the Traxion ILM Framework to support Custom Filtering:

 

The IM Sequencer service is configured to receive incoming messages send by log4net from the Traxion ILM Framework.
 
Below is a default remoting configuration for the IM Sequencer service:
 
<system.runtime.remoting>

  <application>

    <channels>

      <channel ref="tcp" port="8228"/>

      <serverProviders>

        <formatter ref="binary" typeFilterLevel="Full"/>

      </serverProviders>

      <clientProviders>

        <formatter ref="binary"/>

      </clientProviders>

      <channel name="Traxion.Filter.RemoteReceiver" displayName="Traxion.Filter.RemoteReceiver" ref="tcp server" port="8229"/>

    </channels>

    <service>

      <wellknown mode="Singleton" type="Traxion.IM.Scheduler.RemoteServices.SchedulerEngineService,Traxion.IM.Scheduler" objectUri="SchedulerEngineService"/>

    </service>

  </application>

</system.runtime.remoting>

 

This indicates that the IM Sequencer service is listening in port 8229 to receive custom filter messages send by the Traxion ILM Framework.

The following appender needs to be configured in the log4net configuration block for the Traxion ILM Framework:
 

How to configure Traxion.ILM.dll.log4net

 

note: The file Traxion.ILM.dll.log4net can be found in the extension directory from FIM/MIM
 

<!-- Remoting appender used by the sequencer to detecting import validation faults -->

<appender name="IMSequencerAppender" type="log4net.Appender.RemotingAppender">

<param name="Sink" value="tcp://localhost:8229/Traxion.Filter.Sender" />

<param name="Lossy" value="false" />

<param name="BufferSize" value="1" />

<param name="OnlyFixPartialEventData" value="false" />

 

<filter type="log4net.Filter.LoggerMatchFilter">

  <loggerToMatch value="HR.ConnectorFilter" />

</filter>

<filter type="log4net.Filter.LoggerMatchFilter">

  <loggerToMatch value="OIMMA.ConnectorFilter" />

</filter>

<filter type="log4net.Filter.LoggerMatchFilter">

  <loggerToMatch value="Traxion.ILM.GenericMAWithBuiltInFilter" />

</filter>

<filter type="log4net.Filter.LevelRangeFilter">

  <param name="LevelMin" value="WARN" />

</filter>

<filter type="log4net.Filter.DenyAllFilter" />

</appender>

 

The appender is configured to connect to port 8229 on the localhost. The buffersize of 1 means every message is send directly (no buffering). All messages should match a specific logger, all other messages are ignored.

 

Every management that support filtering based on the GenericMAWithBuildInFilter needs to be added in the list as a specific <filter> like:
 
<filter type="log4net.Filter.LoggerMatchFilter">

  <loggerToMatch value="HR.ConnectorFilter" />

</filter>

 

Where the <loggerToMatch> should match the value of the management agent name, that is the part for the 1st period.

 

When the appender is defined the appender should be attached to a specific log level or you can define it on the root:

 

<!-- Root logger. Every other logger logs to this logger as well (filtered by level) -->

<root>

<!-- Active log appenders. If tracing is required uncomment 'Debugger' -->

<appender-ref ref="Debugger"/>

<appender-ref ref="EventLog"/>

<appender-ref ref="RollingFileAppender"/>

<appender-ref ref="IMSequencerAppender"/>

<!-- Default log level. In production set it to INFO. If tracing is required set it to ALL -->

<level value="ALL"/>

</root>

 

The custom filtering has 2 different fault categories :
- ImportFaults

- DataValidationFaults

 

The categories are set as context properties from the Traxion ILM Framework even as the current management agent.
 
To notify that filtering was ok, the following messages should be send:

"No objects are filtered"

 

To notify that filtering was not ok a message should contain:

"object(s) filtered"

 

To notify for not processing import deletes, the following message should be send:

"Faults detected in the imported data"

 

All indicators can be configured in the configuration file "IM Sequencer.config" these settings however cannot be configured through the default interface.

 

 


Page url: http://www.traxionsolutions.com/imsequencer/help/index.html?customfiltering.htm