Auditing of Cockpit Operations
Since Cockpit is a very powerful tool, it is often desired to inspect which user performed which operation for auditing purposes. Cockpit operations that change state are logged in the BPM platform’s user operation log that is part of the process engine history. The log allows to understand
- which user performed an operation
- which operation was performed
- when the operation was performed
- which entities (process instances, tasks, etc.) were involved
- which changes were made
To get a more detailed explanation about the Java and REST API methods to get user operations, check out this url.
Operation Log in Cockpit
Cockpit provides the possibility to audit the activities which each user performs. You can find the Operation Log in the top menu bar under the
more option. The table is a representation of the history of various user operations, and it provides information about changes performed in the past. The rows are grouped by an operation to provide clear insights on the changes produced by each operation. Results can be filtered using the search bar at the top. You can add columns using the dropdown in the top right. They can be removed by clicking the next to the corresponding table header.
Operations by a specific User
To only display Operations performed by a specific User, click in the Search field and select
User ID from the dropdown and enter the ID of the desired user. The user ID can be copied from a log entry by hovering over the name and clicking on the clipboard Icon.
Operations in a specific Timespan
You can limit Results the time the operation occurred. Click in the Search field and select
Timestamp from the dropdown. You can now specify the date and time at which you want to cut off results. By clicking on the operator, you can select if you want results
after the specified time. Add another
Timestamp filter to specify a period.
Operations of a specific Type
If you are only interested in a specific operation, for example, every time a process instance was manually modified, you can use the
operation filter. Select the desired operation from the dropdown or start to type the name to filter through the list. For a complete list of logged operations, check out History and Audit Event Log.
Annotating Operation Logs
For each operation, an annotation can be added to provide context. To do this, click on the for the operation you want to annotate. The maximum length of the annotation is limited by your database. The length can be configured in the Cockpit Configuration.
User Operation Log per Process
Every Process Instance offers a User Operations table. It displays all User Operation affecting the particular process. The table can be found in both the process definition and instance history views.
Cockpit Operation Log Entries
The following table serves as an index that relates operations in the Cockpit user interface to operations in the user operation log. Whenever a listed operation is performed in Cockpit, entries for the corresponding user operations are created in the user operation log. The following list relates UI operations to the operation and entity types in the operation log. See the user operation log documentation for details on these types.
|UI Operation||Operation Type||Entity Type|
|Activate a Process Definition||ActivateProcessDefinition||ProcessDefinition|
|Suspend a Process Definition||SuspendProcessDefinition||ProcessDefinition|
|Activate a Process Instance||Activate||ProcessInstance|
|Suspend a Process Instance||Suspend||ProcessInstance|
|Activate a Job Definition||ActivateJobDefinition||JobDefinition|
|Suspend a Job Definition||SuspendJobDefinition||JobDefinition|
|Cancel a Process Instance||Delete||ProcessInstance|
|Cancel Multiple Process Instances||Delete||ProcessInstance|
|Add Process Instance Variables||SetVariable||Variable|
|Edit Process Instance Variables||ModifyVariable||Variable|
|Retry a Failed Job||SetJobRetries||Job|
|Batch Retry of Failed Jobs||SetJobRetries||Job|
|Process Instance Modification||ModifyProcessInstance||ProcessInstance|
|Set Task Assignee||Assign||Task|
|Add Task Candidate Group||AddGroupLink||IdentityLink|
|Remove Task Candidate Group||DeleteGroupLink||IdentityLink|