监控WebLogic
2023-12-13 13:56:10
1.脚本监控weblogic
Linux Shell 脚本监控 WebLogic 的运行状态、健康状态、打开的套接字数
通常情况下,我们不建议在脚本中直接明文写入密码。因为这很容易被他人窃取并滥用。
例如,在终端中使用以下命令设置环境变量:
export WEBLOGIC_PASSWORD=your_password
?
然后,在脚本中引用这个环境变量:
PASS_WORD="$WEBLOGIC_PASSWORD"
?
#!/bin/bash
#做定时任务,总会有报错,加了环境变量后可以了
JAVA_HOME=/home/weblogic/jrockit-jdk1.6.0_20-R28.1.0-4.0.1
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
CLASSPATH="/home/weblogic/Oracle/Middleware/wlserver_10.3/server/lib/weblogic.jar:$CLASSPATH"
PATH="/home/weblogic/jrockit-jdk1.6.0_20-R28.1.0-4.0.1/bin:$PATH"
#URL 变量定义了 WebLogic 服务器的 IP 地址和端口号。
#USER_NAME 变量定义了连接 WebLogic 服务器所需的用户名。
#PASS_WORD 变量定义了连接 WebLogic 服务器所需的密码。
#DOMAIN_NAME 变量定义了要监控的 WebLogic 域名。
#SERVER_NAME 变量定义了要监控的 WebLogic 服务器实例名称。
URL="2.1.1.10:10519"
USER_NAME="weblogic"
PASS_WORD="$WEBLOGIC_PASSWORD"
DOMAIN_NAME="dci123"
SERVER_NAME="jck123"
STATE_ALL=$(java weblogic.Admin -url $URL -username $USER_NAME -password $PASS_WORD get -pretty -mbean "$DOMAIN_NAME:Location=$SERVER_NAME,Name=$SERVER_NAME,Type=ServerRuntime")
# Check WebLogic instance running status
echo "$STATE_ALL" | grep -q "State: RUNNING"
if [ $? == 0 ]; then
echo "OK"
else
echo "NO"
fi
# Check WebLogic instance health status
echo "$STATE_ALL" | grep -q "State:HEALTH_OK"
if [ $? == 0 ]; then
echo "OK"
else
echo "NO"
fi
# Check WebLogic instance open sockets number
SOCKET_MAX=200
SOCKET_NOW=$(echo "$STATE_ALL" | awk '/OpenSocketsCurrentCount/{print $2}')
if [ x$SOCKET_NOW == x ]; then
echo "$URL $DOMAIN_NAME $SERVER_NAME open sockets number is not OK: fail to get"
else
if [ $SOCKET_NOW -gt $SOCKET_MAX ]; then
echo "$URL $DOMAIN_NAME $SERVER_NAME health status is not OK: $SOCKET_NOW greater than $SOCKET_MAX"
else
echo "OK"
fi
fi
2.定时任务
#每小时检查一下weblogic状态
0 * * * * /home/weblogic/Check_WebLogic.sh > /Check_WebLogic.log 2 >&1
?
#文件授权,不然zabbix没有权限打开文件
chown zabbix:zabbix /Check_WebLogic.log
?
3.zabbix6.0添加监控项
#监控表达式 #查找文件中的字符串,如果有则返回1,没有则返回0。 vfs.file.regmatch[/Check_WebLogic.log,NO]
?
4.zabbix6.0 添加触发器
#触发器表达式 #是否存在与字符串"NO"匹配的内容,如果匹配结果为1,则触发报警 last(/2.1.1.13/vfs.file.regmatch[/Check_WebLogic.log,NO])=1
?
?
文章来源:https://blog.csdn.net/qq_35583325/article/details/134831508
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!