监控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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。