Red Hat Training

A Red Hat training course is available for Red Hat Fuse

314.3. RFC5424 Syslog プロトコル

Camel 2.14 から利用可能

Syslog リスナーサービスを公開するには、既存の camel-mina コンポーネントまたは camel-netty を再利用します。ここでは、SyslogDataFormat を使用してメッセージをマーシャリングおよびアンマーシャリングします。

314.3.1. Syslog リスナーの公開

Spring XML ファイルでは、ポート 10514 で udp メッセージをリッスンするようにエンドポイントを設定します。netty では defaultCodec を無効にしていることに注意してください。
NettyTypeConverter へのフォールバックを許可し、メッセージを InputStream として配信します。

<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">

    <dataFormats>
          <syslog id="mySyslog"/>
    </dataFormats>

    <route>
          <from uri="netty:udp://localhost:10514?sync=false&amp;allowDefaultCodec=false"/>
          <unmarshal ref="mySyslog"/>
          <to uri="mock:stop1"/>
    </route>

</camelContext>

camel-mina を使った同じルート

<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">

    <dataFormats>
          <syslog id="mySyslog"/>
    </dataFormats>

    <route>
          <from uri="mina:udp://localhost:10514"/>
          <unmarshal ref="mySyslog"/>
          <to uri="mock:stop1"/>
    </route>

</camelContext>

314.3.2. リモート宛先への syslog メッセージの送信

<camelContext id="myCamel" xmlns="http://camel.apache.org/schema/spring">

    <dataFormats>
        <syslog id="mySyslog"/>
    </dataFormats>

    <route>
        <from uri="direct:syslogMessages"/>
        <marshal ref="mySyslog"/>
        <to uri="mina:udp://remotehost:10514"/>
    </route>

</camelContext>