IRIS, Caché监控指导 - 介绍
本文章是一个系列,主要目的是介绍给IRIS,Caché的终端用户如何方便的监控您的系统。
InterSystems系统的监控很难吗?需要学习很多技术吗? 我的答案是还好。
关于Caché和IRIS监控,无论是那部分内容,在InterSystems的在线文档或者开发者论坛,其实都能找到相关的说明和方案。但问题是太多,太杂乱,没有一个“操作维护手册”的东西。结果是,如果您是一个新手的InterSystems产品的维护工程师或者管理员,您要花很多的时间在大量的文档里找答案。
还有一个问题是文档中很多章节的内容又太深,包含了一些开发人员才关心的内容,这是Caché或者IRIS的特性造成的,因为它首先是一个开发平台。结果是,对于管理员,很多文档的很不友好。
因此,我要写的这个文章的的目的是这样的:
-
简单。只介绍管理维护人员需要的内容。只介绍和监控相关的内容。其他比如备份恢复,扩容,修改配置等等基本不涉及。
-
易学。文章的期待读者是系统管理员,因此不需要您有编程能力或者InterSystems编程语言的基础。我系统对您的每个日常工作和关注的主题,给出最容易实现的操作步骤。
-
对读者的要求低,您只需要了解基本的Caché操作,包括
- Caché的用户维护界面
- 操作终端(Terminal)的操作
- 基本的Caché命令的格式
让我们进入主题。有几个要点要先交代一下。
InterSystems产品的几个使用的场景
也就是谁在用什么产品
-
场景一:东华的iMedical用户
iMedical 8.5之前的版本使用Caché。 2022年版本8.5发布并开始部署,它的底层是InterSystems IRIS。
-
场景二:独立的InterSystems IRIS实例或者InterSystems HealthShare
InterSystems HealthShare是在IRIS平台上面构建的数据共享平台,用于多个医疗机构之间的数据共享,通常会由多个InterSystems IRIS实例组成。本文并不介绍HealthShare的具体技术,您如果是HealthShare的用户,可以通过本文了解单一的IRIS实例的监控。
-
场景三: 医院的集成平台Ensemble用户
从监控维护的角度讲,Ensemble和Health Connect对于医院用户其实是一个东西。Health Connect是最近一些年InterSystems公司对医疗行业使用的Ensemble的一个产品名称。在后面的文章里, 我会只用Ensemble这个名字。
什么是系统监控
简单说,监控工作基本就两块:
-
监控告警和日志
简单的说,当系统有需要管理员关注的事件发生时,管理员可以及时得到通知。关注的事件通常包括底层的告警,比如CPU占用或者数据库组件出错,或者上层应用的事件,比如一个消息队列太长了。
-
指标的测量
如果要监控的系统本身有完美的日志和告警通知,那么指标的检测就不那么重要。但实际场景中,用户不仅要检测客户化的上层应用指标,也希望看到底层的指标值,哪怕仅仅是为了展示。 这时候,就需要一个好的指标测量的方案。这里“好的方案”的意思是稳定,易于维护,容易客户定制化的修改。
本文章的组织和您可能感兴趣的内容
如果您是新手,请让我先来强调一下IRIS, Caché和Ensemble的区别
- IRIS, Cache'是开发平台,而不仅仅是数据库。
举例来说,iMedical的生产环境有很多“应用服务器”,它们是一个个单独部署的Caché实例。它们并不存数据,而仅仅是应用。因此对Caché应用服务器的监控肯定是和数据服务器是不一样的。
-
Ensemble是一个应用
Ensemble是在Caché平台上的开发出的消息引擎框架(framework)。它内置了很多用于消息分发传递的组件,用于搭建一个消息引擎。如果只用内置的组件,那么Ensemble几乎可以被看成一个应用。但现实实施中,程序员会使用已有的组件,适配器等开发定制化的组件,这时候Ensemble就是一个开发框架。
无论如何,Ensemble是工作在Cache'或者IRIS之上的,所以Ensemble的维护人员一定要先学维护Cache'或者IRIS。
综上所述, InterSystems产品的监控包括
-
IRIS或者Caché的监控(适用于上面所有3个场景的维护人员),包括的内容
-
[指标(metrics)的监控]
-
数据库性能的监控(适用于场景一,场景二的维护人员)
- SQL性能的监控
- 索引的使用情况的监控
-
Ensemble的监控(适用于上面场景三的维护人员), 包括
-
Ensemble的日志和错误]()
-
Ensemble的消息统计
-
除了最基本的监控有关的工作,文章内容里还会包括最基本的和系统健康检查,提交测试报告的内容。也会介绍一些工具,比如SNMP, InterSystems SAM等等。我在工作中了解的一些用户的好的方案,实现等等, 也会和各位分享。
请看下一篇