linux系统CPU、内存、硬盘、网络、lnmp服务整体监控邮件报警
2013-12-08 09:51
525 查看
功能介绍:1.系统方面: (1)CPU检查报警
(2)内存检查,自动释放
(3)硬盘检查报警
(4)网络检查
2.服务方面:
(1)NGINX检查报警
(2)PHP检查报警
(3)MYSQL检查报警
代码如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/02/52e86bb086ff665eba12f45e62f3fe2d.jpg)
测试成功的回显如下图,可以通过计划任务+脚本实现实时监控。[/b]
可以参考:
/article/4130679.html
http://fuquanjun.blog.51cto.com/5820068/1418508
(2)内存检查,自动释放
(3)硬盘检查报警
(4)网络检查
2.服务方面:
(1)NGINX检查报警
(2)PHP检查报警
(3)MYSQL检查报警
代码如下:
#!/bin/bash IP=`ifconfig|awk'NR==2{print $2}'|awk-F: '{print $2}'` #一.检查系统情况 #1.CPU检查 echo"##########CPU state show##########" echo"__________________________________________________________________________________" top-n 1|grepCpu us=`top-n 1|grepCpu|awk'{print $2}'|awk-F"%"'{print $1}'` us100=`echo"$us*100"|bc|awk-F"."'{print $1}'` #echo us*100 = $us100 sy=`top-n 1|grepCpu|awk'{print $3}'|awk-F"%"'{print $1}'` sy100=`echo"$sy*100"|bc|awk-F"."'{print $1}'` #echo sy*100 = $sy100 cpu_number=`echo"$us100+$sy100"|bc` #echo us*100+sy*100 = $cpu_number if[ $cpu_number -gt "7000"];then echo"$IP CPU is hight"| mail -s "warn!server: $IP CPU is hight"15210942688@163.com else echo-e "\033[32m ...CPU is (OK) ! \033[0m" fi echo"___________________________________________________________________________________" echo"" #2.内存检查 echo"##########MEM state show##########" echo"_____________________________________________________________________________________________" free-m|awk'NR<3{print}' free-g |grep-i mem |awk'{if($4 < 10){ printf("3") > "/proc/sys/vm/drop_caches"}}'; echo-e "\033[32m ...内存 is (OK) ! \033[0m" echo"_____________________________________________________________________________________________" echo"" #3.硬盘空间检查 echo"##########DRIVE state show##########" echo"___________________________________________________________________________________" df-h use_df=`df-h|awk'NR==3{print $4}'` if[ $use_df == "90%"];then echo"$IP DF is hight"| mail -s "warn!server: $IP DF is hight"15210942688@163.com else echo-e "\033[32m ...硬盘 is (OK) ! \033[0m" fi if[ $use_df == "95%"];then echo"$IP df is hight"| mail -s "warn!server: $IP DF is hight"15210942688@163.com else echo-e "\033[32m ...硬盘 is (OK) ! \033[0m" fi echo"___________________________________________________________________________________" echo"" #4.网络检查 echo"##########NETWORK state show##########" ifconfig|awk-F":"'NR==2 {print $2}'|awk'BEGIN{print "IP"}{print $1}' ifconfig|grepRX|awk'NR==2{print}' echo-e "\033[32m ...网络 is (OK) ! \033[0m" echo"_____________________________________________________________________________________________" echo"" #################################################################################################### #二.检查nginx、php、mysql状态 #1.nginx ps and netstat echo"##########nginx state show##########" echo"___________________________________________________________________________________" nginx_port_number=`netstat-lntp|grep:80|wc-l` #1 nginx_process_number=`ps-ef|grepnginx|grep-vgrep|wc-l` #5 if[ $nginx_port_number == "0"];then echo"$IP nginx is down"| mail -s "warn!server: $IP nginx_port is down"15210942688@163.com /usr/local/nginx/sbin/nginx if[ $test_nginx != "0"];then echo"$IP nginx is down"| mail -s "warn!server: $IP not't restart"15210942688@163.com fi else echo-e "\033[32m ...nginx is running(OK) ! $(date) \033[0m" fi if[ $nginx_process_number == "0"];then echo"$IP nginx is down"| mail -s "warn!server: $IP nginx_process is down"15210942688@163.com /usr/local/nginx/sbin/nginx test_nginx2=echo$? if[ $test_nginx2 != "0"];then echo"$IP nginx is down"| mail -s "warn!server: $IP not't restart"15210942688@163.com fi else echo-e "\033[32m ...nginx is running(OK) ! $(date) \033[0m" fi echo"__________________________________________________________________________________" echo"" #2.php ps and netstat echo"##########php state show##########" echo"__________________________________________________________________________________" php_fpm_port_number=`netstat-lntp|grep:9000|wc-l` #1 php_fpm_process_number=`ps-ef|grepphp-fpm|grep-vgrep|wc-l` #129 if[ $php_fpm_port_number == "0"];then echo"$IP php-fpm is down"| mail -s "warn!server: $IP php_fpm_port is down"15210942688@163.com /etc/init.d/php-fpmrestart test_php1=echo$? if[ $test_php1 != "0"];then echo"$IP php-fpm is down"| mail -s "warn!server: $IP not't restart"15210942688@163.com fi else echo-e "\033[32m ...PHP is running(OK) ! $(date) \033[0m" fi if[ $php_fpm_process_number == "0"];then echo"$IP nginx is down"| mail -s "warn!server: $IP php_fpm_process is down"15210942688@163.com /etc/init.d/php-fpmrestart test_php2=echo$? if[ $test_php2 != "0"];then echo"$IP php is down"| mail -s "warn!server: $IP not't restart"15210942688@163.com fi else echo-e "\033[32m ...PHP is running(OK) ! $(date) \033[0m" fi echo"__________________________________________________________________________________" echo"" ##3.mysql ps and netstat # #echo "##########mysql state show##########" #echo "________________________________________________________________________________" #mysql_port_number=`netstat -lntp|grep :3306|wc -l` #1 #mysql_process_number=`ps -ef|grep mysql|grep -v grep|wc -l` #2 # #if [ $mysql_port_number == "0" ];then # echo "$IP mysql is down" | mail -s "warn!server: $IP mysql_port is down" 15210942688@163.com # /etc/init.d/mysqld restart # test_mysql1=echo $? # if [ $test_mysql1 != "0" ];then # echo "$IP mysql is down" | mail -s "warn!server: $IP not't restart" 15210942688@163.com # fi #else # echo -e "\033[32m ...MYSQL is running(OK) ! $(date) \033[0m" #fi # #if [ $mysql_process_number == "0" ];then # echo "$IP mysql is down" | mail -s "warn!server: $IP mysql_process is down" 15210942688@163.com # /etc/init.d/mysqld restart # test_mysql2=echo $? # if [ $test_php2 != "0" ];then # echo "$IP mysql is down" | mail -s "warn!server: $IP not't restart" 15210942688@163.com # fi #else # echo -e "\033[32m ...MYSQL is running(OK) ! $(date) \033[0m" #fi #echo "________________________________________________________________________________"[b]
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/02/52e86bb086ff665eba12f45e62f3fe2d.jpg)
测试成功的回显如下图,可以通过计划任务+脚本实现实时监控。[/b]
可以参考:
/article/4130679.html
http://fuquanjun.blog.51cto.com/5820068/1418508
相关文章推荐
- linux系统CPU,内存,磁盘,网络流量监控脚本
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具
- linux系统下 python获取 内存、cpu、负载、网络流量、硬盘等信息
- Linux shell 脚本监控cpu,内存,硬盘,网络,是否存活
- Zabbix 监控ESXi服务器【非虚拟机】CPU、内存、硬盘、网络带宽
- linux系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- 【转】Android 的cpu 硬盘 内存 网络设置 系统信息 硬件信息
- Windows系统CPU内存网络性能统计第二篇 CPU CPU整体使用率
- linux 系统的负载与CPU、内存、硬盘、用户数监控脚本[marked]
- 用MRTG监测Linux系统网络、CPU、内存和硬盘情况
- 利用VBS脚本监控CPU,实现邮件报警
- Java如何获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- 【Java】【系统状态】获取系统信息(包括操作系统、jvm、cpu、内存、硬盘、网络、io等)
- Redhat linux 系统的负载与CPU、内存、硬盘、用户数监控shell脚本
- 监控zabbix 服务并在异常时python 邮件报警
- 系统的负载与CPU、内存、硬盘、用户数监控
- Linux系统的磁盘内存CPU网络测试工具
- Android 的cpu 硬盘 内存 网络设置 系统信息 硬件信息
- Shell脚本监控CPU、内存和硬盘利用率