您的位置:首页 > 其它

桌面支持--PLM软件必须右键用管理员账号打开

2015-08-19 16:25 295 查看
背景:多台服务器管理,出现问题时只能跑到指定机器上查看日志信息。

而cpu,mem使用情况在日志里面只能凭个人经验来判断是cpu,还是mem或者io出现问题,导致机器出现故障。而zabbix可以保存这些时间段,机器各项的信息从而能快速定位问题。
zabbix:包含了系统常用的监控,同时还可以自定义选项来监控(exp:访问量、在线)。扩展起来非常方便,所以就选择了zabbix。
linux来说基本很大一部分机器都装有mysql。同时官网也提供了php的监控方法(采用的时候zabbix_sender进行推送),但是这样每个机器就得装php才能监控,可是想想不用php也完全能完成(shell)。于是就自己写了监控脚本和大家大奖分享下。
具体思路:

采集mysql自身的运行信息
View Code SQL

show global status;

讲打印出来的mysql运行信息保存至临时文件(exp:/tmp/zabbix_mysql_%M.log).
这里很多人会问为什么要保存至文件呢,而不是直接返回呢?
<1>.为了保证mysql取值时,不会频繁的进行数据库连接查询,而zabbix获取数据有事周期性的(本人使用的是60s/次)。所以本人使用分钟来生成文件,分钟内都取同一个文件。
<2>.为了保证各项数据取到没有时间差。保证生成的线条一致性。

好了废话不多说,下面是she脚本。

View Code SHELL

#!/bin/sh
dateM=`date "+%M"`;
fileName='/tmp/zabbix_mysql_status_'$dateM".log";
if [ ! -f $fileName ]; then
rm -f /tmp/zabbix_mysql_status*;
mysql -uroot -p$1 -e 'show global status;' > $fileName;
fi;
if [  -f $fileName ]; then
cat $fileName | grep -w "$2" | awk 'BEGIN {FS=" "} {print $2}'
fi;

usage:

复制以上内容保存到/usr/bin/zabbix_mysql.sh(或者直接下载).

赋予执行去权限(chmod +x /usr/bin/zabbix_mysql.sh)

里面有两个参数 $1:表示root密码,$2:监控项。
exp:zabbix_mysql.sh rootpass Com_select(启动mysql的总查询次数)

mysql status 介绍:
http://dev.mysql.com/doc/refman/5.0/en/server-status-variables.html
效果图:




zabbix mysql

附件:

zabbix mysql shell

出处: 马丁博客http://www.blags.org/
本文链接地址: http://www.blags.org/zabbix-mysql-comprehensive-monitoring/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: