脚本内容如下

#!/bin/bash
#磁盘超过百分之80发送邮件告警
DISK_USED=`df -T |sed -n "2p" |awk '{print ($4/$3)*100}'`
DISK_percentage=80
if [ `expr "$DISK_USED > $DISK_percentage"` ]
then
echo "$HOSTNAME服务器当前硬盘使用率为$DISK_USED%" | mail -s "服务器硬盘监控告警" 493630393@qq.com
fi
#内存使用率大于90%告警
mem_pused=`/usr/bin/free -m | sed -n '2p'|awk '{ print ($3+$6)/$2*100}'`
#memory usage percentage
percentage=90
#clean mem_cache 使用bc来进行比较,不然会报错
if [ $(echo "$mem_pused > $percentage"|bc) -eq 1 ]
then
echo "$HOSTNAME服务器当前内存使用率为$mem_pused%" | mail -s "服务器内存监控告警" 493630393@qq.com
echo "1qaz2wsx" |sudo -S sh /opt/shell/clean_mem_cache.sh
fi #java_load进程宕机告警
JAVA_PROCESS=`ps -ef |grep java_load |grep -v grep |wc -l`
if [ $JAVA_PROCESS = 0 ]
then
echo "$HOSTNAME服务器上$JAVA_LOAD应用进程异常停止,正在自动开启" | mail -s "服务器java_load进程监控告警" 493630393@qq.com
nohup echo -e "70" |/opt/software/java_load > /dev/null 2>&1 &
fi
#tomcat进程宕机告警
#TOMCAT_PROCESS=`ps -ef |grep java |grep tomcat |grep -v grep |wc -l`
#if [ $TOMCAT_PROCESS = 0 ]
#then
# echo "$HOSTNAME服务器上tomcat应用进程已停止,请手动开启" | mail -s "服务器tomcat进程监控告警" 493630393@qq.com
#fi
#platform进程宕机告警
COMMONAPI_PROCESS=`ps -ef |grep java |grep common-api.jar |grep -v grep |wc -l`
if [ $COMMONAPI_PROCESS = 0 ]
then
echo "$HOSTNAME服务器上commonapi应用进程已停止,请手动开启" | mail -s "服务器tomcat进程监控告警" 493630393@qq.com
fi

linux服务器内存、根目录使用率、某进程的监控告警脚本的更多相关文章

  1. 如何使用Linux命令行查看Linux服务器内存使用情况?

    一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...

  2. 查看Linux服务器内存使用情况

    一个服务器,最重要的资源之一就是内存,内存够不够用,是直接关系到系统性能的关键所在. 本文介绍如何查看Linux服务器内存使用情况, 1.free命令 free -m [root@localhost ...

  3. 转 linux 服务器内存占用统计

    linux 服务器内存占用统计  原文: https://www.cnblogs.com/eaglediao/p/6641811.html 当前内存占用率的计算,是根据top命令显示的Mem.used ...

  4. Linux服务器内存池技术是如何实现的

    Linux服务器内存池技术是如何实现的

  5. linux服务器开发二(系统编程)--进程相关

    进程相关的概念 程序与进程 程序,是指编译好的二进制文件,在磁盘上,不占用系统资源(CPU.内存.打开的文件.设备.锁等等). 进程,是一个抽象的概念,与操作系统原理联系紧密.进程是活跃的程序,占用系 ...

  6. 【Linux】解决Linux服务器内存不足问题

    在Linux服务器上使用Jmeter进行压测的时候,遇到了一个错误: 根据这里的提示: Java HotSpot(TM) -Bit Server VM warning: INFO: os::commi ...

  7. linux服务器内存占用太高-释放内存

    修改/proc/sys/vm/drop_caches,释放Slab占用的cache内存空间(参考drop_caches的官方文档): Writing to this will cause the ke ...

  8. 记录Redis连接未正确释放,TCP连接过多,造成服务器上部分功能不可用和linux服务器内存一直增加问题

    问题1 多人共享开发服务器(windows系统),我们小组有个程序,定时检测mongodb,redis,mysql连接是否正常,程序启动一段时间后,服务器管理人员找到我们说,我们的某个pid的程序把T ...

  9. linux 服务器内存占用统计

    当前内存占用率的计算,是根据top命令显示的Mem.used除以Mem.total得到. Mem.total:表示总物理内存. Mem.used: 表示内核控制的内存数,除了应用程序使用的内存外,还包 ...

随机推荐

  1. JSON 的几种转换

    package com.qbskj.project.util; import java.io.IOException; import java.io.Writer; import org.spring ...

  2. dubbo+zookeeper+jenkins从打包开始

    一.jenkins中maven构建 有如下图构建设置 解释说明: pom.xml 此处jenkins打包依赖的主要配置文件(规则) settings.xml 全局配置文件,主要用于配置maven的运行 ...

  3. Vue接口异常时处理

    一般接口只会对后台返回的json状态进行判断处理,当后台异常时,我们可以使用catch来对这些异常进行同样的报错处理. 例如: 上面显示代码例子中test为一个接口,json为后台正常返回的数据对象, ...

  4. 不转实体直接获取Json字符串中某个字段的值

    JObject jo = (JObject)JsonConvert.DeserializeObject(JsonStr);//JsonStr 为Json字符串 string lng = jo[&quo ...

  5. HEOI2013SAO

    题目描述 给定一个\(DAG\),问这个\(DAG\)有多少种拓扑序. 题解 我们首先需要设计一个能够比较好的转移的状态. 我们可以设\(dp[i][j]\)表示第i个点在当前\(dp\)的子图中拓扑 ...

  6. Elasticsearch.Net 多层嵌套的逻辑实现

    { "query": { "bool": { "must": [ { "match_phrase": { "t ...

  7. 属性的get、set

    以年龄为例,通过属性,控制年龄的输入范围. 静态调用非静态时,需要通过对象来调用. namespace ConsoleApplication1 { class Program { private in ...

  8. Python正则表达式指南(转)

    目录 Python正则表达式指南(转) 0.防走丢 1. 正则表达式基础 1.1. 简单介绍 1.2. 数量词的贪婪模式与非贪婪模式 1.3. 反斜杠的困扰 1.4. 匹配模式 2. re模块 2.1 ...

  9. Rancher2.1安装部署

    基础环境配置 1.操作系统选择 Ubuntu 16.04(64位 Server版) Centos/RedHat Linux 7.5+(64位) 2.Docker版本选择 1.12.6 1.13.1 1 ...

  10. quartz基本介绍和使用

    一.什么是quartz,有什么用. Quartz是一个完全由java编写的开源作业调度框架,由OpenSymphony组织开源出来.所谓作业调度其实就是按照程序的设定,某一时刻或者时间间隔去执行某个代 ...