mysql阿里监控sql_自定义监控(阿里云zabbix)

自定义监控(阿里云&zabbix)

目前阿里云对25端口有限制,无法在阿里云上搭建邮件服务器发送告警邮件,如果需要邮件通知,可以采取下面方法:

1.开同阿里云企业邮箱

2.使用阿里云监控告警

3.第三方zabbix自定义脚本监控

一、阿里云自定义监控

阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置。

阿里提供了2个版本的自定义监控接口:

自定义监控SDK(python版) :cms_post.py

自定义监控SDK(bash版) :cms_post.sh

使用shell版本做演示

监控mysql主从状态:

1.创建自定义监控项

2afe3c0495870fc2c670a4275edd7f8c.png

ec2240a6788b774d53579091c0e26244.png

脚本post方法说明

1.命名空间中的字符串,用户aliuid

2.监控项名称,用户创建监控项时填写的名称

3.监控项值,用户上报到云监控的业务数据

4.字段信息,结合监控项,表示具体业务字段意义。mysql主从监控脚本

cat mysql_check.sh

#!/bin/bash

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

export HOSTS=$(hostname)

mysql_user=‘root‘

mysql_pass=‘123.com‘

mail="xuel@51idc.com"

data=$(date +%Y-%m-%d-%H:%M)

netstat -lntup|egrep ":3306"|grep -v grep>/dev/null0

if [ $? -eq 0 ];then

Slave_IO=`mysql -u${mysql_user} -p${mysql_pass} -e "show slave status\G"|grep "Slave_IO_Running:"|awk -F": " ‘{print $2}‘`

Slave_SQL=`mysql -u${mysql_user} -p${mysql_pass} -e "show slave status\G"|grep "Slave_SQL_Running:"|awk -F": " ‘{print $2}‘`

if [ "$Slave_IO" == "Yes" ] && [ "$Slave_SQL" == "Yes" ];then

STAT=1 && echo "$data mysql-status is ok">>/var/log/mysql-status.log

else

STAT=0 && echo "$data mysql-status is error">>/var/log/mysql-status.log

fi

else

STAT=0 && echo "$data mysql-status is error">>/var/log/mysql-status.log

fi

/scripts/cms_post.sh 1931875513165389 mysql_status $STAT status=$HOSTS

制作定时任务,没分钟调用check脚本来上数据

01302b2848f2634aedc5a0bd6820a743.pngcms_post.sh 阿里云上报脚本

#!/bin/bash

#########################################

#Usage:       sh cms_post.sh

#Author:      CMS Dev Team

#Company:     Aliyun Inc.

#Version:     1.0

#########################################

#parameters instructions

# $1: ali_uid, $2: metric_name, $3: metric_value, $4:fields

#convert current time to milliseconds

if [[ ! "$#" -eq 4 ]];then

echo "usage: $0 userId, metricName, value, dimensions"

echo "--multiple dimensions like ‘ip=111.111.111.111,hostname=cms‘"

exit 1

fi

#biz time

timestamp=`date +%s%N | cut -b1-13`

#build dimensions json

arr=(${4//,/ })

dimensions="{"

for i in "${arr[@]}"; do

kv=(${i//=/ })

dimensions=${dimensions}‘"‘${kv[0]}‘":"‘${kv[1]}‘",‘

done

dimensions=${dimensions%,*}

dimensions=${dimensions}‘}‘

#build namespace and metrics

userId="$1"

namespace="acs/custom/$1"

metrics=‘[{"metricName":"‘"$2"‘","value":‘"$3"‘,"unit":"None","timestamp":‘"$timestamp"‘,"dimensions":‘"$dimensions"‘}]‘

url="http://openNaNs.aliyun.com/metrics/put"

params="userId=$userId&namespace=$namespace&metrics=$metrics"

echo "params: ${params}"

curl -v ${url} --data ${params}

添加完成监控后,监控图表如下:

cc4206193d19401ae091fad4c8a9ee8e.png

告警配置

b94a8f9766c7a8a92b0821a7d46bd1db.png

Status填写变量HOSTNAME统计周期填写告警触发间隔

a3b333b15a6505bdc60db3877e231e64.png

二、Zabbix监控方式

在被监控服务器上需要先安装zabbix-sender 来给zabbix-server提交发送数据rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

yum install zabbix-sender -y#!/bin/bash

mysql_user=‘root‘

mysql_pass=‘123.com‘

mail="xuel@51idc.com"

data=$(date +%Y-%m-%d-%H:%M)

netstat -lntup|egrep ":3306"|grep -v grep>/dev/null0

if [ $? -eq 0 ];then

Slave_IO=`mysql -u${mysql_user} -p${mysql_pass} -e "show slave status\G"|grep "Slave_IO_Running:"|awk -F": " ‘{print $2}‘`

Slave_SQL=`mysql -u${mysql_user} -p${mysql_pass} -e "show slave status\G"|grep "Slave_SQL_Running:"|awk -F": " ‘{print $2}‘`

if [ "$Slave_IO" == "Yes" ] && [ "$Slave_SQL" == "Yes" ];then

STAT=1 && echo "$data mysql-status is ok">>/var/log/mysql-status.log

else

STAT=0 && echo "$data mysql-status is error">>/var/log/mysql-status.log

fi

else

STAT=0 && echo "$data mysql-status is error">>/var/log/mysql-status.log

fi

zabbix_sender -z 192.168.1.234 -s "test-mysql-status" -k mysql -o $STAT

-z zabbix-server的地址

-s 监控项目名称

-k  键值

监控项目

71c8d99372f083cd8dd3c1271fb3470a.png

触发器

f720ee02d16487e6a3ab3259b1672ea1.png

监控图表

14f12685f4ecc41c212bd5fb83d68350.png


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部