第六十八章 使用 Web 服务监控 IRIS - 监控网络客户端

简介: 第六十八章 使用 Web 服务监控 IRIS - 监控网络客户端

第六十八章 使用 Web 服务监控 IRIS - 监控网络客户端

SYS.WSMon.Client 类和相关类是一个 IRIS 网络服务客户端,可以在同一个 IRIS 实例或另一个 IRIS 实例中调用 SYS.WSMon.Server 网络服务的方法。

此 Web 客户端类使用以下 LOCATION 参数:

Parameter LOCATION = "http://server:port/csp/sys/SYS.WSMon.Service.cls"

其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。

以与使用其他 IRIS 网络服务客户端相同的方式使用此网络客户端:

  1. 创建 Web 客户端类的实例。
  2. 如果需要,设置其 Location 属性。

如果要使用的 SYS.WSMon.Server Web 服务与客户端位于不同的计算机上,或者如果它使用 52773 以外的端口,则这是必需的。

  1. 如果需要,设置其他属性。
  2. 调用网络方法。
  3. 检查 web 方法返回的值。

详细信息取决于调用的 Web 方法;请参阅“监视 Web 服务的 Web 方法”部分并查看返回类型的类参考。

下面显示了一个示例终端会话:

USER>set $namespace = "%SYS"
 
%SYS>set client=##class(SYS.WSMon.Client).%New()
 
%SYS>set client.Location="http://localhost:57799/csp/sys/SYS.WSMon.Service.cls"
 
%SYS>set myroutinestats=client.GetRoutine()
 
%SYS>write myroutinestats.RtnCallsLocal
19411581
%SYS>write myroutinestats.RtnCallsRemote
0
%SYS>write myroutinestats.RtnCommands
432764817
%SYS>

更典型的是,以编程方式创建和使用客户端,可能是为了检索数据以显示在用户界面中。

注意:请记住,SYS.WSMon 包仅在 %SYS 命名空间中可用,这意味着必须在该命名空间中才能执行此处描述的步骤。

处理事件

IRIS 提供了一个示例 Web 服务(SYS.WSMon.EventSink),可以接收和处理任何日志监控 Web 服务发送的事件。可以使用此 Web 服务或创建和使用自己的 Web 服务。

使用示例事件接收器 Web 服务

SYS.WSMon.EventSink是一个示例 IRIS Web 服务,可以接收和处理事件。

对于给定的 IRIS 实例,日志监控 Web 服务可从以下 URL 获得:

http://server:port/csp/sys/SYS.WSMon.EventSink.cls

其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。

Web 服务有一种方法:

CacheEventSink()
Method CacheEventSink(event As SYS.WSMon.wsEvent) As %Integer

Windows 平台上,此示例方法在事件发生时显示一个弹出窗口;对于其他平台,它会向 ^SYS("MONITOR","WSMON","EVENT_RECEIVED",$h) 添加一个条目。

此方法始终返回 1

要订阅此示例服务以便它接收来自监控 Web 服务的事件,请在终端中执行以下操作:

USER>set $namespace = "%sys"
 
%SYS>set client=##class(SYS.WSMon.Client).%New()
 
%SYS>set eventsinklocation="http://localhost:52773/csp/sys/SYS.WSMon.EventSink.cls"
 
%SYS>set subscriptionid=client.EventSubscribe(eventsinklocation)
 
%SYS>write subscriptionid
CacheEventSubscription_2

这里的 eventsinklocation 是将处理事件的事件接收器 Web 服务的 URL

创建自己的事件接收器 Web 服务

要创建自己的事件接收器 Web 服务,请使用 Studio 中的 SOAP 向导从以下 WSDL 生成 Web 服务:

http://server:port/csp/sys/SYS.WSMon.EventSink.cls?WSDL=1

其中,服务器是运行 IRIS 的服务器,端口是 IRIS Web 服务服务器使用的端口。

然后修改生成的 Web 服务中的 CacheEventSink() 方法以包含自定义逻辑。

相关文章
|
9月前
|
开发框架 监控 安全
Windows Defender 导致 Web IIS 服务异常停止排查
某日凌晨IIS服务异常停止,经查为Windows Defender安全补丁KB2267602触发引擎更新,导致系统资源波动,进而引发应用池回收。确认非人为操作,系统无重启。通过分析日志与监控,定位原因为Defender更新后扫描加重负载。解决方案:将IIS及.NET相关路径添加至Defender排除列表,避免业务影响。
958 116
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
584 61
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
714 35
|
开发框架 安全 前端开发
Go Web开发框架实践:模板渲染与静态资源服务
Gin 是一个功能强大的 Go Web 框架,不仅适用于构建 API 服务,还支持 HTML 模板渲染和静态资源托管。它可以帮助开发者快速搭建中小型网站,并提供灵活的模板语法、自定义函数、静态文件映射等功能,同时兼容 Go 的 html/template 引擎,具备高效且安全的页面渲染能力。
|
运维 网络协议 Go
Go网络编程:基于TCP的网络服务端与客户端
本文介绍了使用 Go 语言的 `net` 包开发 TCP 网络服务的基础与进阶内容。首先简述了 TCP 协议的基本概念和通信流程,接着详细讲解了服务端与客户端的开发步骤,并提供了简单回显服务的示例代码。同时,文章探讨了服务端并发处理连接的方法,以及粘包/拆包、异常检测、超时控制等进阶技巧。最后通过群聊服务端的实战案例巩固知识点,并总结了 TCP 在高可靠性场景中的优势及 Go 并发模型带来的便利性。
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
637 0
|
人工智能 运维 安全
网络安全公司推荐:F5荣膺IDC全球Web应用与API防护领导者
网络安全公司推荐:F5荣膺IDC全球Web应用与API防护领导者
482 4
|
JavaScript 前端开发 API
【Web API系列教程】3.6 — 实战:处理数据(创建JavaScript客户端)
在本节,你将使用HTML、JavaScript和Knockout.js库为应用程序创建客户端。我们将按如下步骤建立客户端应用: 1, 展示books列表 2, 展示book详细信息 3, 添加一本新书 Knockout.js库使用了模型-视图-视图模型(MVVM)模式: 1, 模型是在业务域(在本例中是books和authors)中数据在服务器端的表现形式。
1203 0
|
9月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
664 4