监控mysql数据变化_Zabbix监控MySQL数据库操作实战

本文介绍了如何使用Zabbix监控MySQL数据库的状态,包括编写监控脚本`check_mysql.sh`,设置Zabbix-agent端的自定义键值配置文件,以及在Zabbix-server端测试键值和引入监控模板。
摘要由CSDN通过智能技术生成

我们需要部署一个MySQL服务和一个zabbix-agentd客户端

2.1 编写监控mysql脚本

在nginx服务器(192.168.200.69)上安装一个MySQL 下面是监控mysql状态的一个shell脚本,内容如下:

mkdir -p /server/scripts

cd /server/scripts

vim check_mysql.sh

cat check_mysql.sh

1. #!/bin/bash

2. # author:Mr.sun

3.

4. MySQL_USER="root"

5. MySQL_PWD="linyaonie"

6. MySQL_HOST="127.0.0.1"

7. MySQL_PORT="3306"

8.

9. MySQL_CONN="/usr/local/mysql/bin/mysqladmin -u${MySQL_USER} -h${MySQL_HOST} -P${MySQL_PORT} -p${MySQL_PWD}"

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

11. echo "arg error!"

12. fi

13. case $1 in

14. Uptime)

15. result=`${MySQL_CONN} status | cut -f2 -d":" | cut -f1 -d "T"`

16. echo $result

17. ;;

18. Com_update)

19. result=`${MySQL_CONN} extended-status | grep -w "Com_update" | cut -d"|" -f3`

20. echo $result

21. ;;

22. Slow_querles)

23. result=`${MySQL_CONN} status | cut -f5 -d":" | cut -f1 -d"O"`

24. echo $result

25. ;;

26. Com_select)

27. result=`${MySQL_CONN} extended-status | grep -w "Com_select" | cut -d "|" -f3`

28. echo $result

29. ;;

30. Com_rollback)

31. result=`${MySQL_CONN} extended-status | grep -w "Com_rollback" | cut -d"|" -f3`

32. echo $result

33. ;;

34. Questions)

35. result=`${MySQL_CONN} status | cut -f4 -d":" | cut -f1 -d"S"`

36. echo $result

37. ;;

38. Com_insert)

39. result=`${MySQL_CONN} extended-status | grep -w "Com_insert" | cut -d"|" -f3`

40. echo $result

41. ;;

42. Com_delete)

43. result=`${MySQL_CONN} extended-status | grep -w "Com_delete" | cut -d"|" -f3`

44. echo $result

45. ;;

46. Com_commit)

47. result=`${MySQL_CONN} extended-status | grep -w "Com_commit" | cut -d"|" -f3`

48. echo $result

49. ;;

50. Bytes_sent)

51. result=`${MySQL_CONN} extended-status | grep -w "Bytes_sent" | cut -d"|" -f3`

52. echo $result

53. ;;

54. Bytes_received)

55. result=`${MySQL_CONN} extended-status | grep -w "Bytes_received" | cut -d"|" -f3`

56. echo $result

57. ;;

58. Com_begin)

59. result=`${MySQL_CONN} extended-status | grep -w "Com_begin" | cut -d"|" -f3`

60. echo $result

61. ;;

62. *)

63. echo "Usage:$0(Uptime|Com_update|Slow_querles|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)"

64. ;;

65. esac

d48ee28d662834093996a98a5c47b0f3.png

2.2在zabbix-agent端创建自定义键值配置文件

创建mysql.status的键值

chmod +x check_mysql.sh

chown zabbix.zabbix check_mysql.sh

cd /etc/zabbix/zabbix_agentd.d/

vim mysql_status.conf

cat mysql_status.conf

1. UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1

60f3f08a9cf619773a18b7eb85f18978.png

删除旧键值模板

rm -rf userparameter_mysql.conf

c3efe8d759592138a7d78f82998cc339.png

创建mysql.ping和mysql.version的键值

vim mysql_status.conf

cat mysql_status.conf

1. UserParameter=mysql.status[*],/server/scripts/check_mysql.sh $1

2. UserParameter=mysql.ping,/usr/bin/mysqladmin -uroot -plinyaonie ping | grep -c alive

3. UserParameter=mysql.version,/usr/bin/mysql -V

87d9c63cf9726f35ee501b61dc0e8a9f.png
a68a277e79b227e22c2136a7c30bdbc5.png

重启zabbix-agentd服务

/etc/init.d/zabbix-agent restart

14f9fb2c076a04fdc79646aa28451eaa.png

2.3 在zabbix-server端测试键值

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.status[Uptime]"

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.status[Com_commit]"

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.status[Bytes_sent]"

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.status[Bytes_received]"

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.ping"

zabbix_get -s 192.168.200.69 -p 10050 -k "mysql.version"

d656e010e9e8265e16970ca1aa51bcaa.png

2.4 在zabbix-server端Web前台引入zabbix监控MySQL的模版

zabbix自带监控MySQL的模版,我们只需要将模版引入到主机即可 配置-->主机-->选择主机-->模板,然后将MySQL模版连接到此主机即可

3f142e4998415d864c56d2b0bbb15463.png
98a1cc2b89dc5dece95e045dfff7b38c.png
588f4278649d38b0c617740dc3cba6af.png
8f7b5c66ad02ce02d9bf3f6a5d9c79dc.png

从图中可以发现模板里的键值都是我们之前已经定义好了的键值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值