文章 Yuxiang Niu · 十一月 12 阅读大约需 3 分钟 关于Cache中查看关键锁的几种方式 在日常Cache运维过程中可能会由于数据或者程序等原因造成锁的异常增长,导致数据库性能受到影响会出现程序报错或卡顿无法正常运行的问题。遇到此类问题需查看数据库当前锁列表情况,找到出现次数最多关键锁,根据关键锁对应的进程来判断处理。总结有以下三种方式查看关键锁。 #开发运维 #性能 #数据库 #Caché #Ensemble 10 2 0 69
文章 王喆 👀 · 九月 21 阅读大约需 12 分钟 IRIS自动安装集群--manifest(安装清单) 前言 生产环境下我们部署和使用IRiS引擎,往往采用其主备镜像模式,虽然此架构简单但是往往我们需要持续在电脑前点击或者操作1到2小时,如果中间有个环节出现了问题有时我们可能需要部署一天. 接下来我分享的是IRIS自带的一个功能帮助我们部署---manifest-安装清单。他的主要使用方式是提前通过配置约定好我们期望的安装设置,在安装的过程中由IRIS程序直接执行脚本,简化IRIS集群的部署,减少运维人员的操作步骤,让我们有更多的精力放在实际项目和业务上。 #开发运维 #系统管理 #Ensemble #InterSystems IRIS for Health 20 5 0 183
文章 Tete Zhang · 七月 4 阅读大约需 3 分钟 FAQ常见问题系列--InterSystems 产品的基础故障排除 本文讨论了在使用或维护InterSystems产品中遇到问题时,试图确定问题时可能用到的思路和工具。 一般故障排除 确定问题发生的地点和时间 问题是什么时候开始的?多久发生一次? 问题首先出现在哪里? 问题在什么条件下会被触发? 审查日志中的警告、错误和警报 以下日志可能包含有关该问题的有用信息。可以尝试在以下日志中寻找问题开始前后的警告或报错。 #开发运维 #监视 #系统管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 35
文章 Michael Lei · 十二月 7, 2022 阅读大约需 11 分钟 ECP 与 Docker 大家好! 这是关于使用 Docker 初始化 IRIS 实例的系列文章中的第三篇。 这次,我们将关注企业缓存协议(Enterprise Cache Protocol,ECP)。 ECP 允许以一种非常简单的方式将某些 IRIS 实例配置为应用程序服务器,将其他实例配置为数据服务器。 有关详细的技术信息,请参阅官方文档。 本文旨在介绍: 如何编写数据服务器的初始化脚本,以及如何编写一个或多个应用程序服务器的初始化脚本。 如何使用 Docker 在这些节点之间建立加密连接。 为此,我们通常使用我们在以前的 Web 网关中已经看到的一些工具,以及描述 OpenSSL、envsubst 和 Config-API 等工具的镜像文章。 要求 ECP 不适用于 IRIS 社区版。 因此,需要访问全球响应中心才能下载容器许可证并连接到 containers.intersystems.com 注册表。 准备系统 系统必须与容器共享一些本地文件。 需要创建特定用户和组来避免出现“访问被拒绝”错误。 #开发运维 #部署 #InterSystems IRIS 0 0 0 116
文章 Tete Zhang · 十月 26, 2022 阅读大约需 3 分钟 运行池大小配置的解读 “池大小”(PoolSize)设置的值决定了一个组件的作业的量和启动方式。在这篇文章中我们将具体讨论对于不同类型的组件来说“池大小”设置的可能值和这些值所代表的含义。 Pool Size = 1 对于所有的组件来说,运行池大小为1的含义都是一样的: 该组件有且只有一个作业,单独运行该组件的代码,顺序处理发送到该组件的消息(FIFO)。 Pool Size > 1 对于业务进程(BP)和业务操作(BO)来说,当运行池大小大于1时,该组件将运行多个作业(作业数=运行池大小设置数)。每个作业都只运行该组件的代码,但消息处理的顺序将被打乱。将运行池的大小设为大于1的值可以在一定程度上提升组件处理消息的性能,但是每个作业的性能还是受限于系统资源的,所以并不是说组件的性能可以随着运行池的大小增加而无限提升。 对于轮询类业务服务(Polling BS)来说,当运行池大小大于1时,该服务也将运行多个作业(作业数=运行池大小设置数)。但这种配置会导致多个进程对轮询结果产生竞争(race condition),所以一般情况下轮询服务不应将运行池大小设为大于1的数值。 #FTP #REST API #SOAP #开发运维 #调试 #Ensemble #InterSystems IRIS for Health 1 1 0 104
文章 Tete Zhang · 十月 26, 2022 阅读大约需 2 分钟 如何导出导入集成平台组件和production? 上线一个新的集成平台production或者组件是需要很多精力的,用户常常需要对每一个组件所满足的需求和所能提供的功能,使用到的协议,以及组件对系统资源的调用有深入细致的了解。在配置好一个production之后,您可能需要将这个production推送到测试或者正式环境,或者需要将一个写好的组件代码应用到不同的项目上。这些时候,production的导出功能可以方便您传输production或组件的配置和代码。 导出 需要导出production时,您可以移步到管理门户 - Interoperability - 相应的命名空间 - 列表 - Production 页面,选择您需要导出的production,再点击页面上的导出键进行导出。如下图1所示: 在弹出的对话框中,您可以选择在导出文件中您想包括的内容。如下图2所示: #开发运维 #数据导入和导出 #系统管理 #部署 #Ensemble #InterSystems IRIS for Health 0 0 0 83
文章 Yuxiang Niu · 十月 22, 2022 阅读大约需 4 分钟 Cache中不同类型锁的理解与分析 Cache锁的异常直接影响数据库进程运行,堆积的锁如果处理不及时会造成Cache性能异常,导致数据库访问受限或严重卡顿。本文主要以实例分析介绍Cache中常见锁的作用及其对应的处理方式,包括:系统锁、数据锁、Session锁、仪器锁、程序文件锁。其中数据锁异常需要及时处理。 #CSP #开发运维 #数据库 #数据库事务处理 #系统警报和监视(SAM) #Ensemble 8 0 0 160
文章 Guangliang Zhang · 十月 21, 2022 阅读大约需 6 分钟 基于cconsole.log的cache数据库的实时监控 cache数据库自身带有系统监控Portal界面,但需要运维人员定期主动查看才能获取监控信息。当系统故障发生时,容易出现由于没有及时获取故障信息而不能及时处理,从而导致造成的影响扩大。 #开发运维 #日志 #监视 #系统警报和监视(SAM) #Caché 15 3 1 249
文章 Qiao Peng · 十月 20, 2022 阅读大约需 5 分钟 在集成产品中压缩解压文件 在InterSystems IRIS医疗版里有一个文件压缩解压的适配器HS.Util.Zip.Adapter和对应的文件压缩解压业务操作HS.Util.Zip.Operations。集成产品可以使用它们进行文件的压缩和解压操作。这2个类的联机文档说明较少,这里介绍它们的使用方法。 1. 基础配置 InterSystems IRIS使用操作系统的压缩和解压缩能力,因此需要注册操作系统执行压缩解压的命令。 在管理门户的Health标签页下,选中配置注册(Configuration Registry): 在其中增加2个注册项目: \ZipUtility\UnZipCommand 和\ZipUtility\ZipCommand,分别代表解压和压缩命令。适配器HS.Util.Zip.Adapter会检查这2个注册项并得到相应的命令。各个操作系统的命令并不一样,示例如下: #开发运维 #提示和技巧 #InterSystems IRIS #InterSystems IRIS for Health 3 0 1 45
文章 Nicky Zhu · 十月 10, 2022 阅读大约需 4 分钟 IRIS镜像状态监控 在生产环境中IRIS通常以故障转移集群的形态被部署,而集群中各故障转移成员的镜像状态将决定该集群在故障发生时是否能够顺利切换保障业务不中断。因此,成员状态通常也是运维团队需要巡检或监控的目标。 尽管IRIS内部API提供了丰富的集群配置、成员状态监控等一系列接口,但除Portal上的镜像监视器外,并没有特定的接口便于从外部系统访问(如进行企业级监控集成时),也没有整合好的监控接口可用与获取镜像的健康状态。但在IRIS上开发一个REST接口暴露镜像状态数据并不困难,如下所示: #Code Snippet #REST API #开发运维 #镜像 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #文档 2 0 0 93
文章 Qiao Peng · 十月 6, 2022 阅读大约需 10 分钟 集成产品的业务行为监控 最近一些用户问到监控集成平台业务行为查询的问题,例如如何查询服务的平均耗时、发生错误的服务数量... 业务行为监控对于集成平台来说非常重要,可以帮助我们: 监控系统健康情况 — 查看系统性能表现。例如发现队列积压和长耗时的消息处理,都可能是性能问题的表现。 排查异常 — 通过查看业务行为数据,帮助我们判断特定的业务组件配置是否是造成性能瓶颈的主要原因。 做业务规划 — 通过业务行为数据,了解各个业务量变化情况,并辅助我们做业务规划。 做硬件规划 — 通过长期跟踪消息吞吐量的变化了解性能的变化和业务量的增长,进而辅助我们做硬件计划,避免出现在性能问题。 仅提供这些查询是很容易的,但要更好地监控集成平台的业务行为,需要更深入的了解InterSystems集成架构。 #开发运维 #Ensemble #HealthShare #InterSystems IRIS for Health 1 0 1 153
文章 Tete Zhang · 九月 14, 2022 阅读大约需 5 分钟 集成平台消息相关的常见存储问题 从消息查看器看到清除周期以外的消息没有被正常清除 这种情况先抽查这些消息所处的会话中是否有未完成操作周期的消息(状态为除“Completed”“Error”“Discarded”之外的状态)。如有,且定期清除任务配置了“KeepIntegrity”,且该环境并不需要保留这些消息,可通过关闭清除任务中的“KeepIntegrity”配置清除这些会话和包含的消息。如果有这类消息,但是定期清除任务未配置“KeepIntegrity”,可能是定期清除任务的逻辑或消息数据问题导致清楚任务查找的时候没有覆盖这些消息,请联系WRC帮助排查具体原因。 有关定期清除任务的更多信息请参见文档 Purging Production Data | Managing Productions | InterSystems IRIS for Health 2022.1 #HL7 #开发者社区常见问题 #开发运维 #测试 #系统管理 #Ensemble #InterSystems IRIS for Health 2 0 0 59
文章 Qiao Peng · 五月 25, 2022 阅读大约需 1 分钟 如何通过Journal日志文件查询谁对特定数据做了什么操作 %SYS.Journal.Record 类有一个查询(query), List, 可以列出Journal文件中记录的数据修改历史。例如,要查询谁对global节点^QP(1,2)做过修改,可以使用如下代码。它查询Journal文件(输入参数pFilePath)中的global节点(输入参数pSearchGlobal)的操作: #Code Snippet #开发运维 #提示和技巧 #系统管理 #Caché #InterSystems IRIS #InterSystems IRIS for Health 2 0 2 210
文章 Michael Lei · 五月 3, 2022 阅读大约需 6 分钟 Amazon EKS, IRIS 高可用与备份 所有源代码均在: https://github.com/antonum/ha-iris-k8s #AWS #云 #备份 #容器化 #开发运维 #部署 #高可用性 #InterSystems IRIS #InterSystems IRIS for Health #Open Exchange Open Exchange app 0 0 0 268
文章 Michael Lei · 四月 24, 2022 阅读大约需 7 分钟 基于Docker的Apache Web Gateway 基于Docker的Apache Web Gateway Hi 社区 在本文中,我们将基于Docker程序化地配置一个Apache Web Gateway,使用。: HTTPS protocol. TLS\SSL to secure the communication between the Web Gateway and the IRIS instance. 我们将使用两个镜像:一个用于Web网关,第二个用于IRIS实例。 所有必需的文件都在这 GitHub repository. 我们从git clone开始: #Web网关 #开发运维 #InterSystems IRIS 1 0 0 139
文章 Michael Lei · 四月 17, 2022 阅读大约需 3 分钟 在IRIS容器里添加VSCode 在IRIS容器里添加VSCode 设置可重复的开发环境的最简单的方法之一是使用容器。我发现在快速迭代时,在我的开发环境容器里托管一个vscode实例是非常方便的。因此,我创建了一个快速的容器脚本,将一个基于浏览器的vscode添加到IRIS容器中。这应该适用于大多数2021.1以上的容器。我的代码库可以在这里找到 带VSCode 且预连接好的InterSystems IRIS 容器 #开发环境 #开发运维 #InterSystems IRIS #VSCode 0 0 0 220
文章 Frank Ma · 三月 2, 2022 阅读大约需 12 分钟 如何以自动化方式/编程方式创建一个镜像环境 各位好, 你曾建立过一个镜像环境吗?它是否有一个私有网络、虚拟IP地址和SSL配置? 在做了几次之后,我意识到这是一个漫长的过程,而且需要很多手动操作来生成证书和配置每个IRIS实例。 对于经常要做这件事的人来说,这是一个痛苦的过程。 例如,质量保证团队可能需要为每个新的应用程序版本创建一个新的镜像环境来测试。支持团队可能需要创建一个镜像环境来重现一个复杂的问题。 我们肯定需要工具来快速创建这些镜像环境。 在这篇文章中,我们将用如下环境创建一个镜像样例: 仲裁机 主服务器 故障切换备份成员 读写报告异步成员 节点间日志转移的SSL配置 镜像环境中的私有网络 虚拟IP地址 镜像数据库 #开发运维 #镜像 #InterSystems IRIS Open Exchange app 0 0 0 257
文章 Heng Zhang · 十月 7, 2021 阅读大约需 1 分钟 FAQ常见问题系列--关于备份删除问题 生产环境中会定时生成备份(全备,增备),因为服务器空间有限,所以需要定时删除。 请问:IRIS2021 是否有工具或者代码可以实现定时删除3周前备份文件的功能。如果是代码实现,思路是什么,能否给个Demo。 #备份 #开发运维 #部署 #InterSystems IRIS 0 1 0 222
文章 Heng Zhang · 九月 11, 2021 阅读大约需 1 分钟 定时删除journal文件方法 背景:在实际场景中,处理历史数据问题会出现数据暴增的情况,在此情景下journal文件会暴增从而出现磁盘被沾满的风险,因此需要对journal进行删除。 步骤: 1.点击【系统操作】->【任务管理器】->【新任务】创建定时任务。 2.按下图输入参数 重要参数: 任务运行所在的 命名空间:%SYS 任务类型:运行传统任务 执行代码:do ##Class(%SYS.Journal.File).PurgeAll() 点击【下一步】设定时间 按业务需要设定 4.点击【完成】 备注:此任务在数据暴增情况结束后应挂起。 #安全 #开发者社区常见问题 #开发运维 #InterSystems IRIS 2 0 0 162
问题 chen minjun · 七月 21, 2021 我想做Caché的全量和增量备份,查阅Caché 的官方资料推荐用VSS,遇到以下问题。 问题: 1、EnableVSSBackup这个参数在哪里设置? 2、Cache是否有自己的writer,如果有,怎样查到,叫什么名? 3、实现Cache的全量增量备份,使用VSS是否是最佳实践? 4、是否有Cache全量增量备份的实践案例,以供参考? ———————————————————————————————————————————————————————————————————————————————— 我参考这篇官方文档,在启动应用时EnableVSSBackup会默认设置为1,但是我在配置或者应用界面中并没有看到这参数。 #开发运维 #Caché 0 1 0 87
文章 Michael Lei · 八月 26, 2021 阅读大约需 9 分钟 SAM - 设置和添加非 IRIS 目标指标的技巧和提示 SAM - 设置和添加非 IRIS 目标指标的技巧和提示 SAM(系统警报和监视)以“功能齐全”的 docker-compose 容器集的形式提供,只要启动就可以开始以默认的仪表板监视 IRIS 实例。 使用初始配置就可以很好地了解 SAM 功能并开始对 IRIS 系统进行基本监视。 但是,当开始监视多个系统并收集大量指标数据时,需要更改一些默认设置。 为了从 SAM 获取更多价值,您还会想要添加来自其他数据源(目标)的指标。 以下技巧将帮助您在生产环境中部署 SAM,从多个目标收集指标并将这些指标组合到您自己的仪表板和图表中。 此外,您还将看到一些可能有助于探索 SAM 容器和应用程序的命令。 注意:我应该指出,其中一些技巧和提示可能不是最佳做法;这更像是一个日志,记录了我第一次如何配置 SAM 来监视相同系统上的多个服务器和非 IRIS 目标的基准。 如果您有建议,请在评论中指教 ;) 所以,记住本帖可能会随着时间的推移而有所变化,让我们开始吧; 在下面的技巧中,有重启 docker 以及启动和停止 SAM 的操作。 请通读这些技巧,确定哪些适合您,然后按照下面的相同顺序执行。 #开发运维 #性能 #文档 0 0 0 120
文章 Michael Lei · 七月 6, 2021 阅读大约需 2 分钟 使用 Yape 解包 pButtons - 更新说明和快速指南 如果一张图片胜过千言万语,那么一段视频又价值几何? 当然胜过敲一个帖子。 请在 InterSystems Developers YouTube 观看我的“Coding talks”: 1. 使用 Yape 分析 InterSystems IRIS 系统性能。 第 1 部分:安装 Yape 在容器中运行 Yape。 2. Yape 容器 SQLite iostat InterSystems 提取和绘制 pButtons 数据,包括时间范围和 iostat。 #开源 #Python #开发运维 #性能 #系统管理 #Caché #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 100
问题 fajie xie · 四月 23, 2021 系统日志错误代码 服务器操作系统频繁产生错误日志“生成了一个严重警告并将其发送到远程终结点。这会导致连接终止。TLS 协议所定义的严重错误代码是 10。Windows SChannel 错误状态是 10。” 想请问一下,这个错误信息是我们产品导致产生的问题吗? #开发运维 #Ensemble 0 1 0 114
问题 Michael Lei · 四月 21, 2021 来自英文社区的问题:跟踪DAT /数据库随时间的变化,类似于SQL ChangeLog 你好, 我们需要跟踪数据库随时间的变化-如果可能的话,跟踪到SQL粒度级别。例如:用户xyz运行例程^ abc,我们得到类似于更改日志的信息,该日志告诉我们:表A的值已更新,插入,更新等。 是否可以使用IRIS级别的工具(审计日志,Journal文件等),将日志的全局集和终止数转换为SQL级别更改? 我还找到了一个名为Liquibase的第三方基于Java的工具,但它似乎更适合于跟踪基于架构和表的更改或预定义的定义。 谢谢, 詹姆士 Tracking DAT / Database Changes Over Time, Similar to SQL ChangeLog Hello, #Red Hat Enterprise Linux (RHEL) #SQL #开发运维 #数据库 #Caché #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 68
问题 Botai Zhang · 四月 13, 2021 编码格式转换 在使用过程中,碰到对接一些国内编码例如:GBK2312等系列的编码格式,碰到这类情况,应该如何处理?各位有没有好的解决方式?期待解答交流! #开发运维 #Ensemble #InterSystems IRIS for Health 0 3 0 123
文章 Claire Zheng · 一月 20, 2021 阅读大约需 5 分钟 使用内置的REST API监控InterSystems IRIS 我们不必等待SAM发布才开始规划和试用该API来监控IRIS实例。在以后的文章中,我将更深入地探讨可用的指标及其意义,并提供一些交互式仪表板的示例。首先,我将介绍一下相关背景和一些问题及答案。 IRIS(和Caché)一直在收集自身及其运行平台的数十个指标。收集这些指标来监控Caché和IRIS的方法向来有很多。我发现,很少有安装软件使用IRIS和Caché的内置解决方案。譬如,History Monitor作为性能和系统使用指标的历史数据库,已经推出很长时间了,但它没有简便方法可实时显示这些指标和仪表系统。 IRIS平台解决方案(以及整个业界)正在从仅在一些本地实例上运行的单体式应用程序过渡到“随处”部署的分布式解决方案。在许多用例中,原有的IRIS监控方案并不适用于这些新的模式。InterSystems没有做重复工作,而是将目光投向当前流行的、经过验证的监控和告警开源解决方案。 #API #InterSystems 业务解决方案和架构 #监视 #开源 #仪表板 #开发运维 #最佳实践 #系统管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 120
文章 Qiao Peng · 一月 8, 2021 阅读大约需 9 分钟 InterSystems IRIS 和 Caché 中的多模型数据并行处理 众所周知,InterSystems IRIS 提供了很多的工具来提升应用系统可伸缩性。尤其在提升数据并行处理能力方面,InterSystems 做了很多努力,例如在 SQL 查询中使用并行处理,以及在 IRIS中引入最具吸引力的特征:分片(sharding)。然而,许多成熟的开发成果最初是在 Caché中完成的,而且已经迁移到 IRIS 中。这些成熟的开发成果大都使用 DBMS(数据库管理系统)的多模型功能,实现在单独的数据库中共存不同的数据模型。例如, HIS qMS 数据库同时包含语义关系(电子病历)、传统关系(与 PACS 的交互)和层次数据模型(实验室数据以及与其他系统的集成)。这些数据模型大多是通过 SP.ARM 的 qWORD 工具(一种直接访问 Global的小型数据库管理系统)实现的。遗憾的是,由于查询未使用 IRIS SQL,无法利用并行查询处理的新功能进行扩展。 而且,随着数据库规模的不断增长,大型关系型数据库所固有的大多数问题开始出现在非关系型数据库中。这就是我们关注可用于扩展的并行数据处理技术的一个主要原因。 在本文中,我将围绕多年来在解决任务时用到的并行数据处理展开多方位讨论,而这些是我在大数据问题探讨中很少提到的。我将重点讨论数据库的技术改造,或者更确切地说,是数据库转换技术。 #大数据 #开发运维 #Caché #InterSystems IRIS 0 0 0 237
文章 jieliang liu · 一月 7, 2021 阅读大约需 20 分钟 使用 GitHub Actions 在 EKS 上部署 InterSystems IRIS 解决方案 假设你想了解 InterSystems 在数据分析方面能提供什么。 你研究了理论,现在想要进行一些实践。 幸运的是,InterSystems 提供了一个项目:Samples BI,其中包含了一些很好的示例。 从 README 文件开始,跳过任何与 Docker 相关的内容,直接进行分步安装。 启动虚拟实例 安装 IRIS,按照说明安装 Samples BI,然后用漂亮的图表和表格让老板眼前一亮。 到目前为止还不错。 但是不可避免地,你需要进行更改。 #AWS #Docker #Kubernetes #云 #容器化 #开发运维 #InterSystems IRIS #Open Exchange Open Exchange app 0 0 0 292
文章 jieliang liu · 一月 7, 2021 阅读大约需 5 分钟 InterSystems 容器注册表介绍 我非常高兴地宣布,InterSystems 容器注册表现在可以使用了。 这为客户访问基于容器的版本及预览提供了新的渠道。 所有的社区版镜像都可在公共存储库中找到,且无需登录。 所有完整发布的镜像(IRIS、IRIS for Health、Health Connect、System Alerting and Monitoring、InterSystems Cloud Manager)和实用程序镜像(例如,仲裁器、Web 网关和 PasswordHash)都需要登录令牌,该令牌从 WRC 帐户生成。 #Docker #Kubernetes #容器化 #开发运维 #持续交付 #持续集成 #版本 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 81