中创中间件
罗扬
【摘要】
本文简要介绍中创中间件,及其获取配置相关信息的方法。
【正文】
中创中间件的架构为:
a)
b)
c)
d)
e)
中创管理台:
a)
b)
c)
d)
e)
f)
g)
h)
i)
a)
b)
JVM添加: -Djava.rmi.server.hostname=IP (IP:为远程服务器的IP地址)
具体操作:登陆管理工具,【配置管理】→【JVM设置】→【JVM选项】→点击【添加JVM选项】添加-Djava.rmi.server.hostname=IP,点击【保存】,重启服务器。
JMX服务添加IP
具体操作:登陆管理工具,【配置管理】→【JMX服务】,地址一栏,填写远程服务器IP地址,如:127.0.0.1,点击【保存】,重启服务器。
脚本使用说明:
1, 需要事先开启jmx端口(中创默认开启)
2, 需要事先分发cmdline-jmxclient-0.10.3.jar
3, 原理为用目标机器上的java运行cmdline-jmxclient-0.10.3.jar传入命令,即可获取对应结果,故脚本内的命令可以单独拆开来。(需要注意执行时java命令可用)
脚本与结果:
#!/bin/bash
getlastkey(){
OLD_IFS="$IFS"
IFS=":"
arr=($*)
IFS="$OLD_IFS"
count=${#arr[@]}
echo ${arr[$count-1]}
}
ip="192.168.1.1"
username="admin"
password="12345678"
portlist="7018"
for port in
${portlist[@]}
do
path_url="java -jar
/bea/CVICSE/zhongchuang/AppServer/as/bin/cmdline-jmxclient-0.10.3.jar
$username:$password $ip:$port"
around(){
echo "====Name===="
echo "Name:"$(getlastkey `$path_url
amx:pp=/domain/servers,type=server,name=$1 Name 2>&1` 2>&1)
configs=$(getlastkey `$path_url
amx:pp=/domain/servers,type=server,name=$1 ConfigRef 2>&1` 2>&1)
config=${configs//_/_*}
listener=`$path_url
amx:pp=/domain/configs/config[$config]/network-config/network-listeners,type=network-listener,name=*
Port 2>&1`
len=`echo "$listener" | wc -l`
echo "=====port===="
if [[ "$len" != "1" ]]
then
applist=($listener)
for x in ${applist[@]}
do
port=$(getlastkey `$path_url $x
Port 2>&1` 2>&1)
res=$(echo $port | grep '${')
if [[ "$res" !=
"" ]]
then
mport=${port//\$\{/}
mport=${mport//\}/}
echo $(getlastkey
`$path_url $x Name 2>&1` 2>&1)":"$(getlastkey
`$path_url amx:pp=/domain/servers/server[$1],type=system-property,name=$mport
Value 2>&1` 2>&1)
else
echo $(getlastkey
`$path_url $x Name 2>&1` 2>&1)":"$(getlastkey
`$path_url $x Port 2>&1` 2>&1)
fi
done
else
echo $(getlastkey `$path_url
amx:pp=/domain/configs/config[$config]/network-config/network-listeners,type=network-listener,name=*
Name 2>&1` 2>&1)":"$(getlastkey `$path_url
amx:pp=/domain/configs/config[$config]/network-config/network-listeners,type=network-listener,name=*
Port 2>&1` 2>&1)
fi
pool=`$path_url
amx:pp=/domain/configs/config[$config]/thread-pools,type=thread-pool,name=*
MaxThreadPoolSize 2>&1`
len=`echo "$pool" | wc -l`
echo "=====pool===="
if [[ "$len" != "1" ]]
then
poollist=($pool)
for x in ${poollist[@]}
do
echo $(getlastkey `$path_url $x
Name 2>&1` 2>&1)":"$(getlastkey `$path_url $x
MaxThreadPoolSize 2>&1` 2>&1)
done
else
echo $(getlastkey `$path_url
amx:pp=/domain/configs/config[$config]/thread-pools,type=thread-pool,name=* Name
2>&1` 2>&1)":"$(getlastkey `$path_url
amx:pp=/domain/configs/config[$config]/thread-pools,type=thread-pool,name=*
MaxThreadPoolSize 2>&1` 2>&1)
fi
}
echo "--------------"
echo "TotalPhysicalMemorySize:"$(getlastkey
`$path_url java.lang:type=OperatingSystem TotalPhysicalMemorySize 2>&1`
2>&1)
echo "TotalSwapSpaceSize:"$(getlastkey `$path_url
java.lang:type=OperatingSystem TotalSwapSpaceSize 2>&1` 2>&1)
echo "FullVersion:"`$path_url
amx:pp=,type=domain-root ApplicationServerFullVersion 2>&1`
servers=$(getlastkey `$path_url
amx:pp=/mon,type=server-mon,name=* Name 2>&1` 2>&1)
around $servers
done
输出:
TotalPhysicalMemorySize:7996641280 总物理内存大小
TotalSwapSpaceSize:4160745472 总交换区大小
FullVersion:03/19/2019
16:26:22 +0800 org.archive.jmx.Client ApplicationServerFullVersion: InforSuite
APP Server 9.1 (build B050000 2018-08-30 09:30:33) 版本信息,注意切割,后面 InforSuite APP Server 9.1 (build
B050000 2018-08-30 09:30:33) 才是有用的
Name:server 服务名称
=====port====
http-listener-2:8181 名字:端口
admin-listener:8060
http-listener-1:8080
=====pool==== 线程池名称:最大连接数
thread-pool-1:200
admin-thread-pool:15
http-thread-pool:128
真实输出:
TotalPhysicalMemorySize:33567064064
TotalSwapSpaceSize:17175670784
FullVersion:03/25/2019
19:13:53 +0800 org.archive.jmx.Client ApplicationServerFullVersion: InforSuite
APP Server 9.1 (build B030010 2016-10-12 15:22:51)
====Name====
Name:server
=====port====
http-listener-1:7011
http-listener-2:7012
admin-listener:7010
=====pool====
thread-pool-1:200
admin-thread-pool:50
http-thread-pool:128