监视 SAP HANA
借助 Instana ,您可以全面监控您的 SAP HANA 数据库,从而实时掌握其性能状况。
首先,请安装并配置 Instana 代理。 该代理会自动部署并安装 SAP HANA 传感器。 配置 SAP HANA 传感器,以便在 Instana 用户界面中查看 SAP HANA 指标。 Instana 支持对 SAP HANA 数据库进行本地和远程监控。
补充信息
SAP HANA传感器支持以下操作系统 (OS) 和运行时:
受支持的操作系统
根据所需的监控类型, Instana 代理程序可安装在不同的操作系统上,用于监控 SAP HANA 数据库。
本地监控( Instana 代理安装在与 SAP HANA 数据库位于同一台主机上):
- Linuxx86和IBM PowerPC64 位 LE)
远程监控( Instana 代理安装在另一台主机上,并远程连接到 SAP HANA 数据库):
- AIX
- Linuxx86和IBM PowerPC64 位 LE)
- Windows
- IBM iOS/400PASE)
- 苹果macOS(64 位 - 英特尔和Apple silicon
支持的运行时
只有当 Instana 代理使用 Java 8运行时,您才能监控 SAP HANA 数据库。
按平台划分的支持的 Java 8 JDK
根据操作系统的不同,以下 Java 8 JDK 版本支持 SAP HANA 监控:
- Azul Zulu JDK 8 ( 1.8 )
- IBM Semeru Runtime™ JDK/J9 8
- Oracle JDK 8
- OpenJDK 8
- AdoptOpenJDK 8( Eclipse Temurin)
- Amazon Corretto JDK 8
- Azul Zulu JDK 8 ( 1.8 )
- IBM Semeru Runtime™ JDK/J9 8
- Oracle JDK 8
- OpenJDK 8
- AdoptOpenJDK 8( Eclipse Temurin)
- IBM JDK 8(随 IBM i 附带)
配置 Instana 代理
要监控SAP HANA,需要配置所使用的静态或动态代理。
配置静态代理
使用静态代理时,需要手动提供 com.sap.cloud.db.jdbc:ngdbc 驱动程序。
要使用静态代理监控 SAP HANA 数据库,请完成以下步骤:
从 Maven 中央仓库下载驱动程序
ngdbc-2.22.12.jar。将
ngdbc-2.22.12.jar驱动程序添加到<agent-installation-dir>/system/com/sap/cloud/db/jdbc/ngdbc/2.22.12目录中。要配置代理以使用 Java 8运行时,请完成以下步骤:
注意: 仅当您使用 Instana 282及更高版本,或者代理程序此前是通过 EclipseOpenJ9 11 进行配置时,才需要执行以下步骤。Go 进入该
<agent-installation-dir>/bin目录,并打开该setenv文件。在文件
setenv中取消以下几行的注释:
如果您使用的是旧版代理,请在以下内容之后INSTANA_AGENT_JAVA_HOME=<path-to-java-home> # This command must point to your Java 8 runtime. export INSTANA_AGENT_JAVA_HOMEexport JAVA_HOME=<path-to-java-home>添加UNSET JAVA_HOME该行:unset JAVA_HOME export JAVA_HOME=<path-to-java-home> # This command must point to your Java 8 runtime.保存更改并关闭文件。
重新启动 instana 代理程序。
配置动态代理
要配置代理以使用 Java 8运行时,请完成以下步骤:
Go 进入该
<agent-installation-dir>/bin目录,并打开该setenv文件。在文件
setenv中取消以下几行的注释:
如果您使用的是旧版代理,请在以下内容之后INSTANA_AGENT_JAVA_HOME=<path-to-java-home> # This command must point to your Java 8 runtime. export INSTANA_AGENT_JAVA_HOMEexport JAVA_HOME=<path-to-java-home>添加UNSET JAVA_HOME该行:unset JAVA_HOME export JAVA_HOME=<path-to-java-home> # This command must point to your Java 8 runtime.保存更改并关闭文件。
重新启动 Instana 代理程序以应用更改。
有关代理安装先决条件和支持的 JDK 的更多信息,请参阅《 安装主机代理 》。
配置 SAP HANA 传感器
使用 SAP HANA 传感器,您可以在本地和远程监控 SAP HANA 数据库。 SAP HANA 的本地监控需要在与 SAP HANA 进程位于同一台主机上安装 Instana 代理,而远程监控则需要在另一台主机上安装该代理。
本地监视
在本地监控中,传感器同时收集主机指标和 HANA 数据库指标,提供全面的全栈数据视图。
根据运行 SAP HANA 的模式(多容器或单容器),可以在代理配置 yaml 文件 *instanaAgentDir*/etc/instana/configuration.yaml 中设置不同的用户名和密码组合,以便连接到数据库。
本地监控的配置参数如下例所示:
# SAP HANA
com.instana.plugin.saphana:
local:
singleContainer:
user: ''
password: ''
multiContainer:
my-test-db1:
user: ''
password: ''
my-test-db2:
user: ''
password: ''
SYSTEM。agent.log 中看到一条错误信息。 您可以忽略这些消息,因为传感器最终会连接到一个可用的端口。可选配置参数
您可以选择指定该 instanceNumber 参数,以帮助传感器与特定的 SAP HANA 实例建立连接。 此参数在存在多个 SAP HANA 实例的环境中非常有用,或者当您希望确保传感器连接到特定实例时。
# SAP HANA with instance number
com.instana.plugin.saphana:
local:
multiContainer:
my-test-db1:
user: ''
password: ''
instanceNumber: '00'
远程监控
在远程监控中, Instana SAP HANA 传感器用于监控部署在与 Instana 代理所在主机不同的主机上的 SAP HANA 数据库。 SAP HANA 传感器可以监控多个数据库。
远程监控的配置参数如下例所示:
# SAP HANA
com.instana.plugin.saphana:
remote: # multiple remote configurations are supported
- host: 'remote.host-1.com'
port: '' #sql port
databaseName: ''
user: ''
password: ''
- host: 'remote.host-2.com'
port: '' #sql port
databaseName: ''
user: ''
password: ''
使用非SYSTEM用户
如果无法使用该 SYSTEM 用户进行本地或远程监控,您可以创建一个具有所需权限的专用监控用户。
创建监控用户
要创建一个新的监控用户(例如) instana_monitoring,请以数据库的SYSTEM用户身份登录,并执行以下查询:
CREATE USER instana_monitoring PASSWORD Instana123 NO FORCE_FIRST_PASSWORD_CHANGE;
GRANT CATALOG READ TO instana_monitoring;
GRANT SELECT ON SCHEMA _SYS_REPO TO instana_monitoring WITH GRANT OPTION;
GRANT SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS TO instana_monitoring;
NO FORCE_FIRST_PASSWORD_CHANGE 该选项创建用户,则必须先手动登录该新用户并完成密码更改提示,然后才能尝试使用 Instana 代理连接数据库。所需特权
请确保监控用户具有以下权限:
CATALOG READSELECT ON SCHEMA _SYS_REPO(有关 _SYS_REPO 模式的更多信息,请参阅 SAP HANA Repository )。SELECT ON _SYS_STATISTICS.STATISTICS_CURRENT_ALERTS
SSL 支持
若要让 Instana 代理通过安全套接层( SSL )协议安全地连接到您的HANA数据库,请在代理配置文件中添加以下 <agent_install_dir>/etc/instana/configuration.yaml配置:
本地监视
若要进行本地监控,请添加以下配置:
com.instana.plugin.saphana:
local:
multiContainer:
<DB Name>:
user: ''
password: ''
trustStore: '<path to your truststore file location'
trustStorePassword: '<Your truststore password>'
hostNameInCertificate 属性来指定证书中显示的主机名。 此设置可确保 Instana 代理使用与证书相同的主机名。 127.0.0.1请在本地监控环境中使用此属性,此时 Instana 代理通过回环地址进行连接,而证书中指定的则是完全合格的域名(FQDN)。远程监控
若要进行远程监控,请添加以下配置:
com.instana.plugin.saphana:
remote:
- host: 'remote.host-1.com'
port: '' #sql port
databaseName: ''
user: ''
password: ''
trustStore: '<path to your truststore file location'
trustStorePassword: '<Your truststore password>'
查看度量值
要查看指标,请在 Instana 用户界面的导航菜单中选择 “基础设施 ”,点击特定的受监控主机,随后您将看到一个主机仪表盘,其中包含所有已收集的指标和受监控的进程。
跟踪的配置
SAP HANA 传感器收集以下配置数据:
- 主机
- 主机状态
- 运行时间
- 系统标识
- 数据库名称
- 实例编号
- 版本
- 数据库安装在
- 端口
- 用法
- 服务状态
- 最大会话数
度量
下表概述了 SAP HANA 传感器收集度量的频率:
| 指标 | 收款频率 |
|---|---|
| 总 CPU 利用率 | 5 秒 |
| CPU 时间 | 5 秒 |
| 工作负载 | 5 秒 |
| 工作负载速率(每分钟) | 5 秒 |
| 请求数 | 5 秒 |
| HANA 内存使用率 | 5 秒 |
| 主机内存使用率 | 5 秒 |
| 堆内存使用率 | 5 秒 |
| 虚拟内存 | 5 秒 |
| 交换内存使用率 | 5 秒 |
| 磁盘使用情况摘要 | 5 秒 |
| 磁盘使用率百分比 | 5 秒 |
| 按类型划分的磁盘使用情况 | 5 秒 |
| 服务 CPU 和内存使用情况 | 5 秒 |
| 会话 | 5 秒 |
| 网络使用情况 | 5 秒 |
| 连接 | 5 秒 |
| 已连接的用户和应用程序 | 5 秒 |
| 线程 | 5 秒 |
| 作业工作程序线程数 | 5 秒 |
| SQL 执行程序线程数 | 5 秒 |
| 列存储 | 5 秒 |
| SQL 计划高速缓存统计信息 | 20 秒 |
| 服务详细信息 | 1 分钟 |
| 垃圾回收统计信息 | 1 分钟 |
| 开销巨大的语句 | 1 分钟 |
| 警报 | 1 分钟 |
| 服务网络 I/O 统计信息 | 1 分钟 |
| 系统事件 | 1 分钟 |
| 活动语句数 | 2 分钟 |
| 事务统计信息 | 2 分钟 |
| 汇总的高速缓存信息 | 2 分钟 |
| 被阻止的事务 | 2 分钟 |
| 行存储内存 | 2 分钟 |
| 共享内存 | 2 分钟 |
| 内存不足事件 | 2 分钟 |
| 调度的作业 | 15 分钟 |
| 锁定等待统计信息 | 15 分钟 |
| 工作进度 | 15 分钟 |
| 按设备类型划分的磁盘使用情况 | 15 分钟 |
| 最新备份 | 30 分钟 |
| 卷文件和数据统计 | 1 小时 |
| 全部备份 | 1 小时 |
| 服务复制统计 | 1 小时 |
| 系统复制统计 | 1 小时 |
| 表大小 | 24 小时 |
| I/O 统计信息 | 1 小时 |
| 表大小 | 24 小时 |
SAP HANA 传感器为各种场景生成内置事件。 有关详细信息,请参阅 内置事件参考。
可定制的属性
全部备份
默认情况下, SAP HANA 仪表板上的 “所有备份 ”表格会显示过去 1 小时内的备份。 要自定义此时间窗口,请将该 backupWindow 属性设置为所需的时间窗口。 例如,若要获取过去 24 小时内生成的所有备份(而非默认的 1 小时),请在您的 configuration.yaml 文件中使用以下属性:
backupWindow: '24'
SQL 计划高速缓存统计信息
SQL 执行计划缓存统计信息默认不会被收集,需要显式启用。 要启用这些指标,请在您的 configuration.yaml 文件中添加以下属性:
plan_cache_statistics_enabled: true
昂贵的语句跟踪
您可以在 SAP HANA 控制台或 SAP HANA 数据库资源管理器中启用并激活高成本语句跟踪功能。 或者,您也可以修改配置文件 global.ini 中 expensive_statement 部分的参数。
若要使用 SQL 命令配置昂贵的语句跟踪,请参阅以下各节。 在执行这些命令之前,请先以数据库的SYSTEM用户身份登录。
为用户启用昂贵的语句跟踪
要为特定用户启用昂贵的语句跟踪功能,请以数据库用户的 SYSTEM 身份登录,并执行以下 SQL 命令:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'enable') = 'true',
('expensive_statement', 'user') = '<username>'
WITH RECONFIGURE;
为用户禁用昂贵的语句跟踪
要禁用特定用户的耗时语句跟踪,请以数据库用户的 SYSTEM 身份登录,并执行以下 SQL 命令:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'enable') = 'false',
('expensive_statement', 'user') = '<username>'
WITH RECONFIGURE;
更改阈值持续时间
要修改捕获耗时语句的阈值时长(单位为微秒),请以数据库管理员 SYSTEM 身份登录,并执行以下 SQL 命令:
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'threshold_duration') = '<microseconds>'
WITH RECONFIGURE;
例如,要将阈值设置为 5 秒(5,000,000 微秒):
ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM')
SET ('expensive_statement', 'threshold_duration') = '5000000'
WITH RECONFIGURE;