Shell应用 之 nginx 和 mysql 应用状态分析
2017-02-13 15:07
381 查看
check_server.sh
利用操作系统命令:
网络命令: ping、nslookup、nm-tool、tracertroute、dig、telnet、nc、curl
监控进程:ps、netstat、pgrep
利用客户端命令、工具:
应用客户端:mysql、ab、mongo、php、jstack
第三方工具包:nginxstatus、nagios-libexec
服务端接口支持:
1、nginx - http_stub_status_module
2、nutcracker监控集群(redis、memcache)状态
3、Mongodb
……
1. 利用 shell 脚本分析 nginx 运行状态
2.监控Mysql主从复制状态
![](https://images2015.cnblogs.com/blog/1019751/201702/1019751-20170213142734863-1527202598.png)
1. 搭建主从复制环境
2. 基于mysql客户端连接,获取主从复制状态
mysql > show slave status\G;
Slave_IO_Running-IO 线程是否有连接到主服务器上
Seconds_Behind_Master - 主从同步的延时时间
3. Mysql 还没学过,先暂行放下,脚本仅实现Mysql是否连接成功
利用操作系统命令:
网络命令: ping、nslookup、nm-tool、tracertroute、dig、telnet、nc、curl
监控进程:ps、netstat、pgrep
利用客户端命令、工具:
应用客户端:mysql、ab、mongo、php、jstack
第三方工具包:nginxstatus、nagios-libexec
服务端接口支持:
1、nginx - http_stub_status_module
2、nutcracker监控集群(redis、memcache)状态
3、Mongodb
……
1. 利用 shell 脚本分析 nginx 运行状态
#!/bin/bash Resettem=$(tput sgr0) Nginxserver='http://192.168.1.112' Check_Nginx_Server() { Status_code=$(curl -m 5 -s -w %{http_code} ${Nginxserver} -o /dev/null) if [ $Status_code -eq 000 -o $Status_code -ge 500 ];then echo -e '\e[32m' "check http server error! Responce 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 ~ ~ ~ "check_server.sh" 15L, 460C
2.监控Mysql主从复制状态
![](https://images2015.cnblogs.com/blog/1019751/201702/1019751-20170213142734863-1527202598.png)
1. 搭建主从复制环境
2. 基于mysql客户端连接,获取主从复制状态
mysql > show slave status\G;
Slave_IO_Running-IO 线程是否有连接到主服务器上
Seconds_Behind_Master - 主从同步的延时时间
3. Mysql 还没学过,先暂行放下,脚本仅实现Mysql是否连接成功
#!/bin/bash Resettem=$(tput sgr0) Nginxserver='http://192.168.1.112' Mysql_Slave_Server='192.168.1.112' Check_Nginx_Server() { Status_code=$(curl -m 5 -s -w %{http_code} ${Nginxserver} -o /dev/null) if [ $Status_code -eq 000 -o $Status_code -ge 500 ];then echo -e '\e[32m'"Check http server error! Responce 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_Mysql_Server() { nc -z -w2 ${Mysql_Slave_Server} 3306 &>/dev/null if [ $? -eq 0 ];then echo -e '\e[32m'"Connect ${Mysql_Slave_Server} OK!"'\033[0m' fi } Check_Nginx_Server Check_Mysql_Server
![](https://images2015.cnblogs.com/blog/1019751/201702/1019751-20170213150700410-159845003.png)
相关文章推荐
- Linux_nginx和mysql应用状态分析
- nginx应用状态分析
- Shell典型应用Nginx之应用日志分析
- shell 脚本分析nginx 访问日志状态码
- MySQL性能状态分析 4.0 5.1 5.5 mysqlpulse--MySQL Status monitor
- [shell]CentOS 5.6安装web服务及相关软件(php 5.3, MySQL Server, memcache, spawn-fcgi, nginx, coreseek)
- shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
- 从应用上来分析mysql的查询缓存
- MySQL 大企业级应用可行性分析(之三)
- 自动判断NGINX和php-cgi状态重启SHELL脚本
- [shell]CentOS 5.6安装web服务及相关软件(php 5.3, MySQL Server, memcache, spawn-fcgi, nginx, coreseek)
- MySQL 大企业级应用可行性分析(之一)
- shell脚本分析 nginx日志访问次数最多及最耗时的页面(慢查询)
- nginx 负载均衡与location应用分析
- nginx 负载均衡与location应用分析 简单实验
- Mysql运行状态分析
- shell状态下利用mysqladmin快速更改mysql下用户的密码
- MySQL 大企业级应用可行性分析(之二)
- linux下的lnmp(CentOS linux+nginx+mysql+php+zend + eAccelerator)的应用介绍
- Centos 安装nginx+mysql+php+phpmyadmin 的shell脚本