本指南介绍了如何配置 Google Cloud的 Agent for SAP 以从 SAP 系统收集 Process Monitoring 指标。
如需了解此功能,请参阅使用 Google Cloud的 Agent for SAP 进行进程监控。
准备工作
- 验证 Google Cloud的 Agent for SAP 的安装情况。如需查看相关说明,请参阅适合您的场景的安装指南。
- 如果您已在裸金属解决方案服务器上安装代理,请确保已满足所需的前提条件并设置服务账号。如需查看相关说明,请参阅在 Linux 上配置 Google Cloud的 Agent for SAP。
所需 IAM 角色
如需确保服务账号拥有允许 Google Cloud的 Agent for SAP 收集 Process Monitoring 指标所需的权限,请让您的管理员为服务账号授予项目的以下 IAM 角色:
-
Compute Viewer (
roles/compute.viewer
): 用于从托管 SAP 系统的 Compute Engine 实例收集 Process Monitoring 指标。 -
Monitoring Metric Writer (
roles/monitoring.metricWriter
): 用于将收集的指标写入 Cloud Monitoring。 -
(可选)Secret Manager Secret Accessor (
roles/secretmanager.secretAccessor
):如果您使用 Secret Manager 存储用于连接到 SAP HANA 数据库的密码。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
这些预定义角色包含允许 Google Cloud的 SAP 代理收集进程监控指标所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需允许 Google Cloud的 Agent for SAP 收集 Process Monitoring 指标,您需要拥有以下权限:
-
如需从主机 Compute Engine 实例收集 Process Monitoring 指标并将其写入 Cloud Monitoring,请执行以下操作:
-
monitoring.timeSeries.create
-
compute.instances.get
-
compute.nodeGroups.list
-
compute.nodeGroups.get
-
-
如果您使用 Secret Manager 存储用于连接到 SAP HANA 数据库的密码,则如需访问该 Secret,请执行以下操作:
secretmanager.versions.access
您的管理员也可以使用自定义角色或其他预定义角色为服务账号授予这些权限。
所需的 SAP HANA 角色
如需让代理从 SAP HANA 数据库收集指标,请确保您在代理的配置文件中指定的 SAP HANA 用户具有 MONITORING
角色。
如需了解此角色,请参阅 SAP 文档标准数据库角色。
启用 Process Monitoring 指标收集功能
如需启用使用Google Cloud的 Agent for SAP 收集 Process Monitoring 指标的功能,请按照以下步骤操作:
与主机 Compute Engine 实例建立 SSH 连接。
打开代理的配置文件:
/etc/google-cloud-sap-agent/configuration.json
或者,您也可以通过运行命令来执行此配置。如需了解详情,请参阅 Google Cloud的 Agent for SAP 的配置命令。
在
collection_configuration
部分中,执行以下操作:- 对于参数
collect_process_metrics
,请指定值true
。 - 如需启用收集与 SAP HANA 数据库实例相关的 Process Monitoring 指标的功能,您需要在
hana_metrics_config
部分中配置其他参数。如需了解这些参数,请参阅配置参数。
- 对于参数
(可选)在
cloud_properties
部分下,您可以更新自动设置的参数值。为此,请将cloud_properties
部分添加到您的配置文件中,然后指定必需的参数及其值。保存配置文件。
重启代理以使新设置生效:
sudo systemctl restart google-cloud-sap-agent
配置文件示例
Compute Engine 实例
以下示例是已完成的Google Cloud的 Agent for SAP 配置文件,它在Compute Engine 实例上运行,其中启用了 Process Monitoring 指标的收集功能:
对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定,hdbuserstore_key
配置参数优先于 hana_db_password
参数,而 hana_db_password
参数优先于 hana_db_password_secret_name
参数。我们建议您在配置文件中仅设置一个身份验证选项。
- 以下示例使用安全用户存储区 (
hdbuserstore
) 密钥进行 SAP HANA 身份验证:{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hdbuserstore_key": "user_store_key" } }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下示例使用用户名和 Secret Manager Secret 进行 SAP HANA 身份验证:
{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hana_db_password_secret_name": "db_pwd_secret_name" } }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
- 以下示例使用用户名和密码进行 SAP HANA 身份验证。我们建议您改用 Secret Manager 密钥或安全用户存储区 (
hdbuserstore
) 密钥进行 SAP HANA 身份验证。{ "provide_sap_host_agent_metrics": true, "bare_metal": false, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hana_db_password": "TempPa55word" } }, "discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
裸金属解决方案服务器
以下示例是已完成的Google Cloud的 Agent for SAP 配置文件,它在裸金属解决方案服务器上运行,其中启用了 Process Monitoring 指标的收集功能:
对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定,hdbuserstore_key
配置参数优先于 hana_db_password
参数,而 hana_db_password
参数优先于 hana_db_password_secret_name
参数。我们建议您在配置文件中仅设置一个身份验证选项。
- 以下示例使用安全用户存储区 (
hdbuserstore
) 密钥进行 SAP HANA 身份验证:{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hdbuserstore_key": "user_store_key" } }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1", "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } } - 以下示例使用用户名和 Secret Manager Secret 进行 SAP HANA 身份验证:
{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hana_db_password_secret_name": "db_pwd_secret_name" } }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1", "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } } - 以下示例使用用户名和密码进行 SAP HANA 身份验证。我们建议您改用 Secret Manager 密钥或安全用户存储区 (
hdbuserstore
) 密钥进行 SAP HANA 身份验证。{ "provide_sap_host_agent_metrics": true, "bare_metal": true, "log_level": "INFO", "log_to_cloud": true, "collection_configuration": { "collect_workload_validation_metrics": true, "collect_process_metrics": true, "process_metrics_frequency": 5, "slow_process_metrics_frequency": 30, "hana_metrics_config": { "hana_db_user": "db_user_name", "sid": "DEH", "hana_db_password": "TempPa55word" } }, "cloud_properties": { "project_id": "my-project", "instance_name": "bms-machine-1", "region": "us-central1", "image": "rhel-8" },
"discovery_configuration": { "enable_discovery": true, "enable_workload_discovery": true }, "hana_monitoring_configuration": { "enabled": false } }
配置参数
下表说明了Google Cloud的 Agent for SAP 的特定于 Process Monitoring 指标收集的配置参数。
参数 | |
---|---|
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
|
如果您的 SAP 系统在 Compute Engine 实例上运行,请指定该计算实例的名称。代理会在安装时自动检测计算实例名称。 如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定该服务器的名称。 |
cloud_properties.region |
如果您的 SAP 系统在裸金属解决方案服务器上运行,请指定裸金属解决方案服务器的区域。 |
cloud_properties.zone |
当代理在计算实例上运行时,默认情况下,代理会使用部署计算实例的可用区。 |
cloud_properties.image |
指定实例的操作系统映像名称。 |
cloud_properties.numeric_project_id |
指定运行 SAP 系统的 Google Cloud 项目的数字 ID。 |
discovery_configuration.enable_workload_discovery |
如需让代理收集主机上运行的 SAP 产品的名称和版本,请指定 如需了解详情,请在 |
discovery_configuration.enable_discovery |
如需将代理收集的有关主机上运行的 SAP 产品的信息发送到 Cloud Logging,请指定 如果您指定值 |
collection_configuration.collect_process_metrics |
如需启用 Process Monitoring 指标收集功能,请指定 |
collection_configuration.process_metrics_frequency |
从 2.6 版开始,此参数决定了快速变化的 Process Monitoring 指标的收集频率(以秒为单位)。快速变化的 Process Monitoring 指标包括: 此参数的默认值为 所有其他(缓慢变化的)Process Monitoring 指标按默认频率 30 秒收集。如需更改缓慢变化的 Process Monitoring 指标的收集频率,请使用参数 |
collection_configuration.slow_process_metrics_frequency |
指定缓慢变化的 Process Monitoring 指标的收集频率(以秒为单位)。 此参数的默认值为 |
collection_configuration.process_metrics_to_skip |
指定您不希望代理收集的 Process Monitoring 指标。此参数接受 Process Monitoring 指标名称的英文逗号分隔值。例如: |
collection_configuration.hana_metrics_config.hana_db_user |
指定代理用于查询 SAP HANA 的数据库用户账号。默认值为 |
collection_configuration.hana_metrics_config.hana_db_password |
指定代理用于查询 SAP HANA 的数据库用户账号的纯文本密码。 我们建议您使用以下选项之一,而不是指定明文密码:
对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定, |
collection_configuration.hana_metrics_config.hana_db_password_secret_name |
为了安全地提供代理用于查询 SAP HANA 的数据库用户账号的密码,请指定包含数据库用户账号的安全凭据的 Secret 的名称。 仅当您指定 对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定, |
collection_configuration.hana_metrics_config.hdbuserstore_key
|
如需安全地连接到 SAP HANA 系统,请指定您为该系统创建的安全用户存储区 ( 如需使用
此配置参数从代理版本 3.3 开始受支持。 对于 SAP HANA 身份验证,代理使用以下优先级顺序:如果指定, |
collection_configuration.hana_metrics_config.sid |
指定 SAP HANA 实例的 SID。
如果您使用 |
验证 Process Monitoring 指标收集的设置
您可以通过运行代理的 status
命令来验证是否已正确 Google Cloud 设置了进程监控指标的收集。此命令从代理版本 3.7 开始受支持。
为此,请完成以下步骤:
- 与 Compute Engine 实例或裸金属解决方案服务器建立 SSH 连接。
运行以下命令:
sudo /usr/bin/google_cloud_sap_agent status
如果您 Google Cloud 为收集进程监控指标设置正确,则输出将包含以下内容。您的配置可能包含
default
以外的值。Agent Status: ... Systemd Service Enabled: True Systemd Service Running: True Cloud API Full Scopes: True Configuration File: /etc/google-cloud-sap-agent/configuration.json Configuration Valid: True ... ---------------------------------------------------------------------------- Process Metrics: Enabled Status: Fully Functional IAM Permissions: All granted Configuration: collect_process_metrics: true (configuration file) process_metrics_frequency: 5 (default) process_metrics_to_skip: [] (default) slow_process_metrics_frequency: 30 (default) ...
如果输出显示缺少某些设置,请查看前面部分中提供的信息,执行所需的操作,然后重新运行
status
命令以重新验证设置。
查看收集的指标
如需直观呈现代理收集的 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 指标的自定义信息中心的一部分。