...
Users of the JOC Cockpit with the necessary permissions can view the Audit Log in the JOC Cockpit by clicking the Audit Log link in the JOC Cockpit main menu as shown in the screenshot below:
The Audit Log . This view and, in particular the Reasons field, Time Spent and Ticket Link information, is intended to provide users of the JOC Cockpit with more relevant operational information than is recorded in available from the History.
Compliance, Reporting and Operational Features
The Audit Log contains information about changes to JobScheduler objects initiated from the JOC Cockpit and by other applications using the JobScheduler Web Services. It does not include changes made to objects using the JobScheduler Object Editor, JOE, or changes made directly to objects on the file system using a text editor.
Compliance, Reporting and Operational Features
- The Audit Log is written automatically by the JobScheduler Web Services: is written automatically by the JobScheduler Web Services:
- Entries to the Audit log are made when an action that changes the state of a JobScheduler Object is initiated in the JOC Cockpit or other application accessing the JobScheduler Web Services.
- There is no mechanism for switching off the Audit Log.
- The Audit Log is written in two locations simultaneously:
- In the DBMS used by the JobScheduler Web Services:
- This instance is used by the JOC Cockpit to allow operators to view the Audit Log information.
- It is also used by the JOC Cockpit to generate an Excel-compatible export file for reporting purposes.
- In the Audit Log file:
- It is intended that this instance is archived and used as a compliance record. System Administrators can make a copy of this instance available to operating staff if the DBMS should not be available.
- The Audit Log file is named
JOCAuditLog.log
and saved in the./logs
folder.
- In the DBMS used by the JobScheduler Web Services:
- All new entries will be added to the Audit Log - neither the log file not the DMBS records are overwritten.
- System administrators have to arrange an archiving and housekeeping system for the Audit Log file according to relevant compliance laws and corporate governance.
- It is the responsibility of system administrators to check compliance requirements such as the retention period for the information contained in the Audit Log file.
- The Audit Log is visible in the JOC Cockpit to:
- Users with the appropriate permissions. The specification of user permissions is described in the Authentication and Authorization - Configuration article.
- The default authorization permissions for the Audit Log which are configured for the JOC Cockpit are listed in the Permissions Matrix shown in the Authentication and Authorization - Permissions for the JOC Cockpit Web Service article.
- System Administrators with access to the DBMS used by the JOC Cockpit or the file system where the Audit Log file is written.
- The Audit Log is read-only for all JOC Cockpit users - only System Administrators that have access to both the file system and to the database can modify the log.
- Users with the appropriate permissions. The specification of user permissions is described in the Authentication and Authorization - Configuration article.
...
- Created: the point in time when the action was performed.
- Account: the user account that caused the action.
- Request URL: the Web Service URL that was invoked by the JOC Cockpit. The URLs represent the object type and action, e.g. /orders/start.
- Job Chain, Order ID, Job: identifies the object for which the action was performed.
- Reasons: (can be mandatory or optional - see below) an explanation of why an action was carried out. Reasons are created either by selecting an item from a list of predefined reasons (configurable) or individual - i.e. free text input. A maximum of 2000 characters can be added to a free text reason.
- Time Spent: (optional) the number of minutes required for the action (including time for impact analysis) can be added.
- Ticket Link: (optional) a URL can be added that points to a ticket system, e.g. the SOS Ticket System, to identify the underlying ticket for the intervention.
...
Action Notes
Users carrying out actions are able to add an explanatory reason notes for each action. These reasons are notes are entered as part of the specification of an action and then saved in the Audit Log and . They can then be read by all other JOC Cockpit users with the necessary permissions. The 'Enter a Reason' form is shown after each operation is initiated and can be seen form for the 'Start Order At' action is shown as an example in the following screenshot:
Reasons may be mandatory and two forms of reasons are possible:
Action Notes are made up of three elements as shown in the screenshot above:
- Reasons (mandatory or optional)
- Predefined Reasons which
- are selected from a drop-down
- list and
- Individual Reasons
- Free text fields up to max 2000 characters
The Submit and Cancel buttons in the Enter a Reason form refer to the operation being carried out. This means that:
- are possible which are entered in a text field
- Time Spent (always optional):
- in minutes
- Ticket Link (always optional):
- has to start with
http://
- has to start with
Mandatory and Optional Reasons
...
If this option is not set and reasons are not mandatory, which is the default setting, then users will not be presented with the Enter a Reason function when the Start Job At or Start Order At functions.
Predefined Reasons
A predefined set of reasons is delivered with the JOC Cockpit.
Predefined reasons are found in the ./joc_home/jetty_base/resources/joc
directory, in the joc.properties
file.
The predefined reasons are listed in the following code box:
Behavior of Start Order now and Start Task now
The behavior of the Start Order now and Start Task now functions depends on whether or not Action Notes are enabled in the user's Profile setting and whether Action Note Reasons are mandatory or optional.
Enable Reasons for Audit Log (Profile Setting) | mandatory | optional |
---|---|---|
Not selected | 'Enter notes for this Action' form opens | Order/Task starts immediately |
Selected | 'Enter notes for this Action' form opens |
Predefined Reasons
A predefined set of reasons is delivered with the JOC Cockpit.
Predefined reasons are found in the ./joc_home/jetty_base/resources/joc
directory, in the joc.properties
file.
The predefined reasons are listed in the following code box:
Code Block | ||||
---|---|---|---|---|
| ||||
### Pre-defined comments
comments = System | ||||
Code Block | ||||
| ||||
### Pre-defined comments
comments = System maintenance; \
Repeat execution; \
Business requirement; \
Restart failed execution; \
Re-instantiate stopped object; \
Temporary stop; \
Change of JobScheduler object; \
Rerun with parameter changes; \
Change of external dependency; \
Application deployment and upgrade |
...
System administrators are free to modify predefined reasons and the force_comments_for_audit_log
flag to suit their own requirements.
The JOC Cockpit needs to be restarted before changes made to the joc.properties
file will take effect.
Individual Reasons
Individual Reasons can be entered in the text field as shown in the screenshot above.
The following characters are allowed:
- A-Z, a-z, 0-9, commas, hyphens
be restarted before changes made to the joc.properties
file will take effect.
Individual Reasons
Individual Reasons can be entered in the text field as shown in the screenshot above.
UTF-8 characters are allowed.
Audit Log View
The arrow at the left hand side of each entry in the Audit Log view table allows more detailed information about the request submitted to the JobScheduler Web Services. The Request Body row shown in the following screenshot includes the Job Scheduler the Order is to be processed on, as well as the Order Parameters and starting time (processing starting from State 20, starting immediately, etc),
The Advanced Filter
In addition to the preset All, Today, Last hour, etc. filters listed at the top of the Audit Log view there is an Advanced Filter function which is opened with the Advanced Filter button at the top right of the view. Clicking this button opens the Advanced Filter function. Note that the preset Filters (All, Today, Last hour, etc.) work in parallel with the Advanced Filter. This means that if the Today standard filter is selected and then From 09:00:00 To 18:00:00 then all Audit Log entries started between 09:00 and 18:00 will be shown for all the days covered by the Audit Log.
The Search Button
The Search button allows a search of the results of the Standard or Advanced Filters to be carried out.
Audit Log Location
The Audit Log file is found in the the ./joc_home/jetty_base/logs
directory directory, in the the JOCAuditLog.log
file file. If the file does not exist, it will be created with the first operation action modifying the status of an object that is carried out by a user.
...
The following sample shows a number of Web Service requests that have been performed by a user "ap"by two users aa_ito and root, who logged in at 14:13:47
using a different browser before aa_ito logged out:
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
2017-0102-0210 1811:2339:5455,553992 INFO USERREQUEST: ap./orders/add - REQUESTUSER: ./orders/resumeaa_ito - PARAMS: {"orderId":"6","{"jobschedulerId":"jobscheduler_1.11","orders":[{"jobChain":"/sampletutorials/hello_world_job_chain1"}chain","at":"now"}]} - COMMENT: Demo start for documentation 2017-0102-0210 1811:2443:0705,033831 INFO USER: ap - REQUEST: ./tasks/killjobs/start - USER: aa_ito - PARAMS: {"jobschedulerId":"jobscheduler_1.11","jobs":[{"job":"/sample/job2","taskIds":[]} 2017-01-02 18:24:25,899 INFO USER: ap - REQUEST: ./tasks/kill - PARAMS: standalone-jobs/test_sa_job1","at":"now"}]} - COMMENT: Demo start for documentation 2017-02-10 11:54:11,731 INFO REQUEST: ./jobs/start - USER: aa_ito - PARAMS: {"jobschedulerId":"jobscheduler_1.11","jobs":[{"job":"/sample/job2standalone-jobs/test_sa_job1","taskIdsat":["now"}]} - COMMENT: null 2017-0102-0210 1812:2438:4731,051507 INFO USERREQUEST: ap./login - REQUESTUSER: ./orders/suspendaa_ito - PARAMS: {"orderId":"6","jobChain":"/sample/job_chain1"}} - COMMENT: it_operator 2017-0102-0210 1812:2548:1039,352857 INFO USERREQUEST: ap./orders/start - REQUESTUSER: ./orders/suspendaa_ito - PARAMS: {"jobschedulerId":"jobscheduler_1.11","orders":[{"orderId":"executionhello_perworld_30sorder","jobChain":"/sampletutorials/hello_world_job_chain1"}chain","at":"now"}]} - COMMENT: null 2017-0102-0210 1813:2634:1157,271995 INFO USERREQUEST: ap./login - REQUESTUSER: ./orders/addaa_ito - PARAMS: {"jobChain":"/sample/job_chain1","at":"now"}} - COMMENT: 2017-0102-0210 1813:2635:1903,150391 INFO USERREQUEST: ap./login - REQUESTUSER: ./orders/addaa_ito - PARAMS: {"jobChain":"/sample/job_chain1","at":"now"}} - COMMENT: it_operator 2017-0102-0210 1813:2635:3249,933186 INFO USERREQUEST: ap./orders/start - REQUESTUSER: ./orders/addaa_ito - PARAMS: {"jobschedulerId":"jobscheduler_1.11","orders":[{"orderId":"hello_world_order","jobChain":"/sampletutorials/hello_world_job_chain1chain","at":"now"}]} - COMMENT: null 2017-0102-0210 1813:2736:3613,719905 INFO REQUEST: ./jobs/start - USER: apaa_ito - REQUESTPARAMS: ./jobs/stop - PARAMS: {"jobschedulerId":"jobscheduler_1.11","jobs":[{"job":"/sample/job2"}standalone-jobs/test_sa_job1","at":"now"}]} - COMMENT: null 2017-0102-0210 1813:2953:41,394 INFO 50,184 INFO REQUEST: ./orders/add - USER: apaa_ito - REQUESTPARAMS: {"jobschedulerId":"jobscheduler_1./jobs/unstop - PARAMS: {"job":"/sample/job2"} 2017-01-02 18:29:46,156 INFO USER: ap - REQUEST: ./orders/resume11","orders":[{"jobChain":"/tutorials/hello_world_job_chain","state":"20","at":"now"}]} - COMMENT: Test Start from step 20 2017-02-10 13:56:05,459 INFO REQUEST: ./orders/add - USER: aa_ito - PARAMS: {"orderIdjobschedulerId":"execution_per_30sjobscheduler_1.11","orders":[{"jobChain":"/sampletutorials/hello_world_job_chain1"}chain","at":"now"}]} - COMMENT: null 2017-0102-10 14:02 18:30:51,713467 INFO REQUEST: ./login - USER: apaa_ito - REQUESTPARAMS: ./orders/resume{} - PARAMSCOMMENT: {"orderId":"6","jobChain":"/sample/job_chain1"}it_operator 2017-0102-0210 18:31:22,838 INFO USER: ap -14:09:38,471 INFO REQUEST: ./orders/suspendadd - USER: aa_ito - PARAMS: {"orderIdjobschedulerId":"dailyjobscheduler_execution1.11","orders":[{"jobChain":"/sampletutorials/job_chain1"}hello_world_job_chain","state":"20","at":"now"}]} - COMMENT: Repeat execution 2017-0102-0210 1814:3110:4336,712839 INFO REQUEST: ./orders/add - USER: apaa_ito - REQUESTPARAMS: ./orders/add - PARAMS: {"jobschedulerId":"jobscheduler_1.11","orders":[{"jobChain":"/sampletutorials/hello_world_job_chain1chain","state":"20","at":"now"}]} - COMMENT: Repeat execution 2017-0102-0210 1814:3113:47,868553 INFO USERREQUEST: ap./login - REQUEST: ./orders/addUSER: root - PARAMS: {"jobChain":"/sample/job_chain1","at":"now"}} - COMMENT: all 2017-0102-0210 1814:3114:5548,244351 INFO USER: ap - REQUEST: ./orders/add - USER: root - PARAMS: {"jobschedulerId":"jobscheduler_1.11","orders":[{"jobChain":"/sampletutorials/hello_world_job_chain1chain","state":"20","at":"now"}]} - COMMENT: Repeat execution |
Audit Log Explanation
- The Audit Log includes the Web Service URL, which allows the object type and operation to be identified. For example, .
/orders/resume
translates translates to the operation to resume action of resuming an order that is identified by its order ID and Job Chain path, as specified in the parameters PARAMS part of each log entry.
Audit Log Housekeeping & Archiving
...