JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Zabbix监控MySQL数据库操作实战 如何监控mysql数据库

wys521 2024-10-03 03:36:37 精选教程 25 ℃ 0 评论

我们需要部署一个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

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

删除旧键值模板

rm -rf userparameter_mysql.conf

创建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


重启zabbix-agentd服务

/etc/init.d/zabbix-agent restart

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"

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

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




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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表