堆内存以及磁盘空间使用情况预警

使用知行之桥EDI系统时,由于业务数据量的增多,难免会遇到一些系统异常情况,为了保证企业生产环境的稳定运行,EDI系统自带了错误邮件通知功能。此功能保证了在EDI系统自动处理数据的过程中可以将异常信息及时告知用户,使用户收到邮件及时处理,保证数据的正常传输。

那么除了一些常见的异常情况,随着企业业务数据量的增大,现有服务器环境可能无法提供足够的磁盘空间存放数据处理的日志和文件,特别是在使用跨平台版本(JAVA版本)的知行之桥EDI系统时,此情况比较常见。基于此背景,我们提供了堆内存占用超过80% 邮件预警以及磁盘空间使用率超过80%邮件预警功能。具体实现步骤如下:

一、堆内存占用超过 80% 邮件预警
Java堆内存管理是影响性能的主要因素之一,堆内存过高可能会造成内存溢出,导致进程无法无法访问,从而使EDI系统无法正常运行。为了避免这一问题的出现,提前预警,可以参考以下步骤进行配置:

1.新建监控脚本java_heap_usage_monitor.sh文件,监控脚本的具体代码如下(注:其中_java=/home/java/jdk1.8.0_201/bin/java是当前环境中java执行路径,需要根据自身情况进行修改):

#!/usr/bin/env bash

set -e

while getopts "v" opt; do
  case $opt in
    v) debug_mode=true;;
  esac
done

function _log_msg() {
  if [ $debug_mode ]; then
    echo $1
  fi
}

function error() {
  echo $1 >&2
}

_java=/home/java/jdk1.8.0_201/bin/java

# Check if arcesb service is live
arcesb_pid=$(ps -aux | grep -e "java.*arcesb.jar" | grep -v grep | awk '{ print $2 }')
if [ ! -n "$arcesb_pid" ]; then
  error "Failed to aceess arcesb process."
  exit 2
fi

_log_msg "arcesb pid: $arcesb_pid"

# Get java major version
if [[ "$_java" ]]; then
  java_version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}')
  _log_msg "java version: $java_version"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值