4.0平台遇到的坑

-----------------------------------------------------------------------------------------------------

 

============================================================================================================================

-----------------------------------------------------------------------------------------------------

 EMPI的配置:

 

 自动合并

AutomaticUnion.html

 

 

============================================================================================================================

 姓名
NAME
身份证
IDNO

 

 

-----------------------------------------------------------------------------------------------------

 单点登录配置地址:是index.html不是login.html

 

 

 

============================================================================================================================

-----------------------------------------------------------------------------------------------------

单点登录修改主界面的背景图:

 

1.修改D:\NHIP\atc7-portal-8084\webapps\Portal\resources\css\metro.css 的.tile-area-scheme-dark

.tile-area-scheme-dark {
	/* background-color: #1b6eae; */
 background-color: #1d1d1d;
 background-image:url(../../resources/img/index/background.png);
 background-size:100% 100%;
}

   

 2.将背景图片放置在D:\NHIP\atc7-portal-8084\webapps\Portal\resources\img\index\background.png

============================================================================================================================

-----------------------------------------------------------------------------------------------------

问题:单点登录启动时候报错

 

 

 问题处理过程:

1.怀疑是ojdbc jar包的问题,处理无果;

2.安装oracle客户端后,发现TNS连不上,后来才知道网安做了限制;联系网安去除了限制;

3.仍然出现上面报错,后排查发现jdbc.driver=oracle.jdbc.driver.OracleDriver 后面有空格!!!去除空格后启动无报错。

4.启动后hebinate 没有自动建表,排查发现 hibernate.hbm2ddl.auto=update 改成了  hibernate.hbm2ddl.auto=none,改回update后重启正常。

============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

问题:CDR服务换了地方部署,有些服务正常启动,有些服务启动报JDBC错误

 

 解决:redis问题,redis没有使用主数据的redis而是另部署了一个新的redis,被日志误导为jdbc报错,tomcat的localhost日志也要看。

 

 

============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

控制总线监控错误数量

 

 

============================================================================================================================

-----------------------------------------------------------------------------------------------------

 问题:服务器监控里CPU使用率显示不了

 

 解决:

1.agent需要把name放开并写上名称,应与服务器名称相同

 

2.grafana名称需要配置

 

 

 

 

 

============================================================================================================================

http://192.168.30.236:8181/CDA-Endpoint/ws/incrementCDA

 

 http://192.168.30.236:8181/CDA-Endpoint/ws/cdaRead

 

 

-----------------------------------------------------------------------------------------------------

 问题:交互服务在Linux系统中不稳定,导入历史数据的过程中可能导致内存增大直至引起Linux系统崩溃
 解决:在windows上稳定性要好于Linux

============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

问题:交互服务的日志在Enhance里有些显示有些不显示
原因及分析:
1.交互服务里有配置Enhance服务地址,在调用交互服务后,交互服务会调用Enhance服务写入日志;

2.之前服务是好的,后来重启过交互服务后。用SoupUI分别调用“电子病历文档检索”和“新增个人身份注册”服务,服务是可以成功调用,但是“新增个人身份注册”的日志后来就不显示了。

3.用端口抓包工具查看,交互服务确实调用了Enhance服务写入日志;

4.“新增个人身份注册”没有写入,实际上是因为交互服务写入的操作时间是业务发生的时间,所以不是实际操作时间,按实际操作时间来检索是检索不到的
 

 

  

问题解决:交互服务写入的操作时间是业务发生的时间 

============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

问题:IIB代理HIS-APPService突然报错:

 

 

原因及分析:HIS-APPService的targetNamespace更改了,原来是"http://neusoft.com"变更成为"http://tempuri.org"
 

 

 

  
解决:
与HIS开发沟通是否可以把targetNamespace改回来,如不行,则重新导入wsdl重新发布IIB流程。

============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

 CDA4.5注册结构化数据到生成CDA

 数据流向举例:EMR工具->CDA服务接口->Mongodb里的cdadata_#ip->CDA服务->MDM的CDA生成接口->Mongodb里的cda和cdaDocIndex

1.结构化数据通过mapping2cda去对应到MDM的CDA生成接口的数据,结构可能有问题对应不上,主要在后台上改;

 

 2.CDA配置的前台界面

 

 4.MDM的CDA生成接口

10.1.210.155:9093/Mdm/engine/webService/wsdl/CDA/C0006.wsdl

 

 

 

 

5.MDM里CDA模板配置的界面

 

 

============================================================================================================================

 

 

-----------------------------------------------------------------------------------------------------

BI增加分区参考SQL

 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202201'||' VALUES LESS THAN (TO_DATE(''2022-02-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202202'||' VALUES LESS THAN (TO_DATE(''2022-03-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202203'||' VALUES LESS THAN (TO_DATE(''2022-04-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202204'||' VALUES LESS THAN (TO_DATE(''2022-05-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202205'||' VALUES LESS THAN (TO_DATE(''2022-06-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202206'||' VALUES LESS THAN (TO_DATE(''2022-07-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202207'||' VALUES LESS THAN (TO_DATE(''2022-08-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202208'||' VALUES LESS THAN (TO_DATE(''2022-09-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202209'||' VALUES LESS THAN (TO_DATE(''2022-10-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202210'||' VALUES LESS THAN (TO_DATE(''2022-11-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202211'||' VALUES LESS THAN (TO_DATE(''2022-12-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'
 UNION ALL
 SELECT   'ALTER TABLE '||a.table_name||' ADD PARTITION PART_'||'202212'||' VALUES LESS THAN (TO_DATE(''2023-01-01 00:00:00'',''yyyy-mm-ddhh24:mi:ss''));'
 FROM DBA_PART_TABLES A where owner IN ('NEWODS') and table_name not like '%$%'

 

============================================================================================================================

 -----------------------------------------------------------------------------------------------------

jsonc转json: https://www.cnblogs.com/tomtellyou/p/12880898.html

json转class:  https://json2csharp.com/

============================================================================================================================

 -----------------------------------------------------------------------------------------------------

平台日常维护

A.cdr、BI增加表空间

--查询表空间占用情况
SELECT a.tablespace_name "表空间名",
round(a.bytes / 1024 / 1024 / 1024, 2) "当前总空间(G)",
round(d.max_tbspace/1024/1024/1024,2) "最大总空间(G)",
round(b.bytes / 1024 / 1024 / 1024, 2) "已使用空间(G)",
round((d.max_tbspace-b.bytes) / 1024 / 1024 / 1024, 2) "剩余空间(G)",
round((b.bytes * 100) / d.max_tbspace, 2) "使用率(%)"
FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c,
(select tablespace_name,sum(case when dd.AUTOEXTENSIBLE='YES' then MAXBYTES else dd.BYTES end) as max_tbspace from DBA_DATA_FILES dd
group by dd.tablespace_name) d
WHERE a.tablespace_name = b.tablespace_name
AND a.tablespace_name = c.tablespace_name
and a.tablespace_name=d.tablespace_name
order by a.tablespace_name;

--增加表空间,要修改表空间名称、表空间路径和文件名称
alter tablespace 表空间名称 add datafile  '表空间路径\表空间名称.dbf'  size 30G autoextend on next 30M;

 

============================================================================================================================

-----------------------------------------------------------------------------------------------------

 集成视图CDA展现不出来:

 

 

 

后台日志报错:

 

 

 查证原因:<?xml version="1.0" encoding="UTF-8"?>必须放在.xml文件的第一行最开头的位置!

 

 

 

============================================================================================================================

-----------------------------------------------------------------------------------------------------

cdr服务soupui调用慢:

createDiagnosis--消息发送失败

org.apache.kafka.common.errors.TimeoutException: Expiring 1 record(s) for createDiagnosis-0: 30034 ms has passed since batch creation plus linger time
createChargeitem--消息发送成功
failureMsg--消息发送失败

**kafka服务挂了,重启解决。(此问题后来发现是log的存储目录建在了tmp下,导致tmp空间占满,因而服务挂了)

查看kafka状态:jps

看有没有Kafka进程

 

 

重启:

cd /usr/local/kafka/kafka_2.11-1.1.0/bin
./kafka-server-start.sh -daemon ../config/server.properties &

 

log.dirs(log的存储目录) (/home/kafka-logs)

注意:不要文件夹不要建立在根目录tmp

 

 

 

 ============================================================================================================================

-----------------------------------------------------------------------------------------------------

tomcat限制内存

CATALINA_OPTS="-Dfile.encoding=UTF-8 -Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=128m -Xss256k"

应该加到catalina.sh最上方才有用,放在最下面没有用。

这样启动显示才有效

 

 ============================================================================================================================

 -----------------------------------------------------------------------------------------------------

CDR值域校验

a.主数据里要加一个001的系统域

 

 b.需要将字典添加到系统域和缓存

 

 

c.提示valueCode不在值域范围内也有可能是名称错了

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

CDR4.0调用EMPI报错:先解决CDR里的报错

 ============================================================================================================================

 

 

-----------------------------------------------------------------------------------------------------

调用toolkit报错:必须先将 ContentLength 字节写入请求流,然后再调用 [Begin]GetResponse。

有一些字段不能为汉字

 

 

 

 ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

调用患者建档toolkit报错:Exception of type 'Neu.Nhip.Common.exp.RTBusinessException' was thrown.

 EMPI报错,原因是数据库重启以后,EMPI服务需要重启。

 

 ============================================================================================================================

 

 
-----------------------------------------------------------------------------------------------------
SOUPUI调用CDR报错: Endpoint前加http://

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

集成视图前端无法访问,manager日志如下:

 

 **跨域访问问题,web.xml里找到下面位置,修改成如图即可。

 

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

BI单点登录报错

 

 修改spring-security-cas.xml

 

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

CDR没有日志看log4j2.xml配置的LOG_HOME

 

 ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

toolkit调用慢的处理

 a.总线上需要设置附加实例数

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

empi的表空间很多在system上,需要调整到NHIP_EMPI

SELECT 'alter table '||TABLE_NAME||' move tablespace NHIP_EMPI;' FROM USER_TABLES WHERE TABLESPACE_NAME != 'NHIP_EMPI'

调整表空间后有些索引会失效,执行以下语句重建索引
SELECT 'ALTER INDEX '|| INDEX_NAME|| ' REBUILD;'  FROM ALL_INDEXES where STATUS ='UNUSABLE' 

 ============================================================================================================================

 -----------------------------------------------------------------------------------------------------

CDA-Viewer里cdaDocId是文档序列号

 

 

http://192.0.2.76:9010/Cda-Viewer/CdaDocViewController/cdaDocView?cdaDocId=ed1b31c0-d962-4b9f-bffc-6dbb4101370a&cdaDocTypeCode=C0004

  ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

外部程序调用MQ获得不了数据

第一种方法:

ALTER CHL(SYSTEM.BKR.CONFIG) CHLTYPE(SVRCONN)

ALTER CHL(SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN)

ALTER CHL(SYSTEM.ADMIN.SSL.CHL) CHLTYPE(SVRCONN) SSLCAUTH(REQUIRED) SSLCIPH(NULL_SHA)

第二种方法:

当C# 或 java 连接 IBM MQ 是出现 2035 或 2013的错误时

java的错误提示:

com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器“QM1”提供的安全性认证无效,连接方式为“Client”,主机名为“9.186.105.212(1414)”。 请检查提供的用户名和密码在您连接至的队列管理器中是否正确。

at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:540)

at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:236)

at com.ibm.msg.client.wmq.internal.WMQConnection.<init>(WMQConnection.java:440)

at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createV7ProviderConnection(WMQConnectionFactory.java:7062)

at com.ibm.msg.client.wmq.factories.WMQConnectionFactory.createProviderConnection(WMQConnectionFactory.java:6453)

at com.ibm.msg.client.jms.admin.JmsConnectionFactoryImpl.createConnection(JmsConnectionFactoryImpl.java:295)

at com.ibm.mq.jms.MQConnectionFactory.createCommonConnection(MQConnectionFactory.java:6230)

at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:114)

at com.jn.test.MQPublisher.main(MQPublisher.java:39)

Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ 调用失败,完成代码为“2”(“MQCC_FAILED”),原因为“2035”(“MQRC_NOT_AUTHORIZED”)。

at com.ibm.msg.client.wmq.common.internal.Reason.createException(Reason.java:223)

... 7 more

解决方法:

登录服务器 进入 IBM mq 所在目录 (linux一般在/opt/mqm下),再进入bin目录 切换到mqm用户(su mqm),输入runmqsc QM1  (QM1 是你的队列管理器的名字),进入命令模式,输入    ALTER CHL(SYSTEM.DEF.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm')

SYSTEM.DEF.SVRCONN  是通道的名字

SVRCONN 是通道的类型

mqm 是mq的用户

一般linux安装完mq后 都会自动出现mqm用户。

 

解决mq 2035-MQRC_NOT_AUTHORIZED的错误【权限错误】

RUNMQSC 队列管理器名称
ALTER QMGR CHLAUTH(DISABLED)
如果以上命令执行结束以后还是2035的错误则进行如下操作:

之前在MQ8.0上使用以上命令可以正常关掉通道权限,但是最近在玩IBM MQ V9.0并不能起作用。

以下处理也适用于MQ7.5+

需要执行

#修改连接认证策略
ALTER AUTHINFO(SYSTEM.DEFAULT.AUTHINFO.IDPWOS) AUTHTYPE(IDPWOS) CHCKCLNT(OPTIONAL)
 
#或者关闭连接认证
ALTER QMGR CONNAUTH(' ')   
 
#最后刷新连接认证策略
REFRESH SECURITY TYPE(CONNAUTH)

  ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

单点登录的图标上传不成功,直接将png文件拷到/home/nhip/app/atc9-8084-PORTAL/webapps/Portal/upload

在线转换工具:https://www.aconvert.com/cn/image/ico-to-png/

  ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

saca datainsight 监听启动失败,配置正确,无日志报错,可以试试重新做授权

  • 使用root用户修改dataInsight权限
chown datainsight:datainsight -R /opt/dataInsight
chmod 755 -R /opt/dataInsight

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

kibana无日志,查看es服务器发现无磁盘空间

kibana-系统管理-索引管理-按日期检索-删除

系统管理-索引模式-刷新

 

 

如上一步骤报错,则在xshell里执行以下命令:

curl -XPUT -H "Content-Type: application/json" http://192.0.2.200:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

 

执行完成后再刷新,应该就可以了。

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

saca-datainsight内存溢出导致以下文件产生大文件,造成saca服务报错;

手工删除这些文件。

/opt/dataInsight/lib/WEB-INF/logstash/ls/jdbc-drivers

 

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

修改系统名称(找到文件打开修改后直接刷新页面,无需重启)

主数据管理系统:/Mdm/WEB-INF/jsp/includes/top.jsp    将Data Governance System 改为  **医院主数据管理系统

 

 

患者主索引管理系统:Empi/WEB-INF/jsp/security/index.jsp 将 患者主索引管理系统v2.1 改为  **医院患者主索引管理系统

 

 

总线监控:NHIP-ESB/WEB-INF/jsp/security/index.jsp 

单点登录:Portal/WEB-INF/view/jsp/person/client.jsp

 

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

CDA 报错:Unable to find resource ...

 

问题分析:

主数据的config.properties 的 template_path配置有误,需要以“/”结尾

 

 

非"/"结束会在TemplateCDATemplate里发布模板,但无法使用。

需要修改正确的路径,如果没有Template文件夹,需要创建文件夹。

以下为正确的路径下自动生成的文件夹:

 

 正常发布CDA模板生成的文件夹,需要在主数据系统里点击“一键加载”和“PushWS”才能生出C001文件夹

 

 

 ============================================================================================================================

 

 -----------------------------------------------------------------------------------------------------

CDA文档统计从application.yml配置。

 

 

 

 ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

CDR4.0注册报告打印接口报错,数据查询无误。

 

 ReportTypePaser增加报告类型,问题解决。

 

 

 ============================================================================================================================

 

-----------------------------------------------------------------------------------------------------

4.0平台无日志问题排查

 

 

 

IIB日志:

1.服务总线的监听没有开启

可能原因:a.IBM总线服务器或集成节点重新启动,需要打开统计信息和启动流监视

 

 用MQTT工具测试是否正常

 

 

saca问题(较多出现):

1.磁盘空间满了导致的saca服务问题

首先用df -h命令查看磁盘空间占用率,占用率达到90%-100%应考虑清理磁盘空间。

 

 磁盘空间占用较高可能原因及处理:

a.saca的log日志过大(40G+):用空日志文件替换;

 

 b.saca内存泄露导致一些过大的文件:找到文件删除后重启。

c.其他程序导致磁盘空间占用较高,如ES数据库和saca装在同一台机器上:释放磁盘空间

如下,可在saca的数据归档里进行定期的日志清除,释放空间。或者手工清除ES数据。

 

 

2. 监听任务配置错误问题或者监听不能启动

登录saca后,管理任务->监听->刷新,看服务状态是否正常运行

如停止状态,需要手工启动;

 

 启动失败的原因及处理:

a.监听配置错误:用MQTT工具测试地址和TOPIC,看配置的是否正确;

b.某些服务器重启的情况下,会导致saca部分临时文件无操作访问权限:需要授权

  • 使用root用户修改dataInsight权限
chown datainsight:datainsight -R /opt/dataInsight
chmod 755 -R /opt/dataInsight

elasticsearch数据库

1.ES数据库停了

访问9200,看ES是否可以访问,不能访问看服务状态,如果没有启动,则重启;

 

 总线监控

 1.消息流监听未开启

在重新发布IIB工程时,消息流监听是停用状态,需要手工监听启用。

 

 

 ============================================================================================================================

 

posted on 2021-04-01 15:21  巍巍之道  阅读(505)  评论(0编辑  收藏  举报

导航