美文网首页Linux学习之路
shell场景脚本实战三(应用运行状态分析脚本)

shell场景脚本实战三(应用运行状态分析脚本)

作者: 李菜菜同学 | 来源:发表于2020-02-03 21:34 被阅读0次

一、分析nginx运行状态

1.概述

脚本:check_server.sh

利用操作系统命令:

网络命令:ping(检查网络是否正常连接)、nslookup(检查dns)、nm-tool(检查路由网络是否通畅)、tracertroute(检查路由网络是否通畅)、dig(检查路由网络是否通畅)、telent、(检查路由网络是否通畅)、curl(检查http的响应值是否成功)

监控进程:ps、netstat、pgrep(查看进程或者端口)

应用运行状态监控脚本:

利用客户端命令、工具:

应用客户端:mysql、ab、mongo、php、jstack

第三方工具包:nginxstatus、nagios-libexec

服务端接口支持:

1.nginx - http_stub_status_module

2.nutcracker监控集群(redis、memcache)

3.Mongodb

2.nginx监控脚本

脚本部分内容--详细函数编写:

 Resettem=$(tput sgr 0)

Nginxserver='http://192.168.38.132/nginx_status'

   Check_Nginx_Server()  //定义一个函数,将其封装到一起

{

Status_code=$(curl -m 5 -s -w %{http_code}  ${Nginxserver} -o /dev/null)

//判断其状态大于500的就输出错误

if [ $Status_code -eq 000 -o $Status_code -ge 500 ];then

 echo -e '\E[32m' "check http server error! Response status code is " $Resettem$Status_code

 else

 Http_content=$(curl -s ${Nginxserver})

 echo -e '\E[32m' "check http server ok! \n" $Resettem $Http_content

 fi

}     

 Check_Nginx_Server //调用这个函数

命令详解释:

curl -m 5 -s -w %{http_code} ip/nginx_status -o /dev/null

-m:设置其最大传输时间 

-s:静音模式,不做其他输出

-w:显示http对应的状态码

-o /dev/null :摒弃输出

运行结果图示

二、利用shell监控mysql

1.mysql主从复制状态监控


监控mysql主从复制状态图示

前提:

1.搭建主从复制环境

2.基于mysql客户端连接,获取主从复制状态

监控:

mysql>show slave status\G;

Slave_IO_Running-IO //线程是否连接到主服务器上

Second_Behind_Master   //主从同步的延时时间

2.主从复制状态函数编写

nc -z -w2  ip 数据库端口(默认3306) 

nc:检查端口是否连通

-z:简单的检查端口的测试,不做过多的往服务端发送数据

-w2:连接超时

图示

脚本部分内容--详细函数编写:

Mysql_Slave_Server='你的ip'

Check_Mysql_Server(){

nc -z -w2  ${Mysql_Slave_Server } 3306 &>dev/null  //检查数据库端口是否连通,并将结果输入空文件中

if [ $? -eq 0 ];then   //判读,如果查询到的上一条命令的返回值是0,则输出连接成功

echo "Connect ${Mysql_Slave_Server} OK!"

fi

}

Check_MySql_Server  //调用这个函数

执行结果图示

3.主从复制状态建立Mysql监控普通用户

前提:

1.确定mysql的主从是配置完毕的。

2.建议给监控,单独配置一个用户,避免安全问题以及一些权限问题。

给用户rep密码是imooc'用户单独赋予一个权限

连接mysql根据mysql的查询语句获取mysql状态的主从信息

mysql -u rep -pimooc -h192.168.38.132 -e "show slave status\G"

详解:-u 用户名

         -p 密码

        -h 地址ip

        -e 执行的命令

结果图示

4.主从复制状态建立Mysql监控主从同步延时


图示

部分脚本--监控主从同步延时代码:

将从服务器的用户名和密码写入:

Mysql_User='rep'

Mysql_Pass='imooc'

图示 整个监控脚本的输出

后续补上完整脚本~~

相关文章

网友评论

    本文标题:shell场景脚本实战三(应用运行状态分析脚本)

    本文链接:https://www.haomeiwen.com/subject/yeprzctx.html