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}');
查看是否写入成功:
写入后测试短信正常获取,问题解决。
问题根因
拉远节点未同步主节点短信数据库信息,导致配置为空无法正常获取短信,手动写入数据表后问题解决。
提示:本文最后更新于2024年6月3日,如有错误或者已经失效,请留言告知。
THE END