东软平台集成版遇到的坑

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

 查看集成节点上集成服务器对应的端口号,如果port='0',需要删除集成节点后重新创建。
./iib mqsireportproperties IBNODE01_ROC -e EG2 -o HTTPConnector -a

 

 

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

 部分IIB接口测试需要在soupui里加入header,否则无调用结果,原因是部分测评的交互有特定的返回结果。

 

 

 

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

HIS预集成接口相关配置说明:

1.IIB调用地址配置在HIS程序根目录下NhipProxy.cfg.xml

<?xml version="1.0" encoding="utf-8" ?>
<root>
  <!-- 交互服务 IBM 总线配置信息 -->
  <item key="SerAddress" value="http://172.29.241.8:7800" />
  <!--<item key="SerAddress" value="http://172.29.241.8:7801" />-->
  <item key="HttpHeader" value="domain:HIS;key:aaa-bbb-ccc" />
  <item key="Sender" value="HIS TEST" />
  <item key="Recipient" value="Recipient1" />

  <!-- CDA服务配置信息 -->
  <item key="CdaAddress" value="http://10.101.18.154:7800/CDA-Endpoint/ws/HL7MessageServer" />
  <!--<item key="CdaAddress" value="http://10.101.18.245:8081/CDA-Endpoint/ws/HL7MessageServer" />-->
  <item key="CdaHttpHeader" value="" />
</root>

 

2.接口开关 

select * from dawn_ctrlparam_info t where t.bl_type = 'IIB'

 

 

4.HIS里调用EMPI的配置文件需要修改

 

 4.HIS里测试的日志在IIB.log

 

5.测试过程总结

a.按预集成服务列表走一遍测试用例

b.按预集成服务列表和HIS的门诊住院流程在HIS里走一遍

c.对每个接口的调用情况进行检查、记录

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

IIB-MQ服务器连接数设置
* soft nofile 409600
* hard nofile 409600
* soft nproc 655350
* hard nproc 655350

 

 

 

 

 

查看全局的 pid_max 方法

cat /proc/sys/kernel/pid_max

在 /etc/sysctl.conf 中添加 kernel.pid_max = 65535

# vim /etc/sysctl.conf

kernel.pid_max = 65535

或者

echo "kernel.pid_max = 65535" >> /etc/sysctl.conf

 

修改生效 

 sysctl -p 

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

mq错误日志:
/var/mqm/errors
/var/mqm/qmgrs/MqManager01/errors
IIB日志:
/var/log/user.log

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

通道相关:

HIS经常报IIB消息发送错误,很可能是MQ通道最大实例数不够。

 

 

1.通道应该一个厂商建一个;

2.通道的最大实例数默认是999999999,修改此配置应该是不需重启就生效,需要谨慎。

 

 

 最大实例数改小,比如改成200,会有些队列启动报异常2059:

 

 

 

 应该将最大实例数恢复默认的999999999,而不能随便改变,比如说改成50000,改了有些队列会访问不了造成IIB注册失败,MQ日志会报错。

 

 

 

 

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

 集成版开关:

HIS里接口开关:select t.*,rowid from dawn_ctrlparam_info t where t.bl_type = 'IIB' AND t.par_name like '%患者%';

HIS里配置总线地址等:NhipProxy.cfg.xml

HIS里调用的日志:IIB.log 

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

同一服务地址多个服务方法名解决办法:

head里加methodname

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

MQ队列在总线监控程序里创建以后需检查如下配置:

正确:

错误:

队列创建的问题可能导致在压力测试下,/var/mqm/log/MqManager01/active出现大量的日志文件,可能占满空间;正常情况下14个log文件循环写入。

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

以下EMPI的工作流需配置好,否则可能出现影响总线上其他服务的调用速度。

该消息流未配置好,可能造成HIS的短时间内大量错误的调用,原因不明:

配置好工作流可以如下方式测试:

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

集成版平台IBM总线部署操作顺序:

1.部署MQ

2.部署IIB,创建IIB集成节点

3.在总线监控程序中队列管理里创建队列并绑定集成节点

4.创建MQ集群

5.按需启用队列订阅

6.初始化固定队列

7.按需设置附加实例数,需要注意设置过程中IIB占用内存会有明显上升,设置完成后应重启集成节点

8.按手册优化IIB和MQ

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

问题:日志监控中有些项没有数据

 

 排查:

1.因为更新了mqmonitor以后,产生的日志有差异

 

 

 2.logstash日志有报错

[2022-04-15T18:28:06,717][WARN ][logstash.outputs.elasticsearch] Could not index event to Elasticsearch. {:status=>400, :action=>["update", {:_id=>"4dd6062e-b185-11ec-85b0-ac1df10e0000-15", :_index=>"esb-one-info-2022-04-15", :_type=>"resource1208", :_routing=>nil, :_retry_on_conflict=>1}, #<LogStash::Event:0xd93d7b4>], :response=>{"update"=>{"_index"=>"esb-one-info-2022-04-15", "_type"=>"resource1208", "_id"=>"4dd6062e-b185-11ec-85b0-ac1df10e0000-15", "status"=>400, "error"=>{"type"=>"mapper_parsing_exception", "reason"=>"failed to parse [operationTime]", "caused_by"=>{"type"=>"illegal_argument_exception", "reason"=>"Invalid format: \"2022-04-15 18:27:55\" is malformed at \" 18:27:55\""}}}}}

3.因为数据格式问题,导致input的数据没有存入es,造成日志显示上的问题。百度以后,删除ES索引以后解决

curl -X DELETE 'http://localhost:9200/_all'

4.采集日志过程:

a.mqmonitor从IBM总线采集日志写入/home/nhip/filebeat/logData;

b.filebeat->logstash->es1

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

header里的Businesstime、operationtime必须如下格式,否则日志显示不了。

 

 

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

 2022-03-14

返回内容只能支持json和xml,是text日志只能显示最后一个字符

 

 

 

 

 

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

2021-12-16

消息流update调用超时,createPatient是通的,是因为没有建updatePatient的队列。

 

建立队列过程:

1. 总线监控-队列订阅配置-启用某一个目标队列即可,再后续“初始化固定队列”以后,会自动创建主题、别名队列

 

 2.队列管理-初始化固定队列

 

 

 

 

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

2021-12-15

EMPI在总线上发布成功调不通:

排查:1.empi服务是好的;2.empi在nginx上发布的服务是好的;3.总线其他服务是可以调通的;4.在总线地址上访问empi的wsdl是可以访问的,但是在nginx上没有访问日志

解决:action是流程图里的action,并非V3的action。

另外,访问总线发布后的wsdl,应该不是直接访问到原服务,否则nginx上不会没有访问日志。

 

 

 

 

posted on 2021-12-15 16:10  巍巍之道  阅读(203)  评论(0编辑  收藏  举报

导航