portal认证拉远节点无法获取短信案例分析

问题现象

以新建拉远节点作为主portal服务器,认证界面正常加载,但点击获取短信后未收到验证短信;使用其他拉远节点或主节点认证正常。

相关设备

iMaster NCE-Campus作为认证服务器

故障分析

其他拉远节点及主节点均正常认证,短信平台未收到短信请求,初步定位为本台新建拉远节点故障。

问题处理

登录控制器操作系统,查看数据库是否正常

登录数据库:
login_db() {
  local db_instance_name=$1
  local db_name=$2
  local ip_port=$(su - ossadm -c '/opt/oss/manager/apps/DBAgent/bin/dbsvc_adm -cmd query-db-instance -type zenith' | grep "${db_instance_name}" |    grep -v Slave | awk -v OFS=":" '{print $6,$7}')
  local pwd_encrypt=$(grep -A 24 "${db_instance_name}.*\.${db_name}\":" /opt/zenith/ResourcePool.json | grep dbuser_password | awk -F '"' '{print $4}')
  local pwd_decrypt=$(su - ossadm -c "source /opt/oss/manager/bin/engr_profile.sh;python -c \"
from util import ossext;
pwd_tmp=ossext.Cipher.decrypt('${pwd_encrypt}');
print(pwd_tmp)\"")
  echo "------->"
  echo "db_instance_name: ${db_instance_name}"
  echo "db_name: ${db_name}"
  echo "pwd_decrypt: ${pwd_decrypt}"
  echo "ip_port: ${ip_port}"
  echo "<--------"
  su - dbuser -c "/opt/zenith/app/bin/zsql ${db_name}/${pwd_decrypt}@${ip_port}"
}
login_db CampusCommon   campusbasedb

 

查看数据库表:
select * from t_campus_baseservice_servercfg;  //短信服务器配置
select * from t_campus_baseservice_smstmpl;  //短信平台配置

查看后发现短信平台没有当前正在使用的平台信息,短信服务器配置表为空。

 

登录Campus控制器业务面(https://北向地址:18008),使用admin账号在短信平台配置界面点击测试,测试没问题后点击保存;此时查看数据库表发现短信平台配置已同步过来,但短信服务器配置还是为空。

参考其他正常运行的拉远节点数据库表,手动写入数据:

insert into t_campus_baseservice_servercfg (ID,TENANTID,CONFIGTYPE,EMAILCONTENT,MESSAGECONTENT) values ('18668725-b7e7-497e-b3a4-ab848c4710ce','00000000-0000-0000-0000-000000000000','message',null,'{"templateId":"e5f8f36a-8d8c-409c-a77f-c97cfc37ec35","appId":null,"region":null,"userName":null,"loginPassword":"","shortCode":null,"fromPhone":"","serviceId":null,"inheritableFlag":"true","smsSignature":"短信平台","smsType":"","smsTemplateId":null,"serviceCode":null}');


insert into t_campus_baseservice_servercfg (ID,TENANTID,CONFIGTYPE,EMAILCONTENT,MESSAGECONTENT) values ('a9793028-39ca-4897-85e1-ad4098fec30b','61b56b8ac1184f4992903dba4e1a182a','message',null,'{"templateId":"e5f8f36a-8d8c-409c-a77f-c97cfc37ec35","appId":null,"region":null,"userName":null,"loginPassword":"","shortCode":null,"fromPhone":"","serviceId":null,"inheritableFlag":"false","smsSignature":"短信平台","smsType":"","smsTemplateId":null,"serviceCode":null}');

查看是否写入成功:

 

写入后测试短信正常获取,问题解决。

问题根因

拉远节点未同步主节点短信数据库信息,导致配置为空无法正常获取短信,手动写入数据表后问题解决。

THE END