sol229 发表于 2018-10-2 13:13:41

Centos6.5 zabbix3.2.6监控mysql-12780274

  
一、   操作环境
  我使用的linux系统是centos6.5,数据库是mysql5.6,apache2.4,php5,6
  安装目录:
  /usr/local/apache
  /usr/local/php
  /usr/local/mysql
  /usr/local/zabbix
Zabbix服务器插件安装
  Zabbix3.2.6自带监控mysql模板监控项不全面,所以重新下载导入到zabbix里面
  下载网址:、
  https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

  选择最新的percona插件选择我是用的操作环境,单独下载包zabbix模板,下面有用户手册可以下载参考。
  官方安装文件下载地址:
  https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html
  可以参考官网的安装文档
安装
  使用rpm安装插件
  # rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
  warning:percona-zabbix-templates-1.1.7-2.noarch.rpm: Header V4 DSA/SHA1 Signature, keyID cd2
  efd2a: NOKEYPreparing...               ###########################################
  1:percona-zabbix-template###########################################
  Scripts are installed to/var/lib/zabbix/percona/scripts         脚本安装位置
  Templates are installed to/var/lib/zabbix/percona/templates      模板安装位置
  给percona模块文件加权限
  chown -R zabbix. /var/lib/zabbix
  复制zabbix代理配置
  注:我是用的zabbix服务器端进行配置所以配置文件在/usr/local/zabbix/etc/目录下
  Zabbix客户端的配置文件在/etc/zabbix/zabbix_agentd.d
  cp/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
  更改客户端配置文件加入一句
  vim /usr/local/zabbix/etc/zabbix_agentd.conf
  Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_percona_mysql.conf
  重启zabbix客户端
  /etc/init.d/zabbix_agentd restart
  在代理上配置mysql连接,安全起见新创建一个用户只有读的权限,本地用户localhost
  GRANT SELECT ON *.* TO 'zabbixuser'@'localhost'IDENTIFIED BY 'zab1P8a2s';
  Flush privileges;
  修改脚本中的用户和密码
  vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
  $mysql_user = 'zabbixuser’
  $mysql_pass = ' zab1P8a2s';
  $mysql_port = 3306;
  测试脚本能够获取到数据库的状态信息
  改脚本许测试俩部分

[*]  mysql实例本身的状态变量
[*]  mysql是否为slave
  测试mysql实例本身的状态变量
  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
  报错:

  把下面哪一行更改成php的运行脚本,环境变量
  vim/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
  CMD="/usr/local/php/bin/php -q$DIR/ss_get_mysql_stats.php --host $HOST --items gg"
  # /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
  764         返回值正确
  测试php,又返回值正确
  /usr/local/php/bin/php -q/var/lib/zabbix/percona/scripts/ss_get_m
  ysql_stats.php --host localhost --items gg

  # sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
  0      返回值0或1正确
  【报错处理】
  vim get_mysql_stats_wrapper.sh
  RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print$2}' | tr'\n'','`
  # 如果脚本运行时出现提示“Warning: Using a password on the commandlineinterface can be insecure.”,解决方法
  RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e'SHOW SLAVE STATUS\G'2>&1 | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print$2}' | tr'\n'','`
  所有调试完成后,重启zabbix_agentd
  /etc/init.d/zabbix_agentd restart
调试zabbixweb
  调试zabbix的web端
  配置—>模板-->导入-->

  选择模板然后点击导入,会显示导入成功

  这个模板就是新导入的mysql模板

  因为我实在zabbix服务器上面做的所以选择配置—>主机—>zabbix server(刚刚设置完的主机)

  模板-->选择

  选择mysql模板之后点击添加—>更新

  登网页刷新5分钟然后查看图像

Zabbix客户端插件安装
  客户端做法类似只是目录不一样
  rpm -ivhpercona-zabbix-templates-1.1.7-2.noarch.rpm
  /var/lib/zabbix/percona/scripts               脚本路径
  /var/lib/zabbix/percona/templates            模板路径
  给percona模块文件加权限
  chown -R zabbix. /var/lib/zabbix
  Zabbix配置文件路径:
  /etc/zabbix
  复制zabbix代理配置
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.conf.d/userparameter_percona_mysql.conf  更改客户端配置文件加入一句
  vim /usr/local/zabbix/etc/zabbix_agentd.conf
  Include=/etc/zabbix/zabbix_agentd.d/userparameter_percona_mysql.conf
  重启zabbix客户端
  /etc/init.d/zabbix_agentd restart
  在代理上配置mysql连接,本地用户localhost
  GRANT all privileges ON *.* TO 'zabbixuser'@'localhost'IDENTIFIED BY 'zab1P8a2s';
  Flush privileges;
  修改脚本中的用户和密码
  vim/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
  $mysql_user = 'zabbixuser’
  $mysql_pass = 'zab1P8a2s';
  $mysql_port = 3306;
  $mysql_socket ='/usr/local/mysql/mysql.sock';
  $timezone   = 'PRC';
  测试脚本能够获取到数据库的状态信息
  改脚本许测试俩部分

[*]  mysql实例本身的状态变量
[*]  mysql是否为slave
  测试mysql实例本身的状态变量
  /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
  报错:

  把下面哪一行更改成php的运行脚本,环境变量
  vim/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
  CMD="/usr/local/php/bin/php -q$DIR/ss_get_mysql_stats.php --host $HOST --items gg"
  # /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.shgg
  764         返回值正确
  测试php,又返回值正确
  /usr/local/php/bin/php -q/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --itemsgg

  # sudo -u zabbix -H/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
  0      返回值0或1正确
  【报错处理】
  vim get_mysql_stats_wrapper.sh
  RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print$2}' | tr'\n'','`
  # 如果脚本运行时出现提示“Warning: Using a password on the commandlineinterface can be insecure.”,解决方法
  RES=`HOME=~zabbix mysql -h localhost -uzabbixuser-pzab1P8a2s -e'SHOW SLAVE STATUS\G'2>&1 | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print$2}' | tr'\n'','`
  所有调试完成后,重启zabbix_agentd
  /etc/init.d/zabbix_agentd restart
  Zabbix服务器添加监控项,因为mysql数据库数据很多,zabbix获取数据的时候等待时间大概5到10分钟左右


页: [1]
查看完整版本: Centos6.5 zabbix3.2.6监控mysql-12780274