zabbix监控mysql指标_zabbix 监控mysql指标,支持variables、STATUS下所有变量

最近在处理zabbix 监控mysql的时候碰到一些问题,现做记录;

默认的脚本里面没有用户名密码信息,如果设置了root不允许使用空密码本地登录时会出错,就接受不到数据;

具体可以在zabbix server或proxy用agent_get测试一下

zabbix_get -s mysql_server -k mysql.ping

如果返回0,但是mysql服务是正常启动的则是有问题的

获取不到数据还有可能是在mysql5.6版本后,直接用命令行中携带密码是会有警告

34900b2cdcfbd0dab42edb0db82afc58.png

解决办法是在原命令后面加入

2>/dev/null

下面提供sh脚本和config

check_mysql.sh

#!/bin/bash

# -------------------------------------------------------------------------------

# FileName: check_mysql.sh

# Revision: 1.0

# Date: 2019-3-21

# Author: xsj

# Email: soft_xiang@qq.com

# Description:

# Notes: ~

# -------------------------------------------------------------------------------

# Copyright: 2019 (c) xsj

# License: GPL

# 用户名

MYSQL_USER='root'

# 密码

MYSQL_PWD='xxx'

# 主机地址/IP

MYSQL_HOST='127.0.0.1'

# 端口

MYSQL_PORT='3306'

MYSQL_PATH='/usr/local/gwall/mysql/bin/mysql'

MYSQLADMIN_PATH='/usr/local/gwall/mysql/bin/mysqladmin'

# 数据连接

MYSQL_CONN="${MYSQL_PATH} -u${MYSQL_USER} -h${MYSQL_HOST} -P${MYSQL_PORT}"

MYSQLADMIN_CONN="${MYSQLADMIN_PATH} -u${MYSQL_USER} -h${MYSQL_HOST} -P${MYSQL_PORT}"

# 参数是否正确

if [ $# -ne "1" ];then

echo "arg error!"

fi

# variables 对应的key类似 mysql.status[Var_max_connections]

# status 对应的key类似 mysql.status[Uptime]

case $1 in

Var_*)

$MYSQL_CONN -e "show global variables" 2>/dev/null | awk '$1 ~ /'"${1#*Var_}"'$/ {print $2}' ;;

Version)

$MYSQLADMIN_PATH -V | awk -F '[ ,]' '{print $6}' ;;

Ping)

$MYSQLADMIN_CONN ping 2>/dev/null | wc -l ;;

Status_*)

$MYSQL_CONN -e "show global status" 2>/dev/null | awk '$1 ~ /'"${1#*Status_}"'$/ {print $2}' ;;

*)

echo "Usage:$0(Status_Uptime|Var_max_connections);其中 Status_ 后支持所有GLOBAL STATUS中的key;Var_ 后支持所有GLOBAL variables中的key。" ;;

esac

status_mysql.conf

# 获取mysql版本

UserParameter=mysql.version,/etc/zabbix/shell/check_mysql.sh Version

# 获取mysql GLOBAL STATUS中性能指标,这个是上面定义好的脚本

UserParameter=mysql.status[*],/etc/zabbix/shell/check_mysql.sh 'Status_'$1

# 获取mysql GLOBAL variables中的参数

UserParameter=mysql.var[*],/etc/zabbix/shell/check_mysql.sh 'Var_'$1

# 获取mysql运行状态

UserParameter=mysql.ping,/etc/zabbix/shell/check_mysql.sh Ping

zabbix web管理端设置参数

851b1f6c2d73e33add24266ebce79ae3.png

注意事项:

配置的mysql用户名权限是否允许

zabbix_agent.conf是否已配置脚本目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值