第六十九章 使用 REST API 监控 IRIS

本文涉及的产品
可观测监控 Prometheus 版,每月50GB免费额度
EMR Serverless StarRocks,5000CU*H 48000GB*H
日志服务 SLS,月写入数据量 50GB 1个月
简介: 第六十九章 使用 REST API 监控 IRIS

第六十九章 使用 REST API 监控 IRIS

每个 IRIS® 数据平台实例都包含一个提供实例统计信息的 REST 接口。 REST API 提供了一种从多台运行 IRIS 的机器收集信息的方法,使能够详细监控构成您的应用程序的所有实例。

本附录描述了 /api/monitor 服务提供的指标。这些指标与开源监控和警报工具 Prometheus 兼容。配置 Prometheus 以抓取多个连接的 IRIS 实例提供了整个系统的内聚视图,从而更容易评估系统是否正常有效地运行。


注意:有关创建和使用 REST 接口的介绍,请参阅第一眼:使用 产品开发 Rest 接口。

/api/monitor Service

/api/monitor 服务提供有关运行它的 IRIS 实例的信息。默认情况下,/api/monitor Web 应用程序启用了“未经身份验证”的访问权限。有关为此服务设置身份验证的信息,请参阅创建 REST 服务中的保护 REST 服务一章。

此 API 具有以下两个端点:

  • /metrics Endpoint,,它返回所有实例指标,并且可以配置为返回特定的应用程序指标。
  • /alerts Endpoint,它返回自上次抓取端点以来发布的所有系统警报。

注意: IRIS 将所有错误记录在位于 install-dir/mgr 目录中的 SystemMonitor.log 文件中。

/metrics Endpoint

/metrics 端点返回一个指标列表,这些指标在指标描述中进行了描述。还可以启用有关活动互操作性产品的其他指标的收集,如互操作性指标中所述。创建应用程序指标包含有关如何定义自定义指标的说明。

要配置 Prometheus 以抓取 IRIS 实例,请按照使用 Prometheus 的第一步(https://prometheus.io/docs/introduction/first_steps/在新选项卡中打开)中的说明进行操作。

注意:此表包含此处记录的 IRIS 版本的指标。由于新版本中可能会添加指标,因此请确保该文档与 IRIS 版本相匹配。

iris_cpu_pct {id="ProcessType"} - IRIS 进程类型的 CPU 使用百分比。 ProcessType 可以是以下任何一项:ECPWorker、ECPCliR、ECPCliW、ECPSrvR、ECPSrvW、LICENSESRV、WDAUX、WRTDMN、JRNDMN、GARCOL、CSPDMN、

  • CSPSRV、ODBCSRC、MirrorMaster、MirrorPri、MirrorBack、MirrorPre、MirrorSvrR、MirrorJrnR、MirrorSK、MirrorComm
  • iris_cpu_usage - 操作系统上所有程序的 CPU 使用率百分比
  • iris_csp_activity {id="IPaddress:port"} - Web 网关服务器自启动以来处理的 Web 请求数
  • iris_csp_actual_connections {id="IPAddress:port"} - Web 网关服务器与该服务器的当前连接数
  • iris_csp_gateway_latency {id="IPaddress:port"} - 获取 iris_csp_ 指标时从 Web 网关服务器获得响应的时间,以毫秒为单位
  • iris_csp_in_use_connections {id="IPaddress:port"} - 正在处理 Web 请求的 Web 网关服务器与此服务器的当前连接数
  • iris_csp_private_connections {id="IPaddress:port"} - 为状态感知应用程序保留的 Web 网关服务器与此服务器的当前连接数(保留模式 1
  • iris_csp_sessions - 此服务器上当前活动的 Web 会话 ID
  • iris_cache_efficiency - 全局引用与物理读写的比率,以百分比表示
  • iris_db_expansion_size_mb {id="database"} -扩展数据库的数量,以兆字节为单位
  • iris_db_free_space {id="database"} - 数据库中可用的可用空间,以兆字节为单位(此指标每天仅更新一次,可能不会反映最近的更改。)
  • iris_db_latency {id="database"} - 完成从数据库随机读取的时间量,以毫秒为单位
  • iris_db_max_size_mb {id="database"} - 数据库可以增长到的最大大小,以兆字节为单位
  • iris_db_size_mb {id="database",dir="path"} - 数据库大小,以兆字节为单位
  • iris_directory_space {id="database",dir="path"} - 数据库目录存储卷上的可用空间,以兆字节为单位
  • iris_disk_percent_full {id="database",dir="path"} - 数据库目录存储卷上的空间百分比
  • iris_ecp_conn - 此 ECP 应用程序服务器上的活动客户端连接总数
  • iris_ecp_conn_max - 来自此 ECP 应用程序服务器的最大活动客户端连接数
  • iris_ecp_connections - 此 ECP 应用程序服务器与其配置的 ECP 数据服务器同步时同步的服务器数
  • iris_ecp_latency - ECP 应用服务器和 ECP 数据服务器之间的延迟,以毫秒为单位
  • iris_ecps_conn - 每秒与此 ECP 数据服务器的活动客户端连接总数
  • iris_ecps_conn_max - 与此 ECP 数据服务器的最大活动客户端连接数
  • iris_glo_a_seize_per_sec - 每秒全局资源上的 Aseizes
  • iris_glo_n_seize_per_sec - 每秒全局资源上的 Nseizes
  • iris_glo_ref_per_sec - 每秒对位于本地数据库上的全局变量的引用数
  • iris_glo_ref_rem_per_sec - 每秒对位于远程数据库上的全局变量的引用数
  • iris_glo_seize_per_sec - 每秒占用全局资源的次数
  • iris_glo_update_per_sec - 每秒对本地数据库上的全局变量进行更新(SETKILL 命令)的次数
  • iris_glo_update_rem_per_sec - 每秒对位于远程数据库上的全局变量的更新(SETKILL 命令)数
  • iris_jrn_block_per_sec - 每秒写入磁盘的日志块
  • iris_jrn_free_space {id="JournalType",dir="path"} - 每个日志目录的存储卷上可用的可用空间,以兆字节为单位。 JournalType 可以是 WIJprimarysecondary
  • iris_license_available - 当前未使用的许可证数量
  • iris_license_consumed - 当前使用的许可证数量
  • iris_license_percent_used - 当前使用的许可证的百分比
  • iris_log_reads_per_sec - 每秒逻辑读取
  • iris_obj_a_seize_per_sec - 每秒对象资源上的 Aseizes
  • iris_obj_del_per_sec - 每秒删除的对象数
  • iris_obj_hit_per_sec - 进程内存中每秒的对象引用数
  • iris_obj_load_per_sec - 每秒从磁盘加载的对象数,不在共享内存中
  • iris_obj_miss_per_sec - 每秒在内存中找不到的对象引用数
  • iris_obj_new_per_sec - 每秒初始化的对象数
  • iris_obj_seize_per_sec - 每秒占用对象资源的次数
  • iris_page_space_percent_used - 已用最大分配页面文件空间的百分比
  • iris_phys_mem_percent_used - 当前使用的物理内存 (RAM) 的百分比
  • iris_phys_reads_per_sec - 每秒从磁盘读取的物理数据库块
  • iris_phys_writes_per_sec - 每秒写入磁盘的物理数据库块
  • iris_process_count - 活跃的 IRIS 进程总数
  • iris_rtn_a_seize_per_sec - 每秒例程资源上的 Aseizes
  • iris_rtn_call_local_per_sec - 每秒对位于远程数据库上的全局变量的本地例程调用数
  • iris_rtn_call_miss_per_sec - 每秒在内存中找不到的例程调用数
  • iris_rtn_call_remote_per_sec - 每秒远程例程调用次数
  • iris_rtn_load_per_sec - 每秒从本地加载或保存到磁盘的例程数
  • iris_rtn_load_rem_per_sec - 每秒从磁盘远程加载或保存到磁盘的例程数
  • iris_rtn_seize_per_sec - 每秒占用例程资源的次数
  • iris_sam_get_db_sensors_seconds - 收集 iris_db* 传感器所花费的时间,以秒为单位
  • iris_sam_get_jrn_sensors_seconds - 收集 iris_jrn* 传感器所花费的时间,以秒为单位
  • iris_sam_get_sql_sensors_seconds - 收集 iris_sql* 传感器所花费的时间,以秒为单位
  • iris_sam_get_wqm_sensors_seconds - 收集 iris_wqm* 传感器所花费的时间,以秒为单位
  • iris_smh_available {id="purpose"} - 按目的可用的共享内存,以千字节为单位
  • iris_smh_percent_full {id="purpose"} - 按目的使用的已分配共享内存的百分比
  • iris_smh_total - 为当前实例分配的共享内存,以千字节为单位
  • iris_smh_total_percent_full - 当前实例使用的已分配共享内存的百分比
  • iris_smh_used {id="purpose"} - 按目的使用的共享内存,以千字节为单位
  • iris_sql_active_queries {id="namespace"} - 当前执行的 SQL 语句数
  • iris_sql_active_queries_95_percentile {id="namespace"} - 对于当前的活动 SQL 语句集,自语句开始执行以来经过的第 95 个百分位数的时间
  • iris_sql_active_queries_99_percentile {id="namespace"} - 对于当前活动的 SQL 语句集,自语句开始执行以来经过的第 99 个百分位数的时间
  • iris_sql_queries_avg_runtime {id="namespace"} - 平均 SQL 语句运行时间,以秒为单位
  • iris_sql_queries_avg_runtime_std_dev {id="namespace"} - 平均 SQL 语句运行时间的标准偏差
  • iris_sql_queries_per_second {id="namespace"} - 每秒平均 SQL 语句数
  • iris_system_alerts - 自系统启动以来发布到消息日志的警报数
  • iris_system_alerts_log - 当前位于警报日志中的警报数
  • iris_system_alerts_new - /api/monitor/alerts 端点上是否有新警报,作为布尔值
  • iris_system_state - 表示系统监视器健康状态的数字
  • iris_trans_open_count - 当前实例上打开的事务数
  • iris_trans_open_secs - 当前实例上打开事务的平均持续时间,以秒为单位
  • iris_trans_open_secs_max - 当前实例上当前打开的最长事务的
  • iris_wd_buffer_redirty - 写入守护进程在最近一个周期中写入并且也在前一个周期中写入的数据库缓冲区数
  • iris_wd_buffer_write - 写入守护进程在其最近周期写入的数据库缓冲区数
  • iris_wd_cycle_time - 完成最近的写入守护进程周期所花费的时间量,以毫秒为单位
  • iris_wd_proc_in_global - 在最近的写入守护进程周期开始时主动持有全局缓冲区的进程数
  • iris_wd_size_write - 写入守护程序在其最近周期写入的数据库缓冲区的大小,以千字节为单位
  • iris_wd_sleep - 写入守护进程在其最近的周期开始之前处于非活动状态的时间量,以毫秒为单位
  • iris_wd_temp_queue - 写入守护进程在其最近周期开始时使用的内存缓冲区数
  • iris_wd_temp_write - 写入守护进程在其最近周期中写入的内存缓冲区数
  • iris_wdwij_time - 写入守护进程在其最近的周期内写入 WIJ 文件所花费的时间,以毫秒为单位
  • iris_wd_write_time - 写守护进程在其最近的周期内将缓冲区写入数据库所花费的时间,以毫秒为单位
  • iris_wij_writes_per_sec - WIJ 每秒物理块写入
  • iris_wqm_active_worker_jobs {id="category"} - 未被阻塞的运行逻辑的平均工作者作业数
  • iris_wqm_commands_per_sec {id="category"} - 平均每秒在此工作队列管理类别中执行的命令数
  • iris_wqm_globals_per_sec {id="category"} - 平均每秒在此工作队列管理类别中运行的全局引用数
  • iris_wqm_max_active_worker_jobs {id="category"} - 自上次记录日志条目以来的最大活动工作人员数
  • iris_wqm_max_work_queue_depth {id="category"} - 自上次记录以来此工作队列管理类别队列中的最大条目数
  • iris_wqm_waiting_worker_jobs {id="category"} - 等待一个组连接并为其工作的空闲工人作业的平均数量

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
相关文章
|
8天前
|
JSON 中间件 API
开发REST API3-11
开发REST API3-11
|
9天前
|
JSON JavaScript API
编写REST API
编写REST API
20 2
|
2月前
|
存储 JSON API
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
|
2月前
|
XML 安全 API
REST 和 SOAP API 有什么区别?
【8月更文挑战第31天】
29 0
|
2月前
|
JSON API 数据安全/隐私保护
哇塞!Django REST framework 太逆天啦!构建 API 服务从未如此轻松,你还不来试试?
【8月更文挑战第31天】Django REST framework(DRF)是基于Django框架的高效Web API开发工具,提供序列化、视图集、路由等功能,简化API构建流程。使用DRF可轻松实现数据的序列化与反序列化,并支持权限管理和认证机制以保障API安全。安装DRF只需通过`pip install djangorestframework`命令。要创建基本项目,先安装Django并创建新应用,定义模型、序列化器及视图集,最后配置路由。测试API时,可通过Postman发送HTTP请求验证功能。无论项目大小,DRF均能提供强大支持。
26 0
|
2月前
|
中间件 API 网络架构
Django后端架构开发:从匿名用户API节流到REST自定义认证
Django后端架构开发:从匿名用户API节流到REST自定义认证
18 0
|
2月前
|
API 网络架构 C++
【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
【Azure Key Vault】使用REST API调用Azure Key Vault Secret的示例步骤
|
2月前
|
机器人 API Python
智能对话机器人(通义版)会话接口API使用Quick Start
本文主要演示了如何使用python脚本快速调用智能对话机器人API接口,在参数获取的部分给出了具体的获取位置截图,这部分容易出错,第一次使用务必仔细参考接入参数获取的位置。
121 1
|
12天前
|
安全 API 开发者
Web 开发新风尚!Python RESTful API 设计与实现,让你的接口更懂开发者心!
在当前的Web开发中,Python因能构建高效简洁的RESTful API而备受青睐,大大提升了开发效率和用户体验。本文将介绍RESTful API的基本原则及其在Python中的实现方法。以Flask为例,演示了如何通过不同的HTTP方法(如GET、POST、PUT、DELETE)来创建、读取、更新和删除用户信息。此示例还包括了基本的路由设置及操作,为开发者提供了清晰的API交互指南。
52 6