6.3. 了解使用日志


默认情况下,使用日志保存在 Red Hat Quay 数据库中。它们通过 Web UI、机构和存储库级别以及 Superuser Admin Panel 来公开。

数据库日志捕获 Red Hat Quay 中的各种事件,如更改帐户计划、用户操作和常规操作。日志条目包括诸如操作(kind_id)、执行操作的用户(account_idperformer_id)、时间戳(日期时间)以及与操作相关的其他相关数据(metadata_json)。

6.3.1. 查看数据库日志

以下流程演示了如何查看存储在 PostgreSQL 数据库中的存储库日志。

先决条件

  • 有管理特权。
  • 已安装 psql CLI 工具。

流程

  1. 输入以下命令登录到您的 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.

  2. 可选。输入以下命令显示 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
    ...

  3. 您可以输入以下命令来返回返回返回日志信息所需的 repository_ids 列表:

    quay=> SELECT id, name FROM repository;

    输出示例

     id |        name
    ----+---------------------
      3 | new_repository_name
      6 | api-repo
      7 | busybox
    ...

  4. 输入以下命令使用 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
      }
    }
    1
    日志条目的唯一标识符。
    2
    执行的操作。在本例中,它是 14。以下部分中的 key 或 表显示此 kind_id 与创建存储库相关。
    3
    执行操作的帐户。
    4
    操作的执行者。
    5
    操作所在的存储库。在本例中,6 个与在第 3 步中发现的 api-repo 关联。
    6
    执行操作的 IP 地址。
    7
    元数据信息,包括存储库的名称及其命名空间。
    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

登录尝试失败。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.