主控脚本实现
vim编辑器设置
1 | 语法高亮 |
shell编程高级知识
shell高亮显示
1 | 基本格式: |
shell中的关联数组
1 | 关联数组: |
monitor.sh脚本
1 | /bin/bash |
系统信息及运行状态获取
脚本system_monitor.sh
功能一、提取操作系统信息(内核,系统版本,网络地址)
功能二、分析系统的运行状态(cpu负载,内存及磁盘使用率等)
1 | /bin/bash |
分析系统的运行状态
- 系统使用的内存和应用使用的内存区别
- 系统使用内存=Total-Free
- 应用使用内存Total-(Free+Cached+Buffers)
- 内存中的cache和buffer的区别
| 功能 | 读取策略 | |
|---|---|---|
| cache | 缓存主要用于打开的文件 | 最少使用原则 |
| Buffer | 分缓存主要用于目录项,inode等文件系 | 先进先出策略 |
- CPU负载概念
nginx和mysql应用状态分析
应用运行状态监控脚本
利用操作系统命令
网络命令:ping、nslookup、nm-tool、tracer、traceroute、dig、telnet、nc、curl
监控进程:ps、netstat、pgrep
应用客户端:mysql、ab、mongo、php、jstack
第三方工具包:nginxstatus、nagios-libexec
服务端接口支持
- nginx -http_stub_status_module
- nutcracker监控集群(redis、memcache)状态
- Mongodb
监控mysql主从复制状态
- 搭建主从复制环境
- 基于mysql客户端连接,获取主从复制状态
- myslq > show slave status\G
- Slave_IO_Running-IO线程是否有连接到主服务器上
- Seconds_Behind_Master 主从同步的延时时间
应用日志分析
系统日志文件
- /var/log/messages // 系统主日志文件
- /var/log/secure // 认证,安全
- /var/log/dmesg //和系统启动相关
应用服务
- access.log //nginx访问日志
- mysqld.log //mysql运行日志
- xferlog //和访问FTP服务器相关
程序脚本
- 开发语言:c、C++、java、php
- 框架:Django、MVC、servlet
- 脚本语言:shell、python
Http状态码
- 1** 信息服务收到请求,需要请求者进一步操作
- 2** 成功,操作被成功接收并处理
- 3** 重定向,需要进一步的操作以完成请求
- 4** 客户端错误
- 5** 服务器错误
脚本功能介绍
- 功能一、分析HTTP状态码在100,200,300,400,500之间及以上的请求条数
- 分析日志中http状态码为404,500的请求条数