6.3. 了解使用日志
默认情况下,使用日志保存在 Red Hat Quay 数据库中。它们通过 Web UI、机构和存储库级别以及 Superuser Admin Panel 来公开。
数据库日志捕获 Red Hat Quay 中的各种事件,如更改帐户计划、用户操作和常规操作。日志条目包括诸如操作(kind_id
)、执行操作的用户(account_id
或 performer_id
)、时间戳(日期时间
)以及与操作相关的其他相关数据(metadata_json
)。
6.3.1. 查看数据库日志
以下流程演示了如何查看存储在 PostgreSQL 数据库中的存储库日志。
先决条件
- 有管理特权。
-
已安装
psql
CLI 工具。
流程
输入以下命令登录到您的 Red Hat Quay PostgreSQL 数据库:
$ psql -h <quay-server.example.com> -p 5432 -U <user_name> -d <database_name>
输出示例
psql (16.1, server 13.7) Type "help" for help.
可选。输入以下命令显示 PostgreSQL 数据库的表列表:
quay=> \dt
输出示例
List of relations Schema | Name | Type | Owner --------+----------------------------+-------+---------- public | logentry | table | quayuser public | logentry2 | table | quayuser public | logentry3 | table | quayuser public | logentrykind | table | quayuser ...
您可以输入以下命令来返回返回返回日志信息所需的
repository_ids
列表:quay=> SELECT id, name FROM repository;
输出示例
id | name ----+--------------------- 3 | new_repository_name 6 | api-repo 7 | busybox ...
输入以下命令使用
logentry3
relationship 显示有关其中一个软件仓库的日志信息:SELECT * FROM logentry3 WHERE repository_id = <repository_id>;
输出示例
id | kind_id | account_id | performer_id | repository_id | datetime | ip | metadata_json 59 | 14 | 2 | 1 | 6 | 2024-05-13 15:51:01.897189 | 192.168.1.130 | {"repo": "api-repo", "namespace": "test-org"}
在上例中,返回以下信息:
{ "log_data": { "id": 59 1 "kind_id": "14", 2 "account_id": "2", 3 "performer_id": "1", 4 "repository_id": "6", 5 "ip": "192.168.1.100", 6 "metadata_json": {"repo": "api-repo", "namespace": "test-org"} 7 "datetime": "2024-05-13 15:51:01.897189" 8 } }
6.3.2. 日志条目 kind_ids
下表代表了与 Red Hat Quay 操作关联的 kind_ids
。
kind_id | 操作 | 描述 |
---|---|---|
1 | account_change_cc | 信用卡信息的改变。 |
2 | account_change_password | 更改帐户密码。 |
3 | account_change_plan | 更改帐户计划. |
4 | account_convert | 帐户转换. |
5 | add_repo_accesstoken | 将访问令牌添加到存储库。 |
6 | add_repo_notification | 向存储库添加通知. |
7 | add_repo_permission | 向存储库添加权限。 |
8 | add_repo_webhook | 将 webhook 添加到存储库。 |
9 | build_dockerfile | 构建 Dockerfile. |
10 | change_repo_permission | 更改存储库的权限。 |
11 | change_repo_visibility | 更改存储库的可见性。 |
12 | create_application | 创建应用程序。 |
13 | create_prototype_permission | 为原型创建权限。 |
14 | create_repo | 创建存储库. |
15 | create_robot | 创建机器人(服务帐户或 bot)。 |
16 | create_tag | 创建标签. |
17 | delete_application | 删除应用程序。 |
18 | delete_prototype_permission | 删除模型列表的权限。 |
19 | delete_repo | 删除存储库。 |
20 | delete_repo_accesstoken | 从存储库删除访问令牌。 |
21 | delete_repo_notification | 从存储库删除通知。 |
22 | delete_repo_permission | 从存储库删除权限。 |
23 | delete_repo_trigger | 删除存储库触发器。 |
24 | delete_repo_webhook | 从存储库删除 webhook。 |
25 | delete_robot | 删除机器人. |
26 | delete_tag | 删除标签。 |
27 | manifest_label_add | 向清单添加标签。 |
28 | manifest_label_delete | 从清单中删除标签。 |
29 | modify_prototype_permission | 修改原型的权限。 |
30 | move_tag | 移动标签。 |
31 | org_add_team_member | 将成员添加到团队. |
32 | org_create_team | 在组织内创建团队。 |
33 | org_delete_team | 删除机构中的一个团队。 |
34 | org_delete_team_member_invite | 删除团队成员邀请。 |
35 | org_invite_team_member | 将成员邀请给机构中的一个团队。 |
36 | org_remove_team_member | 从团队中删除成员。 |
37 | org_set_team_description | 设置团队的描述。 |
38 | org_set_team_role | 设置团队的角色。 |
39 | org_team_member_invite_accepted | 接受团队成员邀请。 |
40 | org_team_member_invite_declined | 拒绝团队成员邀请。 |
41 | pull_repo | 从存储库拉取。 |
42 | push_repo | 推送到存储库。 |
43 | regenerate_robot_token | 重新生成机器人令牌. |
44 | repo_verb | 通用存储库操作(可在其他位置定义)。 |
45 | reset_application_client_secret | 重置应用的客户端机密。 |
46 | revert_tag | 恢复标签。 |
47 | service_key_approve | 批准服务密钥。 |
48 | service_key_create | 创建服务密钥。 |
49 | service_key_delete | 删除服务密钥。 |
50 | service_key_extend | 扩展服务密钥。 |
51 | service_key_modify | 修改服务密钥。 |
52 | service_key_rotate | 轮转服务密钥。 |
53 | setup_repo_trigger | 设置存储库触发器。 |
54 | set_repo_description | 设置存储库的描述。 |
55 | take_ownership | 获取资源的所有权。 |
56 | update_application | 更新应用程序。 |
57 | change_repo_trust | 更改存储库的信任级别。 |
58 | reset_repo_notification | 重置存储库通知. |
59 | change_tag_expiration | 更改标签的过期日期。 |
60 | create_app_specific_token | 创建特定于应用的令牌。 |
61 | revoke_app_specific_token | 撤销特定于应用程序的令牌。 |
62 | toggle_repo_trigger | 切换打开或关闭存储库触发器。 |
63 | repo_mirror_enabled | 启用存储库镜像。 |
64 | repo_mirror_disabled | 禁用存储库镜像。 |
65 | repo_mirror_config_changed | 更改存储库镜像的配置。 |
66 | repo_mirror_sync_started | 启动存储库镜像同步。 |
67 | repo_mirror_sync_failed | 存储库镜像同步失败。 |
68 | repo_mirror_sync_success | 存储库镜像同步成功。 |
69 | repo_mirror_sync_now_requested | 请求的即时存储库镜像同步。 |
70 | repo_mirror_sync_tag_success | 存储库镜像标签同步成功。 |
71 | repo_mirror_sync_tag_failed | 仓库镜像标签同步失败。 |
72 | repo_mirror_sync_test_success | 存储库镜像同步测试成功。 |
73 | repo_mirror_sync_test_failed | 存储库镜像同步测试失败。 |
74 | repo_mirror_sync_test_started | 仓库镜像同步测试已启动。 |
75 | change_repo_state | 更改存储库的状态。 |
76 | create_proxy_cache_config | 创建代理缓存配置。 |
77 | delete_proxy_cache_config | 删除代理缓存配置。 |
78 | start_build_trigger | 启动构建触发器。 |
79 | cancel_build | 取消构建. |
80 | org_create | 创建机构。 |
81 | org_delete | 删除机构。 |
82 | org_change_email | 更改组织电子邮件. |
83 | org_change_invoicing | 更改组织情况. |
84 | org_change_tag_expiration | 更改机构标签过期。 |
85 | org_change_name | 更改机构名称。 |
86 | user_create | 创建用户。 |
87 | user_delete | 删除用户。 |
88 | user_disable | 禁用用户。 |
89 | user_enable | 启用用户. |
90 | user_change_email | 更改用户电子邮件. |
91 | user_change_password | 更改用户密码. |
92 | user_change_name | 更改用户名。 |
93 | user_change_invoicing | 更改用户 invoicing. |
94 | user_change_tag_expiration | 更改用户标签过期。 |
95 | user_change_metadata | 更改用户元数据。 |
96 | user_generate_client_key | 为用户生成客户端密钥。 |
97 | login_success | 成功登录。 |
98 | logout_success | 成功注销。 |
99 | permanently_delete_tag | 永久删除标签。 |
100 | autoprune_tag_delete | 自动修剪标签删除。 |
101 | create_namespace_autoprune_policy | 创建命名空间自动修剪策略。 |
102 | update_namespace_autoprune_policy | 更新命名空间自动修剪策略。 |
103 | delete_namespace_autoprune_policy | 删除命名空间自动修剪策略。 |
104 | login_failure | 登录尝试失败。 |