参考文档:

percona官方文档:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html

zabbix2.4的安装方法:https://www.cnblogs.com/irockcode/p/6752316.html

其他博主文档:http://blog.51cto.com/xiaozhagn/2059713

先简单搭建mysql服务,用于后续zabbix监控来用

centos7.4客户端安装agent

http://blog.csdn.net/jas0n_liu/article/details/77099626

#关闭SElinux(临时关闭)
[root@db01 ~]# getenforce
Enforcing
[root@db01 ~]# setenforce
[root@db01 ~]# getenforce
Permissive
#永久关闭
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce #防火墙设置,允许zabbix-agent的10050端口通过
firewall-cmd --permanent --add-port=/tcp
firewall-cmd --reload
#或关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
#开始安装zabbix-agetn
rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
yum install zabbix-sender zabbix-agent zabbix-get
#更改配置文件vim /etc/zabbix/zabbix_agentd.conf
Server=<zbx-server的ip>
ServerActive=<zbx-server的ip>
Hostname=<本机的名字> #设置开启启动项
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service #永久修改主机名:
hostnamectl set-hostname xxx

 

安装mysql数据库(模拟测试使用)

http://www.cnblogs.com/bigbrotherer/p/7241845.html   #centos7.4 安装数据库

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB

1、下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm

2、安装mysql
yum -y install mysql-community-server 这步可能会花些时间,安装完成后就会覆盖掉之前的mariadb。

至此MySQL就安装完成了,然后是对MySQL的一些设置。

 

mysql的基础设置

 

#启动mysql
systemctl start mysqld.service
systemctl status mysqld.service

此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:

 

[root@db01 ~]# grep "password" /var/log/mysqld.log
2018-03-09T08:20:27.838373Z 1 [Note] A temporary password is generated for root@localhost: p(+mL;zI:9+T     #密码就是它啦!

[root@db01 ~]# mysql -uroot -p
Enter password:

#如果需要设置简易密码可以先执行下边两条,否则略过

mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;

#设置密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'zabbix123456';

#为了安全,可以使用下边的授权方式

GRANT USAGE,PROCESS,SUPER,REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'zabbixagentd'@'localhost' IDENTIFIED BY 'SWSHgzp3Pj3vcIdK';

flush privileges;

#但此时还有一个问题,就是因为安装了Yum Repository,以后每次yum操作都会自动更新,需要把这个卸载掉:

yum -y remove mysql57-community-release-el7-10.noarch

到此安装mysql完成!!!

  

以下便是zabbix-percona的安装过程

zabbix就自带的MySQL插件来监控mysql数据库,但是你会发现自带的mysql监控项是很少的,为了做更详细的监控,percona提供了这个详细监控的模版以及脚本,解决了监控不全面的问题。

https://www.percona.com/downloads/percona-monitoring-plugins/LATEST/

  

1、percona插件安装

 #官网下载percona的rpm包,我这里是下载的是1..8版本的
cd /usr/local/src/
yum -y install https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm #安装percona的rpm包,安装php插件
yum -y install percona-zabbix-templates php php-mysql #查看percona-zabbix-templates的安装信息
[root@server zabbix]# rpm -ql percona-zabbix-templates
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh #监控获取MySQL状态的
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php #配置连接数据库用户名密码的,用shell来调用PHP。
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf #要放在agent端/etc/zabbix/zabbix_agentd.d/下面的
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml #这个是模板,需要导入到zabbix3.4中。
#使用sz 把该模板导出到本地,再导入到zabbix2.4中后再导出该模板才能正常导入到zabbix3.4中; 已倒好的模板地址如下,可直接导入到zabbix3.4中: centos7版:https://pan.baidu.com/s/1-dTDwYNCCrvIh01dO4BEHA centos6版:链接:https://pan.baidu.com/s/1MsXMPwC2xPA78z8bnrO5Eg 密码:7i7d [root@db01 src]# ps -ef|grep mysql #mysql的安装路径 /usr/sbin/mysql
mysql : ? :: /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
root : pts/ :: grep --color=auto mysql

 

2、进入templates目录,把模板文件复制到zabbix_agentd.conf.d目录下 

[root@localhost ~]# cd /var/lib/zabbix/percona/templates/
[root@localhost templates]# ll
总用量 284
-rw-r--r--. 1 root root 18866 1月 10 22:46 userparameter_percona_mysql.conf
-rw-r--r--. 1 root root 269258 1月 10 22:46 zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@localhost templates]# mv userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
[root@localhost templates]#chown -R zabbix.zabbix /etc/zabbix/
[root@localhost templates]#chmod -R 755 /etc/zabbix/zabbix_agentd.d
#修改配置文件

#重启agent服务
systemctl restart zabbix-agent.service

  

3、修改监控脚本

参考文档:https://www.cnblogs.com/kevingrace/p/6256395.html

修改/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh脚本

-----------------------------------注意----------------------------------
若mysql没有使用默端口3006,比如mysql使用的是3317。则还需要修改如下脚本文件,记住不要在这里被坑了!改端口号码文件 #本次为3306
1-> 这里要先建好这个文件,否则会报rm权限错误
touch /tmp/localhost--mysql_zabbix_stats.txt:3317
chown -R zabbix.zabbix /tmp/localhost-mysql_zabbix_stats.txt:3317
#如果mysql使用的是默认的3306端口,那么就不用修改端口了(即将上面的:3317去掉)!
2-> 修改脚本

 [root@db01 scripts]# vim get_mysql_stats_wrapper.sh

CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt "
换成:
CACHEFILE="/tmp/$HOST-mysql_zabbix_stats.txt"
 
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt`
换成:
TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_zabbix_stats.txt`
 
#注释掉下一行,添加echo一行
#rm -f $CACHEFILE

echo "" > $CACHEFILE

RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' egrep '(Slave_IO_Running|Slave_SQL_Running):' awk -F: '{print $2}' tr '\n' ','`

换成:

RES=`/usr/sbin/mysql -uroot -pzabbix123456 -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','`

  从库记得添加下边这行,要不mysql-salve监控不到;最好主从都加。

4、然后修改/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php脚本,这里主要修改用户名密码 

$mysql_user = 'root';
$mysql_pass = 'zabbix123456';
$mysql_port = 3306;

  

5、其他操作

[root@db01 scripts]# chown -R zabbix.zabbix /var/lib/zabbix/
[root@db01 scripts]# chmod -R 755 /var/lib/zabbix/percona/scripts/
替换命令::%s/from/to/g

  

6、测试、排除故障

参考文档:http://blog.csdn.net/mchdba/article/details/51447560

zabbix-agent端测试

[root@db01 scripts]# /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg
gg:6

[root@db01 ~]# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh nj
34673

zabbix-server端测试

[root@zabbix ~]# zabbix_get -s 10.0.0.111 -p 10050 -k "MySQL.Handler-commit"
5
[root@zabbix ~]# zabbix_get -s 10.0.0.111 -p 10050 -k "MySQL.Threads-connected"
1

7、zabbix web页面添加主机的时候选择mysql模板即可

 

#需要参考的博文:

搭建主要参考:https://www.cnblogs.com/kevingrace/p/6256395.html

排错主要参考:http://blog.csdn.net/mchdba/article/details/51447560

瞄了一眼:https://www.cnblogs.com/caoxiaojian/p/5706992.html

- - - -  - - - - - -以下知识待用到后再研究 -  - - - - - - - - -

测试脚本能否获取到数据库的状态信息

该脚本需测试两部分内容

1. MySQL实例本身的状态变量

2. MySQL是否为Slave

测试MySQL实例本身的状态变量

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg

测试MySQL是否为Slave

# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave

返回0和1是正常值,返回“Access denied”则有问题。

zabbix日常监控项mysql(七)的更多相关文章

  1. zabbix日常监控项java(四)

    yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...

  2. zabbix日常监控项nginx(五)

    1.开启nginx监控 2.编写脚本来进行数据采集 3.设置用户自定义参数 4.重启zabbix-agent 5.添加item.创建图形.创建触发器 6.创建模板 注:第一次使用可以按需求制定好模板, ...

  3. zabbix日常监控项java(四又分之一)

    因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了.... 大部分都是参考网上其他博主的文档,在此作为梳理.总结:以方便自己日后使用查询.

  4. zabbix日常监控项web(八)

    存在一种情况:nginx或者httpd服务本身运行正常,但是网页挂了,类似于网页被黑,或者40X之类的...:可以用zabbix把web页面访问也监控起来,第一时间得知web崩溃信息并做相应处理. 被 ...

  5. zabbix日常监控项TCP连接状态(六)

    TCP的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受到了攻击,或是time_wait值比较高的话,我们要考虑看 ...

  6. zabbix添加自定义监控项

    zabbix添加自定义监控项 author:headsen  chen   2017-10-16  17:23:17 个人原创,转载请注明作者,出处,否则依法追究法律责任 主机端配置: 首先安装好za ...

  7. zabbix自定义监控项一

    1.在agent端配置 1.1 添加自定义监控项 zabbix中监控项叫做item,监控项的取值方法叫做key item: Items是从agnet主机里面获取的所有数据.通常情况下我叫itme为监控 ...

  8. zabbix自定义监控项数据类型错误

    问题描述 监控cpu使用率,脚本获取的值是浮点型  zabbix创建监控项时没有选数据类型,导致监控数据有问题. 查看 zabbix-server 日志: ::203016.768 error rea ...

  9. mysql小白系列_08 zabbix添加自定义监控项items和触发器

    监控mysql存活 1.配置agent自定义参数 vi /usr/local/zabbix/etc/zabbix_agentd.conf Include=/usr/local/zabbix/etc/z ...

随机推荐

  1. Tornado简介

    Tornado是一个具有强大异步功能的Python Web框架. Hello World 使用pip安装tornado: pip install tornado 编写控制器: import torna ...

  2. UOJ #356. 【JOI2017春季合宿】Port Facility

    Description 小M有两个本质不同的栈. 无聊的小M找来了n个玩具.之后小M把这n个玩具随机顺序加入某一个栈或把他们弹出. 现在小M告诉你每个玩具的入栈和出栈时间,现在她想考考小S,有多少种方 ...

  3. tcpdump一个命令的剖析

    简单介绍:用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据 ...

  4. GDI+中发生一般性错误的解决办法(转)

    今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误" ...

  5. Wordpress性能优化:使用crontab+wp-cli代替wp-cron

    wp-cron的问题     Wordpress内置wp-cron的模块,可以用来执行定时任务,比如定时检查更新,定时发布文章等都需要用到,属于必备功能.但是该模块的特点是:它只能在用户发起请求时检查 ...

  6. js加载事件和js函数定义

    一  dom文档树加载完之后执行一个函数 在Dom加载完成后执行函数,下面这三个的作用是一样的,window.onload 是JavaScript的,window.onload是在dom文档树加载完和 ...

  7. c#基础学习(0627)之类型转换、算数运算符++、--

    类型转换 我们要求等号两边参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生自动类型转换,或者称之为隐式类型转换 例如:int和double兼容(都是数字类型) 目标类型大于源类型 例如: ...

  8. WPF Trigger for IsSelected in a DataTemplate for ListBox items

    <DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlugView /> ...

  9. HA_Snapshots 数据库快照

    1. 创建测试数据库HA_Snapshot 2. 创建快照 create database HA_Snapshot_20 on ( name = HA_Snapshot, filename = '.. ...

  10. Angular待办事项应用4——模拟web服务

    内存服务器 angular提供了一个快速建立测试用的web服务方法,内存服务器(in-memory),让我们不用等待后端开发的进度 安装npm包 npm install --save angular- ...