zabbix 3.0.2监控mysql

内网有一台mysql服务器,版本是5.7.14

关于这个版本安装,有兴趣可以参考

http://xiao987334176.blog.51cto.com/2202382/1783509

zabbix自带有一个模板Template App MySQL,用来监控mysql的

但是不能直接使用,否则会因为没有Key,导致获取不到数据。

下面介绍详细步骤。

首先在mysql服务器安装zabbix-agent,请参考

http://xiao987334176.blog.51cto.com/2202382/1768281

最下面一部分。

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

讲解一个比较重要的问题。

在shell里面,直接运行mysql相关命令,指定密码时,就会有一个提示

比如: mysql -u zabbix -p123456 运行之后

Warning: Using a password on the command line interface can be insecure.

这个提示在mysql 5.5之后会出现。

而且,这个提示,会被zabbix-servre捕捉到,在zabbix-server.log日志中会出现

24123:20160826:101433.609 error reason for "110:mysql.status[Bytes_sent]" changed: Received value [mysqladmin: [Warning] Using a password on the command line interface can be insecure.8991074] is not suitable for value type [Numeric (float)]

提示参数不符合

在zabbix-server服务器上面,使用zabbix-get命令时

[[email protected] ~]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.110 -p10050 -k mysql.status[Uptime]

mysqladmin: [Warning] Using a password on the command line interface can be insecure.

57577

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

那么为了解决这个问题,必须无密码登录才可以,为了安全起见,限定只能在localhost登录

先创建一个zabbix用户(创建用户,密码不能为空,否则报错)

grant all PRIVILEGES on *.* to [email protected]‘localhost‘ identified by ‘123456‘;

设置密码为root

update mysql.user set authentication_string=password(‘root‘) where user=‘zabbix‘ and Host = ‘localhost‘;

刷新权限

flush privileges;

退出

exit;

测试无密码登录

[[email protected] opt]# mysql -u zabbix

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 930

Server version: 5.7.14 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type ‘help;‘ or ‘\h‘ for help. Type ‘\c‘ to clear the current input statement.

mysql> exit

Bye

发现一个很奇怪的现象,把密码设置和root一样,就可以无密码登录了

mysql> select Host,User,authentication_string from mysql.user;

+-----------+-----------+-------------------------------------------+

| Host      | User      | authentication_string                     |

+-----------+-----------+-------------------------------------------+

| localhost | root      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

| localhost | mysql.sys | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE |

| localhost | zabbix    | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |

+-----------+-----------+-------------------------------------------+

3 rows in set (0.00 sec)

进入Mysql服务器的zabbix-agent目录

cd /usr/local/zabbix-agent/

mkdir alertscripts

编辑脚本

vim checkmysql.sh

内容如下:

#!/bin/sh

#MYSQL_SOCK="/data/3306/mysqld.sock"

#MYSQL_PWD=`cat /usr/local/zabbix-agent/alertscripts/.mysqlpassword`

ARGS=1

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

echo "Please input one arguement:"

fi

case $1 in

Uptime)

result=`mysqladmin -uzabbix status|cut -f2 -d":"|cut -f1 -d"T"`

echo $result

;;

Com_update)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_update"|cut -d"|" -f3`

echo $result

;;

Slow_queries)

result=`mysqladmin -uzabbix status |cut -f5 -d":"|cut -f1 -d"O"`

echo $result

;;

Com_select)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_select"|cut -d"|" -f3`

echo $result

;;

Com_rollback)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_rollback"|cut -d"|" -f3`

echo $result

;;

Questions)

result=`mysqladmin -uzabbix status|cut -f4 -d":"|cut -f1 -d"S"`

echo $result

;;

Com_insert)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_insert"|cut -d"|" -f3`

echo $result

;;

Com_delete)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_delete"|cut -d"|" -f3`

echo $result

;;

Com_commit)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_commit"|cut -d"|" -f3`

echo $result

;;

Bytes_sent)

result=`mysqladmin -uzabbix extended-status |grep -w "Bytes_sent" |cut -d"|" -f3`

echo $result

;;

Bytes_received)

result=`mysqladmin -uzabbix extended-status |grep -w "Bytes_received" |cut -d"|" -f3`

echo $result

;;

Com_begin)

result=`mysqladmin -uzabbix extended-status |grep -w "Com_begin"|cut -d"|" -f3`

echo $result

;;

*)

echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions)"

;;

esac

设置权限

chmod 755 checkmysql.sh

chown zabbix:zabbix -R /usr/local/zabbix-agent/

编辑配置文件

vim /usr/local/zabbix-agent/etc/zabbix_agentd.conf

增加紫色部分,内容如下:

LogFile=/usr/local/zabbix-agent/logs/zabbix_agentd.log

###zabbix 服务端地址

Server=192.168.1.109

##agent服务监听地址,也就是本机地址

#ListenIP=192.168.1.105

###ServerActive=192.168.1.110

##zabbix-server端主机地址(zabbix server)

Hostname=zabbix server

UserParameter=mysql.version,mysql -V

UserParameter=mysql.status[*],/usr/local/zabbix-agent/alertscripts/checkmysql.sh $1

UserParameter=mysql.ping,mysqladmin -uzabbix ping | grep -c alive

重启zabbix_agentd

/etc/init.d/zabbix_agentd restart

在zabbix-server服务器上面检查mysql

[[email protected] alertscripts]# /usr/local/zabbix/bin/zabbix_get -s 192.168.1.110 -p10050 -k mysql.status[Uptime]9479

[[email protected] alertscripts]#

如果能直接返回数字,没有多余的字符,就说明成功了。

在zabbix-server添加一台主机

添加模板的时候,选择Template App MySQL和Template OS Linux

等待10分钟,图像就会出来了。

时间: 2024-12-07 10:04:18

zabbix 3.0.2监控mysql的相关文章

Zabbix3.0.4监控MySQL数据库状态

先在zabbix主机上面配置好MySQL服务器的信息,添加好zabbix自带的Template App MySQL模版,然后去mysql服务器上安装agent,再添加mysql监控脚本. 1.Zabbix官方提供的监控mysql的模板Template App MySQL,可以看到相关的Items和key. 打开监控项查看添加的mysql模板 2.zabbix_agent端结合官方提供的key编写Shell脚本,从数据库中取出Items的key的值 cat checkmysql.sh #!/bin

zabbix 4.0 自带MySQL 模版使用

zabbix 4.0 自带MySQL 模版使用 环境简介: zabbix 服务器IP:202.1.100.1 mysql 服务器IP:202.1.100.2 (agent端) 前提条件:是202.1.100.2已经安装zabbix_agent 1.创建监控所需mysql账户(agent端): grant usage on *.* to [email protected] identified by '123456'; flush privileges; 2.agent端:创建.my.cnf并检查

Zabbix 3.0 部署监控 [三]

Zabbix 3.0 部署监控 [三] zabbix 时间:2016年9月22日 笔者QQ:381493251 Abcdocker交流群:454666672 如果遇到什么问题可以进群询问,我们是一个乐于帮助的集体! Dashboard首页信息介绍 Status of Zabbix(Zabbix状态)介绍 Zabbix server is running                           #Zabbix服务器是否运行 Number of hosts (enabled/disabl

zabbix企业应用之监控mysql 5.6版本

最近很多人都问我如何为什么使用我之前博客的模板不能监控了,经过沟通发现对方的mysql版本是5.6,在进行命令行查看数据的实话,使用mysql -uxxx -pxxx -Pxxx的时候,会如下报错 Warning: Using a password on the command line interface can be insecure 报错原因是mysql 5.6版本增加了密码安全策略,之前版本可以使用的命令行里加上密码就会强制报错,所以使用zabbix lld监控mysql的时候,就会由于

Zabbix结合插件percona监控mysql数据

按道理来说zabbix就自带的MySQL插件来监控mysql数据库,但是你会发现,自带的mysql监控项是很少的,根本满足不了公司的需求. 由于它本身自带的模板太过简单了,所以需要做更详细的监控,而percona就提供了这个详细监控的模版以及脚本,解决了监控不全面的问题.. 1.percona插件安装: [[email protected] ~]# cd /usr/local/src/ 官网下载percona的rpm包,我这里是下载的是1.1.7版本的 [[email protected] sr

zabbix自带模板监控MySQL服务

1.GUI界面添加Mysql模板 Configuration --> Hosts --> 点击要添加的主机 --> Templates 添加新的模板,点击Select -->选择"Template DB MySQL" 点击"add"添加,最后点击Update更新: 2.登陆MySQL服务,创建只读账户: mysql> grant select on *.* to "zabbix"@"localhost&qu

zabbix 自带模板监控mysql

在客户端监控编写脚本 http://www.ttlsa.com/zabbix/zabbix-monitor-mysql/ vim /usr/local/zabbix-2.2.2/scripts/chk_mysql.sh #!/bin/bash # ------------------------------------------------------------------------------- # FileName:    check_mysql.sh # Revision:    1

Zabbix 3.0 添加监控 esxi 主机

Zabbix 版本 3.0.3 Esxi 5.5 zabbix 需要编译的时候要支持–with-libxml2 和 –with-libcurl(前者用来解析调用SOAP接口返回的XML,后者用来调用vcenter的SOAP接口), yum安装的默认支持. 修改zabbix 主配置文件 [[email protected] ~]# cat /usr/local/zabbix/etc/zabbix_server.conf StartVMwareCollectors(0-250) 只有大于0时才能是该

zabbix 3.0.2监控redis

下载redis模板 https://raw.githubusercontent.com/361way/zabbix/master/redis/redis_6379.xml 由于线上的端口是6380 所以需要修改一下 vim redis_6379.xml 直接一键替换就可以 :%s/6379/6380/g 重命名文件 mv redis_6379.xml redis_6380.xml 将文件拖到桌面上 进入zabbix后台页面 点击配置->模板->导入 选择文件,点击导入 在被监控的redis主机