Audit Log¶
Audit Log Introduction¶
The Audit Log allows administrators to look back at changes that have been made to NetEye. This is useful should you need to troubleshoot a problem, or if you need to keep a record of important events, such as changes to global permissions.
The Audit Log module centrally records information about events such as the creation, modification, deletion or deployment of module objects for all those modules that implement an object structure that is compatible with this module.
To view the Audit Log, select
.Features¶
The Audit Log makes (compatible) configuration changes persistent in a database, including:
An ID of the modified object
The user that made the change
The type of action (Create, Modify, Delete and Deploy*)
The type of object that was changed
A copy of the new object (for Create and Modify)
The module that originated the change
The time and date the change was made
Audit Log can also show the differences between the previous and new versions of an object in a separate panel.
NetEye’s permissions system allows administrators to restrict Audit
Log viewing rights based on the Roles belonging to
a NetEye user and their groups. By default, users can only see their
own changes. If an administrator adds the role Allow viewing of all
logs in Activity Log
, then that user can see changes made by all
users.
The Audit Log View¶
The main Audit Log View displays a table where each row is a change to an object. Changes are grouped by the day of the change, and divided into pages.
The controls above the table allow you to quickly navigate between the pages and to filter changes according to:
Changes made by the current user (“My changes”)
The user account that made that change (if the viewer is an administrative user)
The module that the change was made in
The date on which the change was made (via the “Select date” date picker widget)
Clicking on the linked object in a row will take you to the configuration panel for that object. Clicking anywhere else on a row will take you to the Difference View panel described below.
You can configure the number of rows displayed per page by changing the “Default page size” option under the My Account tab available from the “gear” settings icon at the bottom left of the browser window.
The Difference View Panel¶
The Difference View panel shows a brief summary of the recorded information (author, date, action and checksum) and both the old and new objects in a side-by-side diff format.
The Audit Log Retention Policy¶
The Audit Log Retention policy defines the amount o time Logs will be stored.
This should prevent the database from continuous increase with new entries
being added. By default the retention policy is set to 365 days.
You can change the parameter in /neteye/shared/icingaweb2/conf/modules/auditlog/config.ini
.
Setting Retention policy to 0 days will keep the logs stored for an infinite
period of time or until the parameter is set to a different value.
The Audit Log Database Structure¶
The Audit Log module relies on a simple but secure database structure that ensures log integrity.
The following diagram shows the structure of the Audit Log database,
where id
is the primary key.
Field |
Type |
Description |
---|---|---|
id |
bigint(20) |
The primary, unique key that distinguishes an Audit Log record from the others. |
module_name |
varchar(64) |
The name of the module (Log Manager, Geo Map, etc.) that originated the action. |
obj_type |
varchar(64) |
The type of the object subjected to the action. |
obj_name |
varchar(255) |
The name of the object. |
action_name |
varchar(255) |
The type of action performed by the user (create, modify, delete or deploy). |
old_properties |
text |
A complete copy of the properties of the object before the update. |
new_properties |
text |
The object’s new properties after the update. |
user |
varchar(64) |
The user name of the user who performed the action. |
url |
varchar(255)” |
A URL pointing to the object (the old object for a delete action, the new object for an add action, etc.) |
message |
text |
An optional field containing a custom message (potentially including HTML markup) that replaces the action, object type, and URL fields shown in the table row. |
change_time |
timestamp |
The Unix timestamp when the action was performed. |
checksum |
varbinary(20) |
The chained SHA-1 value calculated from all the other fields in this database row, including the parent checksum. |
parent_checksum |
varbinary(20) |
The SHA-1 checksum of the previous row in the table (the action before this one), used to create the chained checksum. |