第 9 章 监控和日志记录


您可以将指标发送到 Google Cloud Platform 监控系统,以便在 Google Cloud Platform UI 中视觉化。默认情况下,来自 GCP Marketplace 指标和日志记录的 Ansible Automation Platform 会被禁用,因为将这些指标发送到 GCP 的成本。如需更多信息,请参阅云监控云日志记录

您可以设置 GCP 监控和日志记录:

9.1. 部署后设置监控和日志记录

您可以使用 registry.redhat.com 提供的 gcp_setup_logging_monitoring playbook 在部署后启动或停止日志和监控。

9.1.1. 所需权限

您必须具有以下 GCP IAM 权限来设置日志记录和监控:

required-roles:

Service Account User
Compute Instance Admin (v1)

required-permissions:

cloudsql.instances.connect
cloudsql.instances.get
cloudsql.instances.login
cloudsql.users.update
compute.addresses.get
compute.addresses.list
compute.instances.delete
compute.instances.get
compute.instances.list
compute.instances.setLabels
compute.zoneOperations.get
deploymentmanager.deployments.list
deploymentmanager.manifests.get
deploymentmanager.manifests.list
file.instances.get
file.instances.list
file.instances.update
file.operations.get
iap.tunnelInstances.accessViaIAP
logging.logEntries.create
monitoring.timeSeries.create
resourcemanager.projects.get
runtimeconfig.variables.create
runtimeconfig.variables.get
runtimeconfig.variables.list
runtimeconfig.variables.update
secretmanager.secrets.create
secretmanager.secrets.delete
secretmanager.secrets.get
secretmanager.versions.add
secretmanager.versions.get
secretmanager.versions.list
servicenetworking.operations.get
servicenetworking.services.addPeering
serviceusage.services.list
Copy to Clipboard Toggle word wrap

9.1.2. 拉取 ansible-on-clouds-ops 容器镜像

在云操作容器上拉取 Ansible 的 Docker 镜像,与基础部署的版本保持一致。如果您不确定您部署的版本,请参阅 Command Generator 和 playbook gcp_get_aoc_version 以了解有关 Clouds 部署的当前版本的更多信息。

注意

在拉取 docker 镜像前,请确保使用 docker 登录到 registry.redhat.io。使用以下命令登录到 registry.redhat.io。

$ docker login registry.redhat.io
Copy to Clipboard Toggle word wrap

有关 registry 登录的更多信息,请参阅 Registry 身份验证

例如,如果您的基础部署版本为 2.4.20240215-00,则必须使用标签 2.4.20240215 拉取操作镜像。

使用以下命令:

$ export IMAGE=registry.redhat.io/ansible-on-clouds/ansible-on-clouds-ops-rhel9:2.4.20240215
$ docker pull $IMAGE --platform=linux/amd64
Copy to Clipboard Toggle word wrap
注意

如果您的基础部署版本不是 2.4.20240215-00,请参阅 Clouds version 列中的 Released 版本页面上的 表。在 IMAGE 环境变量的 Ansible-on-clouds-ops 容器镜像列中找到要使用的相应操作镜像

以下命令生成所需的数据文件。这些命令会创建一个目录,并使用填充时的空数据模板来生成 playbook。

流程

  1. 创建用于存放配置文件的文件夹。

    $ mkdir command_generator_data
    Copy to Clipboard Toggle word wrap
  2. 使用配置文件模板填充 command_generator_data 文件夹。

    注意

    在 Linux 上,命令生成器创建的任何文件或目录默认归 root:root 所有。要更改文件和目录的所有权,您可以在创建文件后运行 sudo chmod 命令。如需更多信息,请阅读 命令生成器 - 由 root 拥有的 Linux 文件

    $ docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE \
    command_generator_vars gcp_setup_logging_monitoring \
    --output-data-file /data/logging-monitoring.yml
    Copy to Clipboard Toggle word wrap
  3. 运行这些命令时,会创建一个 command_generator_data/logging-monitoring.yml 模板文件。

    注意

    在以下示例中,ansible_config_path 是可选的。

    此模板文件类似于以下内容:-

    gcp_setup_logging_monitoring:
      ansible_config_path:
      cloud_credentials_path:
      deployment_name:
      extra_vars:
        components:
        default_collector_interval:
        logging_enabled:
        monitoring_enabled:
    Copy to Clipboard Toggle word wrap

9.1.4. 更新数据文件

如果不需要参数,请从配置文件中删除该参数。

流程

  • 编辑 command_generator_data/logging-monitoring.yml 文件并设置以下参数:
  • ansible_config_path 默认用作 ansible-on-cloud 产品的标准配置,但如果您的环境中有额外的要求,则可以自行指定。
  • cloud_credentials_path 是您的凭证的绝对路径。这必须是绝对路径。
  • deployment_name 是部署的名称。
  • 组件 (可选)您要在其上执行设置的组件类型。默认为 [ "controller", "hub" ],这意味着在自动化控制器和自动化中心上都启用了日志记录监控。
  • monitoring_enabled (可选)设置为 true 以启用监控,否则为 false。默认为 false
  • logging_enabled (可选)设置为 true 以启用日志记录,否则为 false。默认为 false
  • default_collector_interval (可选)是监控数据必须发送到 Google Cloud 的频率。默认为 59s。

    注意

    此服务的 Google 成本取决于该定期性,因此收集器间隔的值越高,其成本越低。

    不要设置小于 59 秒的值。

    注意

    如果禁用了监控和日志记录,则 'default_collector_interval' 的值会自动设置为 0

填充数据文件后,它应类似于以下内容:

以下示例提供了以下值:

注意

本节中描述的可选参数在下面的数据文件示例中被忽略。playbook 使用从数据文件忽略的任何可选参数的默认值。如果要覆盖可选参数的默认值,则必须将其包含在数据文件中并分配一个值。

gcp_setup_logging_monitoring:
  cloud_credentials_path: ~/secrets/GCP-secrets.json
  deployment_name: AnsibleAutomationPlatform
  extra_vars:
Copy to Clipboard Toggle word wrap

9.1.5. 生成 playbook

若要生成 playbook,请运行命令生成器来生成 CLI 命令。

docker run --rm -v $(pwd)/command_generator_data:/data $IMAGE command_generator gcp_setup_logging_monitoring \
--data-file /data/logging-monitoring.yml
Copy to Clipboard Toggle word wrap

提供以下命令:

docker run --rm --env PLATFORM=GCP -v </path/to/gcp/service-account.json>:/home/runner/.gcp/credentials:ro \
--env ANSIBLE_CONFIG=../gcp-ansible.cfg --env DEPLOYMENT_NAME=<deployment_name> --env GENERATE_INVENTORY=true  \
$IMAGE redhat.ansible_on_clouds.gcp_setup_logging_monitoring -e 'gcp_deployment_name=<deployment_name> \
gcp_service_account_credentials_json_path=/home/runner/.gcp/credentials  monitoring_enabled=<monitoring_enabled> \
logging_enabled=<logging_enabled> default_collector_interval=<interval>'
Copy to Clipboard Toggle word wrap

运行提供的命令以运行 playbook。

$ docker run --rm --env PLATFORM=GCP -v /path/to/credentials:/home/runner/.gcp/credentials:ro \
--env ANSIBLE_CONFIG=../gcp-ansible.cfg --env DEPLOYMENT_NAME=mu-deployment \
--env GENERATE_INVENTORY=true  $IMAGE redhat.ansible_on_clouds.gcp_setup_logging_monitoring \
-e 'gcp_deployment_name=mu-deployment \
gcp_service_account_credentials_json_path=/home/runner/.gcp/credentials  components=["hubs","controllers"]\
monitoring_enabled=True logging_enabled=True default_collector_interval=60s'
Copy to Clipboard Toggle word wrap

此过程可能需要一些时间,并提供类似如下的输出:

TASK [redhat.ansible_on_clouds.setup_logging_monitoring : Update runtime variable logging_enabled] ***
changed: [<user_name> -> localhost]

TASK [redhat.ansible_on_clouds.setup_logging_monitoring : Update runtime variable monitoring_enabled] ***
changed: [<user_name> -> localhost]

PLAY RECAP *********************************************************************
<user_name>     : ok=20   changed=6    unreachable=0    failed=0    skipped=2    rescued=0    ignored=0
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat