1. 操作系统级别监控项目
参考文档:阿里云监控项解析
1. cpu相关
当前空闲CPU百分比1
top -n 1|grep Cpu|awk -F "," '{print $1}'|awk -F " " '{print $2}'
当前内核空间占用CPU百分比1
top -n 1|grep Cpu|awk -F "," '{print $2}'|awk -F " " '{print $2}'
改变过优先级的进程占用CPU的百分比1
top -n 1|grep Cpu|awk -F "," '{print $3}'|awk -F " " '{print $2}'
当前等待IO操作的CPU百分比1
2top -n 1|grep Cpu|awk -F "," '{print $5}'|awk -F " " '{print $2}'
该项数值比较高说明有很频繁的IO操作
2. 内存
内存总容量1
top -n 1|grep buff/cache|awk -F '[, ]+' '{print $4}'
当前空闲内存1
top -n 1|grep buff/cache|awk -F '[, ]+' '{print $7}'
当前已使用内存1
top -n 1|grep buff/cache|awk -F '[, ]+' '{print $10}'
3. 负载
一分钟负载1
top -n 1|grep user|awk -F '[, ]+' '{print $11}'
五分钟负载1
top -n 1|grep user|awk -F '[, ]+' '{print $12}'
十五分钟负载1
2
3top -b -n 1|grep user|awk '{print $NF}'
#### 4. 磁盘
磁盘占用百分比1
df | grep /dev|grep -v "shm\|boot\|devtmpfs"|awk '{print $5}'|sed 's/\%.*$//'
2. memcached
3. redis
4. nginx
需要监控active connections,当前活动链接数
reading,正在读取客户端的报文首部的请求,不能太大
writing 正在向客户端发生链接的请求
waiting 等待,空链接
5. SNMP
6. mysql
1. 性能
QPS
数据库每秒处理的请求数量1
2
3
4
5
6
7
8
9
10
11
12
13
14cat Querry_qps.sh
OLD_QPS=`echo "show global status where Variable_name='Com_select';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_select |grep Com_select |awk '{print $2}'`
sleep $1
NEW_QPS=`echo "show global status where Variable_name='Com_select';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_select |grep Com_select |awk '{print $2}'`
echo $OLD_QPS
echo $NEW_QPS
result=`expr $NEW_QPS-$OLD_QPS|bc`
echo $result
printf "%.2f\n" `echo "scale=2;$result/$1"|bc`
TPS1
2
3
4
5
6
7
8
9
10
11
12
13cat Querry_tps.sh
OLD_COM_INSERT=`echo "show global status where Variable_name='Com_insert';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_insert|awk '{print $2}'`
OLD_COM_UPDATE=`echo "show global status where Variable_name='Com_update';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_update|awk '{print $2}'`
OLD_COM_DELETE=`echo "show global status where Variable_name='Com_delete';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_delete|awk '{print $2}'`
sleep $1
NEW_COM_INSERT=`echo "show global status where Variable_name='Com_insert';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_insert|awk '{print $2}'`
NEW_COM_UPDATE=`echo "show global status where Variable_name='Com_update';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_update|awk '{print $2}'`
NEW_COM_DELETE=`echo "show global status where Variable_name='Com_delete';"|mysql -p3306 -hlocalhost -uroot -pxxx|grep Com_delete|awk '{print $2}'`
result=`echo "($NEW_COM_INSERT - $OLD_COM_INSERT) + ($NEW_COM_UPDATE - $OLD_COM_UPDATE) + ($NEW_COM_DELETE - $OLD_COM_DELETE)" | bc`
printf "%.2f\n" `echo "scale=2;$result/$1"|bc`
zabbix监控web网站
zabbix自治愈
zabbix报警,递归报警,分别发给指定的人
修改报警的内容
邮件报警
短信报警
微信报警
监控的作用:
- 根据历史经验分析服务器的性能和未来趋势,统计汇报,服务器采购指标
- 当业务故障时候实现自治愈
- 当业务故障时候第一时间通知运维修复
- 压测查看服务器的性能,找出瓶颈所在