#!/bin/bash
### 获取当前服务器名称 ###
hostname=`hostname`
### 定义日志时间 ###
sjj=`date '+%Y-%m-%d'`
### 定义当前服务器时间  ###
sj=`date '+%Y-%m-%d::%H:%M:%S'`
### 获取当前服务器外网IP ###
ipp=`curl -s ip.fm |awk '{print $2}'`
### 获取当前服务器内网IP ###
nwip=`ifconfig|grep 'inet '|grep -v '127.0'|xargs|awk -F '[ :]' '{print $2}'`

#curl -s  -X POST "https://t.guangxiyisi.com/bot1218465982:AAHjRhPmDMXq4P3p3vHvZfC6PtqYHzrGDX4/sendmessage?chat_id=-1001902926525&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip"


### 检测当前硬盘剩余多少空间 sed s/[[:space:]]//g 删除所有的空格 ###
Hd1=`df -h | awk '$NF=="/"{printf "%s\t\t", $5}' |sed s/[[:space:]]//g`
### 检测当前硬盘剩余多少空间  sed 's/[\t]*$//g' 删除行末空格 ###
HdH=`df -h | awk '$NF=="/"{printf "%s\t\t", $5}' |sed 's/[\t]*$//g'`
### 检测当前硬盘剩余多少空间 awk -F% '{print $1}' %为分隔符只显示数字  ###
HD=`df -h | awk '$NF=="/"{printf "%s\t\t", $5}' |awk -F% '{print $1}'`
### HHDD定义百分比超过就报警 ###
HHDD="70"
### -gt 大于 ###
if [ $HD -gt $HHDD ]
then 
    curl -s  -X POST "https://t.guangxiyisi.com/bot1218465982:AAHjRhPmDMXq4P3p3vHvZfC6PtqYHzrGDX4/sendmessage?chat_id=-1001902926525&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0A硬盘占用空间已达到:%20%20$HD%"
    echo "$sj 硬盘占用空间已达到: $Hd1 " >>  /opt/sh/log/"$sjj"-Disk-error.txt
else
       echo "$sj 硬盘占用空间已达到: $Hd1 " >>  /opt/sh/log/"$sjj"-Disk.txt
   curl -s  -X POST "https://t.guangxiyisi.com/bot6122084560:AAEYrW89WdBaRJ71NZV7tVrr0SY5A9_Z8bg/sendmessage?chat_id=6101112759&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0A当前硬盘API接口正常%0A硬盘占用空间已达到:%20%20$HD%"
fi

### 统计内存使用率 ### 
Nc=`free -m | awk -F '[ :]+' 'NR==2{printf "%d", ($3)/$2*100}'`
### NCNC定义百分比超过就报警 ###
NCNC="75"
if [ $Nc -gt $NCNC ]
then
    curl -s  -X POST "https://t.guangxiyisi.com/bot1218465982:AAHjRhPmDMXq4P3p3vHvZfC6PtqYHzrGDX4/sendmessage?chat_id=-1001902926525&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0A内存使用率已达到:%20%20$Nc%"
    echo "$sj 内存使用率已达到: $Nc% " >>  /opt/sh/log/"$sjj"-Memory-error.txt
else
   echo "$sj 内存使用率已达到: $Nc% " >>  /opt/sh/log/"$sjj"-Memory.txt
   curl -s  -X POST "https://t.guangxiyisi.com/bot6122084560:AAEYrW89WdBaRJ71NZV7tVrr0SY5A9_Z8bg/sendmessage?chat_id=6101112759&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0A当前内存API接口正常%0A内存使用率已达到:%20%20$Nc%"
fi

### 统计CPU使用率 ### 
CPU=`top -b -n1 | grep "Cpu(s)" | awk '{print $2 + $4}'`
### CPU定义百分比超过就报警 ###
Cpu1="80"
if (( $(echo "$CPU > $Cpu1" | bc -l) ))
then
    curl -s  -X POST "https://t.guangxiyisi.com/bot1218465982:AAHjRhPmDMXq4P3p3vHvZfC6PtqYHzrGDX4/sendmessage?chat_id=-1001902926525&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0ACPU使用率已达到:%20%20$CPU%"
    echo "$sj CPU使用率已达到: $CPU% " >>  /opt/sh/log/"$sjj"-CPU-error.txt
else
   echo "$sj CPU使用率已达到: $CPU% " >>  /opt/sh/log/"$sjj"-CPU.txt
   curl -s  -X POST "https://t.guangxiyisi.com/bot6122084560:AAEYrW89WdBaRJ71NZV7tVrr0SY5A9_Z8bg/sendmessage?chat_id=6101112759&text=服务器名称:%20%20$hostname%0A当前服务器时间:%20%20$sj%0A当前服务器外网:%20%20$ipp%0A当前服务器内网:%20%20$nwip%0A当前CPUAPI接口正常%0ACPU使用率已达到:%20%20$CPU%"
fi
