若要为 Google Cloud 上运行的 SAP 系统(包括 SAP NetWeaver、SAP HANA、SAP ASE、SAP MaxDB 等)提供 SAP 支持,需要使用 Google Cloud's Agent for SAP。
在 Compute Engine 实例上安装 Google Cloud 的 Agent for SAP 时,对于 SAP Host Agent 指标,代理会整合来自 Cloud Monitoring 和 Compute Engine API 的监控数据,并将这些数据提供给 SAP Host Agent。
如果您使用 Google Cloud 提供的以下 RHEL 或 SLES“for SAP”操作系统映像,则 Google Cloud 的 SAP for Agent 会与操作系统映像打包在一起:
- RHEL:所有“for SAP”映像
- SLES:SLES 15 SP4 for SAP 及更高版本
如需了解 Google Cloud 的 Agent for SAP 支持的操作系统,请参阅支持的操作系统。
如需在裸金属解决方案服务器上安装和配置 Google Cloud 的 Agent for SAP 版本 1,请参阅在裸金属解决方案服务器上安装 Google Cloud 的 Agent for SAP。
安装概览
在 Linux 上,您可以使用标准操作系统软件包管理命令(在 RHEL 上使用 yum
命令;在 SLES 上使用 zypper
命令)安装 Google Cloud's Agent for SAP。软件包管理命令可完成以下任务:
- 下载 Google Cloud 的 Agent for SAP。
- 将该代理创建为一项名为
google-cloud-sap-agent
的 Linuxsystemd
服务。 - 启用并启动服务
google-cloud-sap-agent
。
在 Windows 上,您可以使用 GooGet 软件包管理命令 googet
安装 Google Cloud 的 Agent for SAP。软件包管理命令可完成以下任务:
- 下载 Google Cloud 的 Agent for SAP。
创建一项名为
google-cloud-sap-agent
的 Windows 服务以及每分钟运行一次的计划任务,以检查服务是否仍在运行,并在必要时重启服务。
代理的前提条件
在安装 Google Cloud's Agent for SAP之前,您需要确保满足以下前提条件。
设置所需的 IAM 角色
Google Cloud 的 Agent for SAP 使用的服务账号必须至少具有 Compute Viewer (roles/compute.viewer
)、Monitoring Viewer (roles/monitoring.viewer
) 和 Workload Manager Insights Writer (roles/workloadmanager.insightWriter
) 角色。
如需向您的服务账号添加所需的角色,请按照以下步骤操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择您的 Google Cloud 项目。
确定要向其添加角色的服务账号。
- 如果该服务账号不在主账号列表中,则表明还没有为它分配任何角色。点击添加,然后输入该服务账号的电子邮件地址。
- 如果该服务账号已经在主账号列表中,则表明它已具有角色。点击要修改的服务账号对应的修改按钮。
从可用角色列表中选择所需角色:
- Compute Engine > Compute Viewer
- Monitoring > Monitoring Viewer
- Workload Manager > Workload Manager Insights Writer
点击添加或保存,将相应角色应用于该服务账号。
启用对 Google Cloud API 的访问权限
Compute Engine 建议将计算实例配置为允许对所有 Cloud API 的所有访问权限范围,并且仅使用实例服务账号的 IAM 权限来控制对 Google Cloud 资源的访问。如需了解详情,请参阅创建使用用户管理的服务账号的虚拟机。
如果您限制了对 Cloud API 的访问权限,则 Google Cloud 的 Agent for SAP 要求主机 Compute Engine 实例具有以下最小 Cloud API 访问权限范围:
- Cloud Platform:已启用
- Compute Engine:只读
- Stackdriver Monitoring API:只读
如果您是在没有外部 IP 地址的计算实例上运行 SAP 应用,则需要对该计算实例的子网启用专用 Google 访问通道 ,以便 Google Cloud's Agent for SAP 可以访问 Google API 和服务。如需在子网上启用专用 Google 访问通道,请参阅配置专用 Google 访问通道。
安装代理
我们建议您安装 Google Cloud 的 Agent for SAP 的最新版本,它支持更多功能。如需查看相关说明,请参阅在 Compute Engine 实例上安装和配置 Google Cloud 的 Agent for SAP。
如需安装 Google Cloud 的 Agent for SAP 版本 1,请与 Cloud Customer Care 联系。
安装 Google Cloud's Agent for SAP和 SAP Host Agent 后,请按照验证代理安装中的说明验证 Google Cloud's Agent for SAP安装。
验证代理安装
如需验证代理正在运行,请选择您的操作系统,然后按照以下步骤操作:
Linux
与您的 Compute Engine 实例建立 SSH 连接。
运行以下命令:
systemctl status google-cloud-sap-agent
如果代理正常运行,则输出包含
active (running)
。例如:google-cloud-sap-agent.service - Google Cloud Agent for SAP Loaded: loaded (/usr/lib/systemd/system/google-cloud-sap-agent.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2022-12-02 07:21:42 UTC; 4 days ago Main PID: 1337673 (google-cloud-sa) Tasks: 9 (limit: 100427) Memory: 22.4 M (max: 1.0G limit: 1.0G) CGroup: /system.slice/google-cloud-sap-agent.service └─1337673 /usr/bin/google-cloud-sap-agent
Windows
使用 RDP 连接到 Compute Engine 实例。
以管理员身份从 PowerShell 运行以下命令:
如果代理正在运行,则状态会显示$(Get-Service -Name 'google-cloud-sap-agent' -ErrorAction Ignore).Status
Running
。
如果代理未在运行,请重启代理。
验证 SAP Host Agent 正在接收指标
如需验证基础架构指标是否由 Google Cloud's Agent for SAP 收集并正确发送到 SAP Host Agent,请按照以下步骤操作:
- 在您的 SAP 系统中,输入事务
ST06
。 在概览窗格中,检查以下字段的可用性和内容,以确保 SAP 与 Google 监控基础架构的端到端设置正确无误:
- Cloud Provider:
Google Cloud Platform
- Enhanced Monitoring Access:
TRUE
- Enhanced Monitoring Details:
ACTIVE
- Cloud Provider:
在 Linux 上配置 Google Cloud's Agent for SAP
安装 Google Cloud 的 Agent for SAP 后,您可以根据情况配置代理以启用 Process Monitoring 指标和 Workload Manager 评估指标收集功能。默认情况下,只有 SAP Host Agent 指标收集功能处于启用状态。
只有 Linux 支持 Process Monitoring 指标和 Workload Manager 评估指标收集功能。
如果您启用 Process Monitoring 指标和 Workload Manager 评估指标收集功能,则主机计算实例的服务账号必须包含 Monitoring Metric Writer (roles/monitoring.metricWriter
) IAM 角色。
如果您使用 Secret Manager 存储 SAP HANA 数据库密码,请确保主机虚拟机实例的服务账号具有 IAM Secret Manager Secret Accessor (roles/secretmanager.secretAccessor
) 角色。
主机计算实例的访问权限范围必须具有向 Google Cloud 项目发布指标数据的写入权限。当您创建新的 Compute Engine 计算实例时,系统会自动为其配置写入权限范围 https://www.googleapis.com/auth/monitoring.write
。
设置所需的 IAM 角色
如需向您的服务账号添加所需的角色,请按照以下步骤操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择您的 Google Cloud 项目。
确定要向其添加角色的服务账号。
- 如果该服务账号不在主账号列表中,则表明还没有为它分配任何角色。点击添加,然后输入该服务账号的电子邮件地址。
- 如果该服务账号已经在主账号列表中,则表明它已具有角色。点击要修改的服务账号对应的修改按钮。
从可用角色列表中选择所需角色:
- Monitoring > Monitoring Metric Writer
- Secret Manager > Secret Manager Secret Accessor
点击添加或保存,将相应角色应用于该服务账号。
启用 Process Monitoring 指标和 Workload Manager 评估指标收集功能
如需启用 Process Monitoring 指标和 Workload Manager 评估指标收集功能,请按照以下步骤操作:
- 与主机计算实例建立 SSH 连接。
打开以下配置文件:
/etc/google-cloud-sap-agent/configuration.json
在
collection_configuration
部分中,将以下参数设置为true
:collect_process_metrics
:允许代理收集 Process Monitoring 指标。对于 SAP HANA 数据库指标收集,如需访问和查询 SAP HANA 数据库,您需要在hana_metrics_config
部分中设置其他参数。collect_workload_validation_metrics
:允许代理收集 Workload Manager 评估指标。
如需详细了解这些参数,请参阅下表。
(可选)在
cloud_properties
下,您可以更新自动设置的参数值。为此,请将cloud_properties
部分添加到您的配置文件中,然后指定必需的参数及其值。保存配置文件。
重启代理以使新设置生效。
sudo systemctl restart google-cloud-sap-agent
配置参数
下表说明了 Google Cloud 的 Agent for SAP 版本 1 的配置参数。
参数 | |
---|---|
provide_sap_host_agent_metrics |
如需启用 SAP Host Agent 所需的指标收集功能,请指定 |
bare_metal |
在裸金属解决方案服务器上安装代理后时,请指定 |
log_level |
如需设置代理的日志记录级别,请设置所需的值。可用的日志级别如下:
默认为 |
log_to_cloud |
如需将代理的日志重定向到 Cloud Logging,请指定 |
cloud_properties.project_id |
如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定您用于裸金属解决方案的 Google Cloud 项目的 ID。 |
cloud_properties.instance_name
|
指定 Compute Engine 实例的名称。代理会在安装时自动检测此名称。 |
cloud_properties.region |
如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定裸金属解决方案服务器的区域。 |
cloud_properties.zone |
当代理在计算实例上运行时,默认情况下,代理会使用部署计算实例的可用区。 |
cloud_properties.image |
指定实例的操作系统映像名称。 |
cloud_properties.numeric_project_id |
指定运行 SAP 系统的 Google Cloud 项目的数字 ID。 |
collection_configuration.collect_process_metrics |
如需启用 Process Monitoring 指标收集功能,请指定 |
collection_configuration.process_metrics_frequency |
指定 Process Monitoring 指标的收集频率(以秒为单位)。此参数的默认值为 虽然您可以更新 Process Monitoring 指标的收集频率,但我们建议您使用默认值。如果您需要修改默认值,请在 |
collection_configuration.hana_metrics_config.hana_db_user |
指定代理用于查询 SAP HANA 的数据库用户账号。默认值为 |
collection_configuration.hana_metrics_config.hana_db_password |
指定代理用于查询 SAP HANA 的数据库用户账号的纯文本密码。 我们建议您使用以下选项之一,而不是指定明文密码:
|
collection_configuration.hana_metrics_config.hana_db_password_secret_name |
为了安全地提供代理用于查询 SAP HANA 的数据库用户账号的密码,请指定包含数据库用户账号的安全凭据的 Secret 的名称。 仅当您指定 |
collection_configuration.hana_metrics_config.sid |
指定 SAP HANA 实例的 SID。 |
collection_configuration.collect_workload_validation_metrics |
如需启用 Workload Manager 评估指标收集功能,请指定 |
collection_configuration.workload_validation_metrics_frequency |
Workload Manager 评估指标的收集频率(以秒为单位)。默认值为 如果您需要修改 Workload Manager 指标的收集频率,请在 |
collection_configuration.workload_validation_db_metrics_config.hana_db_user |
指定用于查询 SAP HANA 实例的用户账号。 用户账号必须具有 SAP HANA 数据库的读取权限。 |
collection_configuration.workload_validation_db_metrics_config.hana_db_password |
指定用于查询 SAP HANA 实例的用户账号的密码。 |
collection_configuration.workload_validation_db_metrics_config.hana_db_password_secret_name |
指定存储用户账号密码的 Secret Manager 中的密文的名称。 |
collection_configuration.workload_validation_db_metrics_config.sid |
指定 SAP HANA 实例的 SID。 |
collection_configuration.workload_validation_db_metrics_config.hostname |
指定托管 SAP HANA 实例的机器(本地或远程)的标识符。支持的值如下:
|
collection_configuration.workload_validation_db_metrics_config.port |
指定 SAP HANA 实例接收查询的端口。对于第一个或唯一租户数据库实例,该端口为 |
collection_configuration.workload_validation_db_metrics_frequency |
用于进行 Workload Manager 评估的 SAP HANA 数据库指标的收集频率(以秒为单位)。
默认值为 |
默认配置
{ "provide_sap_host_agent_metrics": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": false, "collect_process_metrics": false } }
配置示例
在 Compute Engine 计算实例上安装代理时,所有配置参数和值都是可选的。如果未修改配置文件,则系统会使用默认配置。以下示例显示了用于在计算实例上安装代理的已完成配置文件。
{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": false, "collect_process_metrics": true, "hana_metrics_config": { "hana_db_user": "user", "hana_db_password_secret_name": "secret-name" } } }
查看收集的指标
如需直观呈现代理收集的 Process Monitoring 指标,您可以使用 Google Cloud 提供的以下自定义信息中心:
SAP 代理 - HANA 概览:此信息中心提供显示以下指标的状态概览的图表:SAP HANA 可用性、SAP HANA HA 可用性、SAP HANA HA 复制、SAP HANA 服务状态、HA 集群 - 节点状态和 HA 集群 - SAP 实例的资源状态。
此信息中心的 JSON 文件为
sap-agent-status-overview.json
。SAP 代理 - HANA 原始指标:此信息中心提供显示以下指标的原始指标值的图表:SAP HANA 可用性、SAP HANA HA 可用性、SAP HANA HA 复制、SAP HANA 服务状态、HA 集群 - 节点状态和 HA 集群 - SAP 实例的资源状态。
此信息中心的 JSON 文件为
sap-agent-raw-metrics.json
。
安装信息中心
如需安装自定义信息中心,请完成以下步骤:
Google Cloud 控制台
在 Google Cloud 控制台中,前往 Monitoring 页面:
在 Monitoring 导航面板中,点击信息中心。
点击示例库标签页。
如需过滤特定于代理的自定义信息中心,请在过滤条件字段中输入
Agent for SAP
。(可选)如需查看有关信息中心的详细信息或预览其内容,请点击预览。
选择要安装的信息中心。
点击导入,然后点击确认。
信息中心会添加到 Google Cloud 项目中的可用信息中心。如需查看您的信息中心,请按照查看已安装的信息中心中的说明进行操作。
Google Cloud CLI
打开 Cloud Shell:
在 Cloud Shell 中,克隆或下载代码库:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/
在 Cloud Shell 中,使用相应的 JSON 文件安装所需的信息中心:
gcloud monitoring dashboards create --config-from-file=CONFIG_FROM_FILE
将
CONFIG_FROM_FILE
替换为包含信息中心配置的 JSON 文件的路径。信息中心配置文件可位于以下路径中:monitoring-dashboard-samples/dashboards/google-cloud-agent-for-sap
。信息中心会添加到 Google Cloud 项目中的可用信息中心。如需查看您的信息中心,请按照查看已安装的信息中心中的说明进行操作。
查看已安装的信息中心
如需查看已安装的信息中心,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Monitoring 页面:
在 Monitoring 导航面板中,点击信息中心。
在列表中点击信息中心名称。
如果您有许多信息中心,则可以针对自定义信息中心或新信息中心的名称进行过滤。如需了解如何过滤此列表,请参阅查看自定义信息中心。
下图是一个示例,展示了 Monitoring 中 SAP HANA 指标的自定义信息中心的一部分。
问题排查
如需了解如何诊断和解决在安装和配置 Google Cloud's Agent for SAP 时可能遇到的问题,请参阅 Google Cloud's Agent for SAP 问题排查指南。
获取支持
如果您在解决 Google Cloud's Agent for SAP 的问题时需要帮助,请收集所有可用的诊断信息并与 Cloud Customer Care 联系。如需了解如何与 Customer Care 团队联系,请参阅获取 Google Cloud 上的 SAP 支持。