The App Join product lets you combine something to something. Its core routing and transformation engine lets you examine and remodel messages from all kinds of industry-standard and customized message fashions. However with nice energy can come complexity! Being generic and being able to run your integration flows on totally different kind components can provide you a whole lot of choices. This text goals that will help you coordinate your logging strategy throughout these totally different kind components and to make clear the place and how one can get entry to the extra frequent type of logging throughout all the shape components.
Kind Elements
The App Join runtime runs on 3 distinct kind components, all able to working BAR recordsdata containing Integration Flows. These BARs may be moved between every kind issue. You possibly can create a BAR file utilizing the ACE Toolkit or the App Join Designer UI.
1. App Join Enterprise (ACE)
It is a single runtime that may be administered by connecting to the WebUI port (default: 7600). Typically, it runs on Digital Machines and servers so the whole surroundings is seen to an administrator, however visibility and actions may be restricted for particular person customers.
2. App Join Enterprise Licensed Container (ACEcc)
These are a number of ACE runtimes working in k8s pods so they can’t join on to unexpectedly for administration. They’re configured utilizing an IntegrationRuntime
Customized Useful resource, which is utilized by the App Join Operator in a k8s surroundings to create runtime objects. All pods are seen by the k8s administrator and normal RBAC guidelines may be utilized. Further configuration may be supplied to provide additional server.conf.yaml settings, for instance.
3. App Join iPaaS (ACEaaS)
As with ACEcc, ACEaaS is orchestrated in a k8s surroundings, however this surroundings is extra restricted with no direct visibility of the k8s pods. All logs should be output to the IntegrationRuntime
‘s console log after which they are often scraped right into a Prometheus log storage which is queried and considered within the ACEaaS Log viewer. This may be configured in the identical means because the ACEcc runtime utilizing configurations.
Logging
Logging has a stage of verboseness, starting from very verbose Service Hint to Consumer Hint after which to a extra succinct user-focused Exercise Log. All this logging may be turned on and off, as there could be a efficiency impression to it, as there may be inside any integration runtime.
Logging Nodes
These are nodes which might be used solely to output user-defined log messages. They are often personalized to output to varied areas and may comprise info from the circulation runs. For instance:
ACE |
ACEcc |
ACEaaS |
|
ACELog Node (Created within the ACE Toolkit) |
ResourceManagers: ActivityLogManager: minSeverityLevel: 'DEBUG' |
ResourceManagers: ActivityLogManager: minSeverityLevel: 'DEBUG'
ActivityLog: MyLoggingConfiguration: filter: TYPE=LOG consoleLog: true consoleLogFormat: 'textual content' minSeverityLevel: 'DEBUG'
|
ActivityLog: MyLoggingConfiguration: filter: TYPE=LOG consoleLog: true consoleLogFormat: 'ibmjson'
ResourceManagers: ActivityLogManager: minSeverityLevel: 'DEBUG'
|
Designer Log Node (Created in Designer Authoring) |
N/A |
spec: template: spec: containers: - identify: designerflows env: - identify: 'SINGLE_TENANT_USER_TRACE' worth: 'debug' or from 12.0.12.5 you’ll be able to set the next:
ResourceManagers: ActivityLogManager: minSeverityLevel: 'DEBUG' |
ResourceManagers: ActivityLogManager: minSeverityLevel: 'DEBUG'
|
Hint Node (Created within the ACE Toolkit) |
Outputs to both Consumer Hint (See Consumer Hint part beneath on how one can retrieve), File, or Native Error Log (console log) |
Outputs to Consumer Hint (retrieved by means of the Dashboard UI), File, or Native Error Log (console log) |
Output to Consumer Hint after which may be retrieved by means of the Dashboard UI as with ACEcc |
Tracing
Tracing the mixing flows lets you see what path any messages have taken by means of your circulation and may be very verbose like service hint (usually solely to research any product points) or much less verbose like consumer hint.
ACE |
ACEcc |
ACEaaS |
|
Consumer Hint (Additionally consists of all ActivityLog entries) |
– <workdir>/config/frequent/log – C:ProgramDataIBMmqsicommonlog (Home windows) |
Makes use of a Hint configuration to allow after which pull again any created hint recordsdata; All achievable by means of the Dashboard UI. |
Makes use of a Hint configuration to allow after which pull again all achievable by means of the Dashboard UI as in ACEcc |
Service Hint (A lot lower-level hint meant largely for the App Join Service crew) |
Identical as above for Consumer Hint, extra particulars here |
Makes use of a Hint configuration to allow after which pull again; All achievable by means of the Dashboard UI, once more the identical mechanism as Consumer Hint above. | Makes use of a Hint configuration to allow after which pull again all achievable by means of the Dashboard UI as in ACEcc |
ActivityLog
The ActivityLog may be considered in ACE and ACEcc within the admin UI. (For ACEcc, it’s worthwhile to specify a particular duplicate to have the ability to view this). That is saved in reminiscence however may be configured within the server.conf.yaml to output to a number of locations all in parallel, starting from file to an ELK stack, for instance. You possibly can consolidate the view in ACEcc or ACEaaS by sending the output to the console.
For ACEcc there may be additionally the consideration of your k8s RBACs, the Dashboard and Designer right here run as a single consumer.
Extra particulars on configuring the ActivityLog output are here.
There are numerous ActivityLog varieties that may be discovered within the Activity log structure and types documentation. For instance, the CICS ActivityLog:
They can all be configured to output across all three of the App Connect form factors by using the ActivityLog stanza in the ACE runtime server.conf.yaml.
The 'ActivityLogTemplate'
name can be anything you want, and you can then configure the filter to output what you want; for example, filter: RM=CICS;RM=JMS
to output the CICS and JMS ActivityLog to a specific location. As mentioned in the table above, to see these entries in ACEcc or ACEaaS, you then need to specify consoleLog: true
and consoleLogFormat: 'ibmjson'
so that the entries are output to the console. For ACEaaS these can then be viewed in the Logs view.
Advanced Tracing Links
Conclusion
The granularity of logging and tracing could be very customizable inside the App Join product, so this could make it complicated to get to the precise logging you require. Now we have tried to make the frequent circulation logging as accessible as doable with the Exercise Log being a typical issue, however we’re consistently seeking to enhance the useability of App Join in all our 3 kind components.
If there may be something you wish to see improved, please elevate a request for a function enchancment.