Sistema de advertencia de rendimiento de la máquina (CPU, proceso, memoria, monitoreo del disco duro) y alarma de robot

Sistema de advertencia de rendimiento de la máquina (CPU, proceso, memoria, monitoreo del disco duro) y alarma de robot,

Hay notas explicativas en el interior, deje un mensaje si no está muy claro y aprendan juntos ~

Archivo final de alarma e inspección: FinalCheck.sh

1 #! / Bin / bash
 2 # Si el segundo parámetro es el símbolo ' @ ' , el miembro del grupo correspondiente a @ 手机 号
 3 phone = 13889612337 
4 #phone
 = 13778198708 5  # message es el mensaje que se enviará al clavo, el medio Sin espacios
 6 IP = `ifconfig | grep ' inet addr: ' | grep -v ' 127.0.0.1 ' | cut -d: -f2 | awk ' {print $ 1} ' '
 7  funciones httpRequest ()
 8  {
 9      #curl Solicite cambiar access_token a su propio
 10      curl -H " Tipo de contenido: application / json" -X POST -d ' {" msgtype ":" text "," text ": {" content ":" 主人: ' $ IP $ message ' "}," at ": {" atMobiles ": [" ' $ teléfono ' "], "isAtAll": false}} ' https: // oapi.dingtalk.com/robot/send?access_token=8efdb5626113cd3e8a67f6fea7a2d95b69a69d9af74bb7c2fc8229e8f49a849d 
11  }
 12  
13  #检查硬盘
 14 cat disk.log | mientras que la línea de lectura
 15  do 
16      curDiskUsePer = `echo $ line | awk ' {printf"% d ", $ 1} '`
 17      if [$ curDiskUsePer -gt80 ]; luego
 18          message = "El disco duro está casi lleno, actualmente ocupa $ curDiskUsePer% " 
19         httpRequest 20      fi
 21  hecho
 22  #Check
 memory
 23 cat memory.log | mientras lee la línea
 24  do 
25      curDiskUsePer = `echo $ line | awk ' {printf "% d", $ 1} ' `
 26      if [$ curDiskUsePer -gt 8 ]; luego
 27          message = " Memoria insuficiente, queda $ curDiskUsePer G " 
28         httpRequest
 29      fi
 30 hecho
 31  
32  #Compruebe el uso de CPU del proceso
 33 cat cpu_process.log | mientras lee la línea
 34  do 
35      curDiskUsePer = `echo $ line | awk ' {printf"% d ", $ 1} ' `
 36      if [$ curDiskUsePer -gt 3 ] ; luego
 37          message = "El proceso ocupa demasiada CPU, actualmente es $ curDiskUsePer% " 
38         httpRequest
 39      fi
 40  hecho
 41  
42 salida 0

Script de detección de CPU total: cpu_total.sh

1 #! / Bin / sh
 2  #
 3 rm -rf / home / xsn / MachineHealthCheck / memory.log
 4  gratis -m | awk -F ' [:] + '  ' NR == 2 {print ($ 4 + $ 6 + $ 7) / 1000} ' >> / home / xsn / MachineHealthCheck / memory.log
 5  
6 #echo " Uso de CPU: $ {CPU_USAGE }% " $ time >> /home/xsn/MachineHealthCheck/cpu.log

El uso de CPU de la CPU de proceso es el más alto: cpu_process.sh

1 #! / Bin / sh
 2  #
 3 rm -rf / home / xsn / MachineHealthCheck / cpu_process.log
 4 ps aux --sort = -pcpu | head - 2 | grep -v USUARIO | grep -v mysql | awk -F ' [] + '  ' NR! = 0 {print $ 3} ' >> / home / xsn / MachineHealthCheck / cpu_process.log
 5  
6 #echo " Uso de CPU: $ {CPU_USAGE}% " $ time >> / home /xsn/MachineHealthCheck/cpu.log

Detección de memoria: memory.sh

1 #! / Bin / sh
 2  #
 3 rm -rf / home / xsn / MachineHealthCheck / memory.log
 4  gratis -m | awk -F ' [:] + '  ' NR == 2 {print ($ 4 + $ 6 + $ 7) / 1000} ' >> / home / xsn / MachineHealthCheck / memory.log
 5  
6 #echo " Uso de CPU: $ {CPU_USAGE }% " $ time >> /home/xsn/MachineHealthCheck/cpu.log

Detección de disco duro: disk.sh

1 #! / Bin / sh
 2  #
 3 rm -rf / home / xsn / MachineHealthCheck / disk.log
 4 df -THP | awk -F ' [] + '  ' NR! = 1 {print $ 6} ' >> /home/xsn/MachineHealthCheck/disk.log

 

Supongo que te gusta

Origin www.cnblogs.com/workharder/p/12760818.html
Recomendado
Clasificación