21ewd 发表于 2016-1-28 09:05:19

zabbix监控mysql主从

一、自定义监控mysql脚本
cat mysql_MS.sh
#!/bin/bash
# -------------------------------------------------------------------------------
# FileName:    mysql_MS.sh
# Revision:    1.0
# Description:
# Notes:       ~
# -------------------------------------------------------------------------------

# 用户名
MYSQL_USER='iyunv'

# 密码
MYSQL_PWD='iyunv.com'

# 主机地址/IP
MYSQL_HOST='127.0.0.1'

# 端口
MYSQL_PORT='3306'

# 数据连接
MYSQL_CONN="/usr/bin/mysql -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT} -e"

# 参数是否正确
if [ $# -ne "1" ];then
    echo "arg error!"
fi

# 获取数据
case $1 in
    Behind_Master)
      Behind_Master=`${MYSQL_CONN} "show slave status\G"|grep Seconds_Behind_Master|awk -F":" '{print $2}'`
            echo $Behind_Master;;
    Slave_IO_Running)
      Slave_IO_Running=`${MYSQL_CONN} "show slave status\G"|grep Slave_IO_Running|awk -F ":" '{print $2}'`
            if [ $Slave_IO_Running = "Yes" ];then
                  echo "1"
            else
                  echo "0"

            fi;;
    Slave_SQL_Running)
      Slave_SQL_Running=`${MYSQL_CONN} "show slave status\G"|grep Slave_SQL_Running|awk -F":" '{print $2}'`
      if [ $Slave_SQL_Running = "Yes" ];then
                echo "1"
      else
                echo "0"
      fi;;   
esac
二、自定义key

在zabbix_agentd.conf的最下面增加如下内容
#获取主从延时时间,以及从库状态
UserParameter=mysql[*],/etc/zabbix/scripts/mysql_MS.sh $1

重启zabbix_agent服务
/etc/init.d/zabbix-agen restart

三、自定义模板
3.1、创建模板

由于系统中没有监控主从的模板,这里我们自己创建一个模板

进入zabbix web后台,configuration–>Template-> Create Template

3.2、模板创建完成之后,在模板中建立Iterms和Granps和Trigger3.2.1、 创建Iterms
另外两个和这个创建方法相同这里就不演示。下面我们3个是Iterms都创建完成的截图

3.2.2、 创建Graphs
3.2.3、创建trigger,实现报警功能这里只演示添加Slave_IO_Running,其他的和这个添加方式一样这里就不演示了

四、添加模板到主机添加linux模板

五、查看效果图


页: [1]
查看完整版本: zabbix监控mysql主从