5.3. 了解使用日志
默认情况下,使用日志存储在 Red Hat Quay 数据库中。它们通过 Web UI、机构和存储库级别以及 超级用户 管理面板公开。
数据库日志捕获 Red Hat Quay 中各种事件范围,如更改帐户计划、用户操作和常规操作。日志条目包括诸如操作(kind_id)、执行操作的用户(account_id 或 performer_id)、时间戳(日期时间)以及与操作关联的其他相关数据(metadata_json)。
5.3.1. 查看数据库日志 复制链接链接已复制到粘贴板!
以下流程演示了如何查看存储在 PostgreSQL 数据库中的存储库日志。
先决条件
- 您有管理特权。
-
已安装
psqlCLI 工具。
流程
输入以下命令登录到 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关系来显示有关其中一个软件仓库的日志信息: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": 591 "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 } }
5.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 | 从存储库拉取(pull)。 |
| 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 | 登录尝试失败。 |