You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Introduction

JS7 - Log Management is offered with JOC Cockpit for monitoring of log output and dispatch of notifications created by Controller, Agent & JOC Cockpit instances.

  • Service
    • The JS7 - Log Notification Service is used to collect warnings and errors from log output of Controller & Agent instances and to create JS7 - Notifications. JOC Cockpit notifications are created directly and without use of the service.
    • The service is compliant to RFC5424, aka Syslog Protocol and offers restart capabilities.
  • Clients
    • Controller & Agent instances can act as clients to the Log Notification Service. The products can be configured to report warnings and errors to the Log Notification Service.
    • Users have a choice to enable forwarding of warnings and errors during installation or later on by adjusting the Log4j configuration.
  • User Interface
    • The JOC Cockpit offers notifications from the JS7 - Monitor view.

FEATURE AVAILABILITY STARTING FROM RELEASE 2.7.2

Log4j Configuration

By default the Log4j configuration of Controller & Agent instances will not make use of the Log Notification Service. Instead, users choose for which instances of JS7 products they want to send errors and warnings to the Log Notification Service.

As a prerequisite the host and port used for the Log Notification Service have to be accessible for JS7 products.

The following examples explain the Log4j configuration.

Controller Log4j Configuration

The following Log4j configuration extract is available from the log4j2.xml-example file in the Controller's <controller-data>/config directory.

  • Users can copy the log4j2.xml-example file to a file with the name log4j2.xml. Should this file exist, then the <Syslog> element and related <Properties> elements from the example file can be copied.
  • Users have to adjust settings from the <Properties> configuration elements. No changes must be applied to the <Syslog> configuration.


Example for Controller log4j2.xml Configuration
<Properties>
        ...
        <Property name="SysLogLevel">Off</Property>
        <Property name="SysLogHost">joc-2-0-primary</Property>
        <Property name="SysLogPort">4245</Property>
        ...
</Properties>

<Appenders>
        ...
        <Syslog name="logNotificationAppender" format="RFC5424" host="${SysLogHost}" port="${SysLogPort}" protocol="UDP">
            <ThresholdFilter level="WARN"/>
            <PatternLayout charset="UTF-8" pattern="<134>1 %d{yyyy-MM-dd'T'HH:mm:ss.SSS}{Etc/UTC}Z ${hostName} Agent {
"subagentId":"%X{js7.serverId}",
"role":"%X{js7.clusterNodeId}",
"level":"%p",
"logger":"%c{1}",
"message":"%enc{%m}{JSON}",
"thrown":"%enc{%throwable{10}}{JSON}"}"/>
        </Syslog>
        ...
</Appenders>


Explanations:

  • SysLogLevel: By default the Off value is used that deactivates the Syslog Appender. A value WARN will forward warnings and errors to the Log Notification Service.
  • SysLogHost: The hostname of the JOC Cockpit instance operatiang the Log Notification Service.
  • SysLogPort: The port of the Log Notification Service in JOC Cockpit is required. The default value is 4245.

Agent Log4j Configuration

The following Log4j configuration is available from the log4j2.xml-example file in the Agent's <agent-data>/config directory.

  • Users can copy the log4j2.xml-example file to a file with the name log4j2.xml. Should this file exist, then the <Syslog> element and related <Properties> elements from the example file can be copied.
  • Users have to adjust settings from the <Properties> configuration elements. No changes must be applied to the <Syslog> configuration element.


Example for Agent log4j2.xml Configuration
<Properties>
        ...
        <Property name="SysLogLevel">Off</Property>
        <Property name="SysLogHost">joc-2-0-primary</Property>
        <Property name="SysLogPort">4245</Property>
        ...
</Properties>

<Appenders>
        ...
        <Syslog name="LogNotificationAppender" format="RFC5424" host="joc-2-0-primary" port="4245" protocol="UDP">
            <ThresholdFilter level="WARN"/>
            <PatternLayout charset="UTF-8" pattern="<134>1 %d{yyyy-MM-dd'T'HH:mm:ss.SSS}{Etc/UTC}Z ${hostName} Agent {
"instanceId":"%X{js7.serverId}",
"role":"%X{js7.clusterNodeId}",
"level":"%p",
"logger":"%c{1}",
"message":"%enc{%m}{JSON}",
"thrown":"%enc{%throwable{10}}{JSON}"}"/>
        </Syslog>
        ...
</Appenders>


Explanations:

  • Similar to Controller Log4j configuration, see above.



  • No labels