本文共 934 字,大约阅读时间需要 3 分钟。
思路可以参考表1:
表 1 监控Web服务和MySQL数据库服务是否异常的常见方法
端口监控 | 1)服务器本地监控服务端口的常见命令netstat、ss、lsof 2)从远端监控服务器本地端口的命令有telnet、nmap、nc |
监控服务进程或进 程数 | 此方法适合本地服务器,注意,过滤的是进程的名字。命令为: ps -ef|grep nginx|wc -lps -ef|grep mysql|wc -l |
在客户端模拟用户访问 | 使用wget或curl命令进程测试(如果监测数据库,则需要转为通过Web服务器去访问数据库),并对测试结果做三种判断: 1)利用返回值(echo $?)进行判断 2)获取特殊字符串以进行判断(需要事先开发好程序) 3)根据HTTP响应header的情况进行判断 |
登录MySQL数据库判断 | 通过MySQL客户端连接数据库,根据返回值或返回内容判断。例如: mysql -uroot -pmima -e “select version();” &>/dev/null;echo $? |
下面给出Demo:
1)检测MySQL是否启动,如果没有启动就将其启动。
脚本mysql_mon.sh如下:
#!/bin/bashif [ `netstat -tlunp|grep mysqld|wc -l` -gt 0 ] #过滤进程名为mysqld,转成数字 then echo "MySQL is Running." else echo "MySQL is Stopped." service mysqld startfi
2)开发监控NginxWeb 服务的脚本。
脚本nginx_mon.sh如下:
#!/bin/bashif [ `netstat -tlunp|grep nginx|wc -l` -gt 0 ] #过滤进程名为nginx,转成数字 then echo "Nginx is Running." else echo "Nginx is Stopped." /data/program/nginx/sbin/nginxfi
转载地址:http://fhomi.baihongyu.com/