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

简介: 第六十九章 使用 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"} - 等待一个组连接并为其工作的空闲工人作业的平均数量

相关文章
|
1月前
|
开发框架 监控 .NET
Visual Basic的Web服务和REST API开发指南
【4月更文挑战第27天】本文探讨了使用Visual Basic(VB.NET)构建Web服务和RESTful API的方法。首先介绍了Web服务的基础和REST API的概念,然后阐述了.NET Framework与.NET Core/.NET 5+对VB.NET的支持,以及ASP.NET Core在Web开发中的作用。接着,详细讲解了创建RESTful API的步骤,包括控制器与路由设置、模型绑定与验证,以及返回响应。此外,还讨论了安全措施、测试方法、部署选项和监控策略。最后强调,VB.NET开发者可以通过ASP.NET Core涉足现代Web服务开发,拓宽技术领域。
|
1月前
|
缓存 前端开发 API
构建可扩展的API:REST vs GraphQL
【5月更文挑战第14天】在API设计中,REST和GraphQL是两种主要的架构风格。REST基于HTTP协议,强调资源的无状态性和客户端-服务器模型,适合简单CRUD操作。而GraphQL提供更灵活的数据查询,允许客户端精确指定需求,减少HTTP请求和数据冗余,适合复杂场景和高性能需求。选择时要考虑项目需求、技术栈、性能和团队经验。
|
6天前
|
DataWorks 监控 API
DataWorks产品使用合集之在调用API创建质量监控规则中的校验器的ID可以在哪里找到
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
23天前
|
Prometheus 监控 Cloud Native
第七十一章 使用 REST API 监控 IRIS - 活动量指标
第七十一章 使用 REST API 监控 IRIS - 活动量指标
21 0
|
23天前
|
监控 API 网络架构
第七十章 使用 REST API 监控 IRIS - 互操作性指标
第七十章 使用 REST API 监控 IRIS - 互操作性指标
20 0
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks操作报错合集之在DataWorks同步数据时,遇到乱码问题,该怎么解决(rest api数据源)
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 0
|
1月前
|
JSON 安全 API
【专栏】四种REST API身份验证方法:基本认证、OAuth、JSON Web Token(JWT)和API密钥
【4月更文挑战第28天】本文探讨了四种REST API身份验证方法:基本认证、OAuth、JSON Web Token(JWT)和API密钥。基本认证简单但不安全;OAuth适用于授权第三方应用;JWT提供安全的身份验证信息传递;API密钥适合内部使用。选择方法时需平衡安全性、用户体验和开发复杂性。
|
8月前
|
XML 安全 API
Rest API 开发分享
Rest API 开发分享
x3d
|
JSON API PHP
禅道 Rest API 开发
在老的 PHP 系统中使用 PHP 5.3以后的库 所谓老的系统,是指没有使用PHP 5.3以上命名空间(namespace)特性编码的系统。 但是,只要你的系统运行在 PHP 5.3及以上的环境,在你的老系统中,是可以使用这些基于新特性如命名空间编码的库或代码的。
x3d
1794 0
|
10天前
|
监控 供应链 搜索推荐
数据驱动电商:深度利用淘宝API接口掌握商品详情
本文探讨了如何利用淘宝API接口获取商品详情数据以助力电商决策。通过API,商家能获取商品标题、价格、库存等信息,从而进行市场分析、库存优化、定价策略制定及个性化推荐。步骤包括注册获取API权限、理解文档、构建数据收集流程、处理分析数据以及应用结果。示例代码展示了如何用Python调用API获取商品详情。善用API和数据驱动策略可在电商市场中取得优势。请注意遵循淘宝的API使用规范。