这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

2.检索审计日志

描述

integer/array auditlog.get(object parameters)

该方法允许根据给定的参数检索审计日志记录。

参数

(object) 定义所需输出的参数。

该方法接受以下参数。

参数 [ 型](/zh/manual/api/reference_commentary#data_types) 描述
auditids string/array 仅返回具有给定ID的审计日志。
userids string/array 仅返回由给定用户创建的审计日志。
time_from timestamp 仅返回在给定时间之后或在给定时间创建的审计日志项。
time_till timestamp 仅返回在给定时间之前或指定时间创建的审计日志项。
selectDetails query 返回每个字段更改为的审计日志项如细节 属性.

仅适用于带动作项 "1 - 更新", 对于其他类型的操作,返回空数组。
sortfield string/array 按给定属性对结果进行排序。

取值: auditid, userid, clock.
filter object 仅返回与给定过滤器完全匹配的结果。

接受一个数组,其中的键是属性名称,并且值可以是单个值或要匹配的值数组。

另外支持按属性字段过滤: table_name, field_name.
search object 字段内容中的子字符串搜索: note, ip, resourcename, oldvalue, newvalue不区分大小写。
countOutput boolean 该参数对于参考注释中描述的所有get方法都是通用的。
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

(integer/array) 传回:

  • 对象数组;
  • 如果使用 countOutput 参数,则为检索到的对象的计数。

示例

检索审计日志

检索两个最新的审计日志记录。

请求:

{
           "jsonrpc": "2.0",
           "method": "auditlog.get",
           "params": {
               "output": "extend",
               "sortfield": "clock",
               "sortorder": "DESC",
               "limit": 2
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "auditid": "189",
                   "userid": "1",
                   "clock": "1580913141",
                   "action": "3",
                   "resourcetype": "0",
                   "note": "",
                   "ip": "127.0.0.1",
                   "resourceid": "0",
                   "resourcename": ""
               },
               {
                   "auditid": "188",
                   "userid": "1",
                   "clock": "1580903029",
                   "action": "3",
                   "resourcetype": "0",
                   "note": "",
                   "ip": "127.0.0.1",
                   "resourceid": "0",
                   "resourcename": ""
               }
           ],
           "id": 2
       }

检索在oldvalue字段中具有子字符串"test"的审计日志记录。

请求:

{
           "jsonrpc": "2.0",
           "method": "auditlog.get",
           "params": {
               "output": ["auditid", "resourcename"],
               "search": {
                   "newvalue": "test"
               },
               "selectDetails": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "auditid": "5",
                   "resourcename": "Mattermost2",
                   "details": [
                       {
                           "table_name": "media_type",
                           "field_name": "event_menu_url",
                           "oldvalue": "http://test",
                           "newvalue": "http://test{EVENT.TAGS.__test}"
                       }
                   ]
               },
               {
                   "auditid": "7",
                   "resourcename": "Email",
                   "details": [
                       {
                           "table_name": "media_type",
                           "field_name": "name",
                           "oldvalue": "Email",
                           "newvalue": "Email test"
                       }
                   ]
               }
           ],
           "id": 20
       }

参见

来源

CAuditLog::get() in ui/include/classes/api/services/CAuditLog.php.