监控mysql数据库有两种,一种是percona,还有一种是脚本
先配置主从,通过两种方式,percona(监控的项目特别多,干了十几年的dba都看不懂),脚本
server上的mysql作为103上用的从服务器
做主从的话,最主要的就是serverid不一样,开启二进制日志
部署mysql 主从同步
Master mysql:
[root@zabbix-web1 apps]# cat /etc/my.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1
server-id=10
log-bin=/data/mysql/master-log
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock
重启并设置同步账户:
/etc/init.d/mysqld restart
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO ‘tom’@‘192.168.10.%’ IDENTIFIED BY ‘123456’;
把ppt的复制进去,重启一下,作为,主
添加一个授权账号
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON . TO ‘tom’@‘192.168.10.%’ IDENTIFIED BY ‘123456’;
修改从服务器配置文件
Slave mysql:
[root@zabbix-server src]# cat /etc/my.cnf
[mysqld]
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
datadir=/data/mysql
innodb_file_per_table=1
relay-log = /data/mysql
server-id=20
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/tmp/mysql.sock
中继日志目录relay-log
serverid不一样
起来之后把master数据导出
做数据库主从:
导出master的mysql 数据:
/usr/local/mysql/bin/mysqldump --all-databases --single_transaction --flush-logs –
master-data=2 --lock-tables > /opt/backup.sql
把数据导出,拷贝到101上,就可以做主从了
拷贝过去之后,导进去
导入备份
一般更改还有个zabbix_proxy
看一下备份sql
会记录二进制文件,和当前的 位置
正常情况看到这两个都是yes就没有问题了
现在主从同步就做好了
percona是第三方数据库开发商
percona的shell脚本会调用和php,然后通过php去链接数据库
模板是再zabbix2上用的,3.0好像还用不了
主要是用这个conf文件和脚本
查看脚本
主要是把配置我呢见拷贝到zabbix的conf.d下,让zabbix_agent调用
写了这么多监控项
shell脚本后页面传一个值
配置监控内容
ss-get_mysql_stats.php.cnf这个配置文件是定死的,因为php脚本会调用
查看时哪个脚本调用了这个配置文件、
只要能返回结果局表示配置正常
导入模版、
查看是否有percona开头的
现在101的监控方式是被动模式
如果是主动模式还需要修改监控项
批量更新刷新时间
关联到zabbixserver上
添加只有。tmp下也会生成一个文件
需要改成zabbix用户所有者,或者删除重新生成
重新关联一下
可以试试用get获取
现在应该有值了
脚本主要监控主从同步和延迟
导入的脚本
包含mysql主从同步是否都为yes,50正常,100不正常
可以手动地执行一下脚本
一个是主从同步是否有时间差
另一个是主从同步是否是正常的
这样就没有问题了
然后就可以做个模板
添加监控项
再克隆一个监控系进行修改,主从同步是否正常
创建图形
创建触发器
主从不同步才是灾难
添加模板
重启
mysql,都是单进程多线程的
nginx主进程,子进程
现在就有图形了