稽核日志

功能概述
稽核日志(Audit Logs)记录 Domain(网域)内所有用户的操作行为。每一条记录包含操作时间、操作者账号、来源 IP、事件描述与执行结果,构成可追溯的完整轨迹。
此功能的用途在于回答"谁、在什么时间、从哪里、做了什么、成功或失败",适用于安全稽核、权限变更追溯,以及设备或账号行为异常时的问题排查。日志由系统自动产生,只读,无法由用户新增、修改或删除。
使用情境与适用对象
- Domain 超级用户:本页面仅具备 Domain Superuser 权限的账号可访问。Subdomain 超级用户与一般用户不会在菜单中看到此项目,详见〈Subdomain 的管理〉。
- 安全稽核:定期检视登录记录与账号安全操作(密码变更、MFA 重置、账号解锁、社交账号解绑),确认无异常来源 IP 或非预期的权限提升。
- 权限变更追溯:确认某位用户的文件夹、HMI 或群组权限是何时、由谁调整。
- 问题排查:当设备、授权或仪表板状态与预期不符时,回查该时段内的相关操作与其结果。
- 技术支持:导出指定时段的日志,作为报告问题时的佐证资料。
功能细节说明
进入页面
在左侧菜单选择〔Domain〕>〔活动纪录〕。进入页面时会自动以默认条件发出查询,无须手动触发。
默认的快速范围为〔过去 7 天〕,但查询区间受 3 天上限限制(详见限制条件与注意事项),因此首次加载实际取得的是最近 3 天的记录,并显示〔时间范围限制〕提示。
设置查询时间范围
画面右上方的时间范围选择器显示当前使用的范围名称与起止时间,点击后可切换查询条件:
- 〔快速范围〕:〔过去 1 小时〕、〔过去 3 小时〕、〔过去 6 小时〕、〔今天〕、〔过去 7 天〕、〔过去 30 天〕。选定后立即以该范围重新查询。
- 〔自订时间范围〕:分别填入〔从〕与〔到〕的日期与时间,点击〔套用〕提交查询;〔清除〕会将范围重置为最近 3 天,〔取消〕则关闭选择器且不变更条件。
- 刷新:选择器右侧的刷新按钮,以当前条件重新获取数据。查询结果不会自动更新,需以此按钮或重新套用范围才会取得新产生的记录。
查询范围下方的信息标签依序显示当前查询区间、结果总条数,以及当前页面所显示的区段。
日志字段说明
| 字段 | 说明 |
|---|---|
| 〔建立时间〕 | 事件产生的时间,格式为 YYYY-MM-DD HH:mm:ss |
| 〔使用者 / IP〕 | 执行该操作的账号名称,以及发出请求的来源 IP |
| 〔讯息〕 | 事件描述,由系统的消息模板代入实际值产生,完整清单见记录的事件一览 |
| 〔结果〕 | 该次操作的 HTTP 状态码,判读方式见下节 |
| 最右侧的复制按钮 | 将该条记录的消息代码(如 log_10001)复制到剪贴板 |
〔建立时间〕、〔使用者 / IP〕与〔结果〕三列的列宽可拖曳标题右缘调整;〔讯息〕列为弹性宽度,内容过长时以省略号截断。
判读〔结果〕列
〔结果〕列显示该次操作的 HTTP 状态码:
- 绿色标签:状态码为
2开头(如200),代表操作成功。 - 红色标签:其余状态码,代表操作失败。状态码本身可用于判断失败性质,例如权限不足或请求内容有误。
失败的操作同样会留下记录,因此登录失败、权限不足的访问尝试皆可在此追溯。
分页浏览
查询结果会一次加载后于前端分页,因此切换页码不会重新查询。页面底部可设置每页显示 10、20、50 或 100 条(默认 20 条),并以左右箭头切换页码。
导出 CSV
点击画面右上方的〔汇出〕可将查询结果下载为 CSV 文件:
- 导出内容为该次查询的全部记录,而非仅当前页面所显示的部分。
- 字段依序为建立时间、Username、IP、讯息、结果。
- 文件名格式为
audit-logs_{开始日期}_{结束日期}.csv。 - 文件以 UTF-8(含 BOM)编码,可直接以 Excel 打开而不会出现乱码。
- 查询结果为空时,〔汇出〕按钮为禁用状态。
记录的事件一览
下列为系统目前会记录的事件。消息中以大括号标示的部分(如 {username})为实际值的代入位置,显示时会替换为对应的账号、文件夹路径或设备 hardware key 等信息。消息代码即复制按钮所取得的标识字符串,可于报告问题时用以精确指出事件类型。
登录与账号安全
| 消息代码 | 消息模板 |
|---|---|
log_10001 | 使用者 {username} 已登入 |
log_err01_10001 | 未知使用者登入失败 |
log_err02_10001 | 使用者 {username} 登入失败 |
log_10069 | 使用者 {username} 社群登入成功 |
log_10070 | 管理员解除使用者 {username} 的社群帐号系结 |
log_10071 | 使用者自行解除 {username} 的社群帐号系结 |
log_10003 | 已验证使用者 {username} 的新电子邮件 |
log_10004 | 已为使用者 {username} 申请重设密码信件 |
log_10005 | 已变更使用者 {username} 的密码(透过重设密码信件) |
log_10008 | 已申请变更电子邮件 |
log_10009 | 已变更密码 |
log_10077 | 管理员已解锁使用者 |
log_10078 | 管理员已重设使用者 {username} 的 MFA |
log_10079 | 已送出删除帐号申请 |
log_10080 | 已取消我的帐号删除申请 |
用户管理
| 消息代码 | 消息模板 |
|---|---|
log_10016 | 已建立使用者 |
log_10017 | 已启用使用者 |
log_10019 | 已删除使用者 |
log_10010 | 已变更使用者 {username} 的电子邮件与公司名称 |
log_10020 | 已将使用者 {username} 的公司名称从 {old_company_name} 更新为 |
log_10021 | 已更新使用者 {username} 的密码 |
log_10015 | 已将使用者语言从 {old_lang} 更新为 |
log_10081 | 已更新使用者 {username} 的地图设定 |
log_10084 | 已为使用者 {username} 建立 API 金钥,名称为 |
log_10085 | 已为使用者 {username} 移除 API 金钥,名称为 |
群组与权限
| 消息代码 | 消息模板 |
|---|---|
log_10007 | 已将使用者 {usernames} 加入群组 |
log_10072 | 已更新使用者 {username} 在群组 {group_name} 的权限 |
log_10023 | 已从 HMI 群组 {group_name} 删除使用者 |
log_10006 | 已将使用者 {usernames} 加入 HMI |
log_10039 | 已授予使用者 {usernames} 对 HMI {hw_key} 的权限 |
log_10041 | 已更新使用者 {username} 对 HMI {hw_key} 的权限 |
log_10042 | 已删除使用者 {username} 对 HMI {hw_key} 的权限 |
log_10018 | 已将使用者 {usernames} 加入资料夹 |
log_10068 | 已为资料夹 {folder_path} 新增使用者 {username} 权限 |
文件夹(Directory)
| 消息代码 | 消息模板 |
|---|---|
log_10013 | 已建立资料夹 |
log_10011 | 已将资料夹 {old_folder_name} 重新命名为 |
log_10045 | 已删除资料夹 |
log_10012 | 已将资源移至 {parent_folder_name},资料夹 {resource_folder_names},HMI |
HMI 群组
| 消息代码 | 消息模板 |
|---|---|
log_10024 | 已建立 HMI 群组 |
log_10025 | 已将 HMI 群组 {old_group_name} 重新命名为 |
log_10026 | 已删除 HMI 群组 |
log_10014 | 已将 HMIs {hmis} 加入 HMI 群组 |
log_10030 | 已将 HMIs {hw_keys} 从 HMI 群组 {group_name} 移除 |
HMI 设备与 Domain 变更
| 消息代码 | 消息模板 |
|---|---|
log_10036 | 已将 HMI {hw_key} 加入此 Domain |
log_10035 | 已将 HMI {hw_key} 从此 Domain 移除 |
log_10051 | 已使用 session ID/密码新增 HMI |
log_10040 | 已更新 HMI {hw_key} 资讯 |
log_10098 | 已更新 HMI {hw_key} 位置 |
log_10082 | 已将 HMI {hw_key} 加入地图最爱 |
log_10083 | 已将 HMI {hw_key} 自地图最爱移除 |
log_10037 | 已申请将 HMI {hw_key} 转移至 Domain |
log_10038 | 已将 HMI {hw_key} 从 {source_domain_name} 转移至 {target_domain_name} 的状态设为 |
log_10044 | 已取消 HMI {hw_key} 的转移申请 |
EasyAccess 2.0
| 消息代码 | 消息模板 |
|---|---|
log_10046 | 已为新 HMI {hw_key} 开始 EasyAccess 2.0 试用 |
log_10049 | 已为 HMI {hw_key} 开始 EasyAccess 2.0 试用 |
log_10047 | 已使用卡片 {activation_code} 为新 HMI {hw_key} 启用 EasyAccess 2.0 |
log_10050 | 已使用卡片 {activation_code} 为 HMI {hw_key} 启用 EasyAccess 2.0 |
log_10048 | 已停用 HMI {hw_key} 的 EasyAccess 2.0 |
Dashboard 与仪表板订阅
| 消息代码 | 消息模板 |
|---|---|
log_10061 | HMI {hw_key} 已启用仪表板 |
log_10062 | 既有 HMI {hw_key} 已启用仪表板 |
log_10063 | HMI {hw_key} 的仪表板为试用状态 |
log_10064 | 既有 HMI {hw_key} 的仪表板为试用状态 |
log_10065 | HMI {hw_key} 的仪表板已停用 |
log_10032 | 已为新 HMI {hw_key} 开始仪表板试用 |
log_10034 | 已为 HMI ({hw_key}) 开始仪表板试用 |
log_10043 | 已将 HMI {hw_key} 的仪表板状态从 {old_state} 变更为 |
log_10066 | 已新增 HMI {hw_key} 的仪表板 Tag 扩充卡 |
log_10028 | 已为 HMI {hw_key} 新增仪表板,套用既有的仪表板订阅,名称为 |
log_10029 | 已为新 HMI {hw_key} 启用仪表板,套用既有的仪表板订阅,名称为 |
log_10031 | 已使用卡片 {activation_code} 为新 HMI {hw_key} 启用仪表板,仪表板订阅名称为 |
log_10033 | 已使用卡片 {activation_code} 为 HMI {hw_key} 新增仪表板订阅卡,仪表板订阅名称为 |
log_10056 | 已使用卡片 {activation_code} 建立名称为 {dashboard_subscription_name} 的仪表板订阅 |
log_10057 | 已使用卡片 {activation_code} 新增至名称为 {dashboard_subscription_name} 的仪表板订阅 |
log_10058 | 已更新名称为 {dashboard_subscription_name} 的仪表板订阅中的 HMI,新 HMI 为 |
log_10059 | 已将仪表板订阅名称从 {old_dashboard_subscription_name} 更新为 |
log_10060 | HMIs {hw_keys} 的仪表板订阅状态已从 {old_state} 变更为 |
log_10055 | 已删除名称为 {dashboard_subscription_name} 的仪表板订阅 |
log_10090 | 已建立仪表板 |
log_10091 | 已发布仪表板 |
log_10092 | 已更新仪表板 {name} 资讯 |
log_10094 | 已更新仪表板 {name} 权限 |
log_10095 | 已移除仪表板 {name} 的发布模式 |
log_10093 | 已删除仪表板 |
警报
| 消息代码 | 消息模板 |
|---|---|
log_10105 | 已建立警报规则 |
log_10107 | 已更新警报规则 |
log_10106 | 已删除警报规则 |
log_10108 | 已建立警报分类 |
log_10109 | 已更新警报分类 |
log_10110 | 已删除警报分类 |
log_10096 | 已在仪表板 {dashboard_name} 上确认警报 |
log_10097 | 已在管理介面上确认警报 |
log_10067 | 已删除 HMI {hw_key} 的警报历史纪录 |
数据源与备份
| 消息代码 | 消息模板 |
|---|---|
log_10100 | 已更新或建立资料来源 |
log_10101 | 已更新资料来源中继资料 |
log_10099 | 已备份资料来源 |
log_10102 | 已备份趋势资料 |
log_10103 | 已备份历史资料表 |
log_10104 | 已检查仪表板专案资料来源 |
相册
| 消息代码 | 消息模板 |
|---|---|
log_10086 | 已上传相簿中的新档案 |
log_10088 | 已更新相簿中的档案 |
log_10089 | 已从相簿复制档案 |
log_10087 | 已删除相簿中的档案 |
Domain 与系统设置
| 消息代码 | 消息模板 |
|---|---|
log_10002 | 已建立 Domain |
log_10111 | 已更新 Domain 名称 |
log_10073 | 已更新 Domain 安全性设定 |
log_10074 | 已更新自订 Domain 设定 |
log_10075 | 已更新使用者安全性设定 |
log_10076 | 已更新 MFA 设定 |
log_10052 | 已更新活动报告设定 |
log_10053 | 已更新多使用者连线设定 |
log_10054 | 已更新专案名称更新设定 |
限制条件与注意事项
- 可查询的数据最早为 180 天前:系统仅提供最近 180 天内的活动记录,超过 180 天的数据无法查询。
- 单次查询的时间范围上限为 3 天:若指定的区间超过 3 天,系统会自动将开始时间调整为"结束时间往前推 3 天",并显示〔时间范围限制〕提示。需要查询更长的期间时,请分段查询并分别导出。
- 〔过去 7 天〕与〔过去 30 天〕同样受 3 天上限限制:选择这两个快速范围后,实际取得的仍是结束时间往前 3 天内的记录。
- 开始时间必须早于结束时间:否则不会提交查询,并显示提示消息。
- 仅 Domain 超级用户可访问:需具备 Domain Superuser 权限,其他权限的账号不会在菜单中看到〔活动纪录〕。
- 日志为只读:无法新增、修改或删除任何记录。
- 查询结果不会自动更新:需点击刷新按钮或重新套用时间范围。
- 登录相关事件可能显示为
anonymous:登录事件在身份验证完成前产生,〔使用者〕列可能显示anonymous,实际账号与浏览器信息记录于〔讯息〕列中。 - 导出范围为该次查询的全部记录:不受当前页码与每页条数影响。
常见问题
Q:为什么选了〔过去 7 天〕,查到的却只有最近 3 天的记录? A:单次查询的时间范围上限为 3 天。选择超过 3 天的范围时,系统会自动将开始时间调整为结束时间往前 3 天,并显示〔时间范围限制〕提示。需要更长期间的数据时,请分段查询。
Q:〔结果〕列显示 200 代表什么? A:该列显示操作的 HTTP 状态码。2 开头(如 200)为绿色标签,代表操作成功;其余状态码为红色标签,代表操作失败。
Q:导出的 CSV 只包含当前页面的数据吗? A:不会。导出的是该次查询的全部记录,与当前页码及每页条数设置无关。
Q:为什么有些记录的〔使用者〕列显示 anonymous? A:登录相关事件是在身份验证完成之前产生的,此时尚无对应账号,因此该列显示 anonymous;尝试登录的账号名称与浏览器信息会记录在〔讯息〕列中。
Q:复制按钮复制的是什么内容? A:该条记录的消息代码(例如 log_10001),可在报告问题时用以精确指出事件类型。
Q:登录失败或权限不足的操作会被记录吗? A:会。失败的操作同样会留下记录,并在〔结果〕列以红色标签显示对应的 HTTP 状态码。