添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
憨厚的鼠标  ·  github文件显示不全 - ...·  1 年前    · 
买醉的墨镜  ·  java - No operations ...·  2 年前    · 
体贴的煎饼  ·  python - class based ...·  2 年前    · 

一、 Lepus 相关概念:

1、 Lepus 简介:

Lepus (天兔)是一套由 Python+PHP 开发的数据库企业级监控系统。监控系统由 Python 实现多进程数据采集和告警, PHP 实现 Web 展示和管理。企业通过 Lepus 可以对数据库的实时健康和各种性能指标进行全方位的监控。目前已支持 MySQL Oracle SQLServer MongoDB Redis 数据库的全面监控。 Lepus 可以在数据库出现故障或潜在性能问题时,根据用户设置及时将数据库的异常进行报警,通知数据库管理员以进行处理和优化,帮助企业解决数据库性能监控问题,及时发现性能和瓶颈,避免由数据库潜在问题造成的直接经济损失。 Lepus 能够查看各种实时性能状态指标,并且对健康、性能数据进行统计分析,从运维者到决策者多个层面的视角查看相关报表,帮助决策者对未来数据库容量进行更好的规划,从而降低了硬件成本。

2、 Lepus 目前主要有如下功能和特性:

(1) 无需 Agent ,远程监视云中数据库

(2) Web 直观的管理和监视数据库

(3) 实时 MySQL Oracle SQLServer MongoDB Redis 健康监控和告警

(4) 实时 MySQL 缓存、 Oracle SQLServer MongoDB 索引、 Redis 性能监控

(5) 实时 MySQL 复制监视和告警、资源监视和分析、 InnoDB IO 性能监控、表空间增长趋势分析、慢查询在线分析

(6) 实时 Oracle 表空间使用监控

(7) 实时 MongoDB 内存使用监控

(8) 实时 OS 主机 CPU 、内存、磁盘、网络、 IO 监控

3、 Lepus 相关网站:

(1) Lepus 官方网站: http://www.lepus.cc

(2)在 线手册: http://www.lepus.cc/manual/index

备注:目前最新版本为 3.8 Beta ,更新时间为 2016-05-03


二、 准备工作( 3 个节点都需要执行如下操作):

1、 演示环境:

IP

操作系统

主机名

角色

数据库版本

安装方式

192.168.1.144

CentOS   7.6 x86_64

node1

master

5.7.26-log   MySQL Community Server

rpm

192.168.1.145

CentOS   7.6 x86_64

node2

slave

5.7.26-log   MySQL Community Server

rpm

192.168.1.146

CentOS   7.6 x86_64

node3

lepus

10.1.38-MariaDB   Source distribution

Xampp

2、 关闭 SELinux firewalld

3、 配置 epel

4、 配置节点时间同步

5、 配置主机名

6、 配置 /etc/hosts 文件:

# vim /etc/hosts

192.168.1.144 node1

192.168.1.145 node2

192.168.1.146 node3

7、 下载 MySQL 5.7 软件包, https://dev.mysql.com/downloads/mysql/5.7.html#downloads


三、 安装配置 MySQL GTID 主从复制(如未特殊说明,在 master slave 两个节点中执行如下操作):

1、 卸载 CentOS 7.6 自带的 MariaDB

# rpm -qa | grep -i mariadb --> mariadb-libs-5.5.60-1.el7_5.x86_64

# rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64

2、 如果之前安装过 MySQL ,先卸载: # rpm -qa | grep -i mysql

3、 如果存在 /etc/my.cnf 配置文件,先删除: # rm -rf /etc/my.cnf

4、 将软件包上传至主机 /tmp 目录下:

mysql-community-client-5.7.26-1.el7.x86_64.rpm

mysql-community-libs-5.7.26-1.el7.x86_64.rpm

mysql-community-common-5.7.26-1.el7.x86_64.rpm

mysql-community-libs-compat-5.7.26-1.el7.x86_64.rpm

mysql-community-devel-5.7.26-1.el7.x86_64.rpm

mysql-community-server-5.7.26-1.el7.x86_64.rpm

5、 安装 MySQL 软件包: # yum -y localinstall *.rpm

6、 初始化 MySQL # mysqld --initialize --user=mysql --datadir=/var/lib/mysql

备注:初始化之前确保 /var/lib/mysql 目录为空

7、 配置 GTID 主从复制:

# mv /etc/my.cnf /etc/my.cnf.bak

# vim /etc/my.cnf

master 节点:

[mysqld]

port=3306

socket=/var/lib/mysql/mysql.sock

datadir=/var/lib/mysql

pid-file=/var/run/mysqld/mysqld.pid

log-error=/var/log/mysqld.log

lower_case_table_names=1

character_set_server=utf8mb4

collation_server=utf8mb4_general_ci

innodb_file_per_table=1

skip_name_resolve=1

slow_query_log=1

slow_query_log_file=mysql-slow.log

symbolic-links=0

explicit_defaults_for_timestamp=1

sync_binlog=1

innodb_flush_log_at_trx_commit=1

log_bin=mysql-bin

log_bin_index=mysql-bin.index

binlog_format=row

server_id=1

gtid_mode=on

enforce_gtid_consistency=on

备注:

(1) MySQL 5.7 版本开始, gtid_mode 支持动态修改, gtid_mode 的可取值为:

a、 off :不支持 GTID 事务,生成的是匿名事务, slave 节点也只能应用匿名事务

b、 off_permissive :生成的是匿名事务, slave 节点可以应用匿名事务和 GTID 事务

c、 on_permissive :生成的是 GTID 事务, slave 节点可以应用匿名事务和 GTID 事务(此步骤操作完成后, master 节点的二进制日志就会变成 GTID 模式)

d、 on :支持 GTID 事务,生成的是 GTID 事务, slave 节点也只能应用 GTID 事务

注意:在生产环境中,可能有把传统复制改为 GTID 复制模式的需求, gtid_mode 虽然支持动态修改,但不支持跳跃式修改,比如从 on_permissive 修改为 off 是不可以的。

(2) enforce_gtid_consistency 主要用于不让违反 GTID 的操作执行,可取值为:

a、 off :允许所有操作

b、 on :不允许有违反 GTID 的操作,且报错

c、 warn MySQL 5.7 版本新增,允许所有操作,但是违反 GTID 的操作会提示警告

slave 节点:

[mysqld]

port=3306

socket=/var/lib/mysql/mysql.sock

datadir=/var/lib/mysql

pid-file=/var/run/mysqld/mysqld.pid

log-error=/var/log/mysqld.log

lower_case_table_names=1

character_set_server=utf8mb4

collation_server=utf8mb4_general_ci

innodb_file_per_table=1

skip_name_resolve=1

slow_query_log=1

slow_query_log_file=mysql-slow.log

symbolic-links=0

explicit_defaults_for_timestamp=1

relay_log=relay-log

relay_log_index=relay-log.index

server_id=2

read_only=1

gtid_mode=on

enforce_gtid_consistency=on

备注:

(1) slave 节点只能读不能写

(2) 中继日志默认不存在

(3) MySQL 5.6 版本中使用 GTID 复制模式,必须要开启参数 log_slave_updates=1 ,但在 MySQL 5.7 版本中使用 gtid_executed 系统表记录已经执行的 GTID 集合信息,所以就不用开启参数 log_slave_updates=1 ,开启的意义是把 relay log 中的日志内容再次记录到 slave 节点的本地 binlog 中。

8、 启动 MySQL 服务:

# systemctl start mysqld.service

# ss -tunlp | grep mysqld

# systemctl enable mysqld.service

# systemctl status mysqld.service

9、 查看 root@localhost 用户的初始密码: # grep password /var/log/mysqld.log

10、 配置 MySQL 安全向导: # mysql_secure_installation

11、 master 节点创建具有复制权限的用户 repluser

# mysql -uroot -p

mysql> create user 'repluser'@'192.168.1.%' identified by '123456';

mysql> grant replication slave on *.* to 'repluser'@'192.168.1.%';

mysql> flush privileges;

mysql> show global variables like 'server_uuid';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台

备注:内容和 /var/lib/mysql/auto.cnf 文件中的内容一致

12、 slave 节点使用具有复制权限的用户 repluser 连接至 master 节点:

# mysql -uroot -p

mysql> change master to master_host='192.168.1.144',master_user='repluser',master_password='123456',master_port=3306,master_auto_position=1;

mysql> show slave status\G

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_02

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_03

备注:

(1) Slave_IO_Running Slave_SQL_Running 的值,默认为 No

(2)自 动在 /var/lib/mysql 数据目录中创建 relay-log.000001 relay-log.index relay-log.info 文件

13、 slave 节点启动复制线程:

mysql> start slave;

备注:

(1) start slave 等同于分别执行 start slave io_thread start slave sql_thread

(2) stop slave 表示停止主从复制线程

(3)重 slave 节点所在的主机,复制线程会自动启动

mysql> show slave status\G

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_04

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_05

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_06

备注:

(1)只 有当 Slave_IO_Running Slave_SQL_Running 的值都为 Yes 时,复制线程才算启动成功

(2) Seconds_Behind_Master 的值为 0 ,说明 slave 节点没有落后于 master 节点

(3) 复制时的详细信息记录在 slave 节点的错误日志 /var/log/mysqld.log

(4) slave 节点 start slave 时,会计算 show slave status Retrieved_Gtid_Set Executed_Gtid_Set 的并集,然后将此 GTID 并集发送给 master 节点。 master 节点会使用 slave 节点请求的 GTID 集合和 master 节点自身的 gtid_executed 比较,把 slave 节点 GTID 集合里缺失的事务全部发送给 slave 节点。如果 slave 节点缺失的 GTID 已经被 master 节点清除,则 slave 节点会提示 1236 错误, I/O 线程中断。

14、 master 节点查看 GTID 相关信息:

mysql> show master status;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_07

mysql> show slave hosts;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_08

mysql> show global variables like '%gtid%';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_09

备注:

(1) gtid_executed :当前实例上已经执行过的 GTID 集合,实际上包含了所有记录到 binlog 中的事务。如果 set sql_log_bin=0 ,执行的事务不会生成 binlog 事件,也不会记录到 gtid_executed 中。执行 reset master 可以将变量 @@global.gtid_executed 清空。

(2) gtid_owned :当前实例正在执行中的 GTID ,以及对应的线程 ID

(3) gtid_purged :记录当前实例执行过,但已被清除的 GTID 集合。 gtid_purged gtid_executed 的子集。只有 gtid_executed 为空时才能手动设置 gtid_purged 变量,此时会将 gtid_executed 更新为和 gtid_purged 相同的值。

mysql> show variables like '%gtid%';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_10

备注: gtid_next session 会话级别的变量,如何产生下一个 GTID ,可取值为

(1) automatic :默认取值,在每次事务提交时自动生成新的 GTID ,它从当前已执行的 GTID 集合(即 gtid_executed )中,找一个大于 0 的、未使用的 transaction_id 最小值作为下个事务的 GTID ,同时在 binlog 的实际更新事务事件前插入一条 set gtid_next 事件,所以即使是同一个 server_uuid ,也不能通过 transaction_id 的大小来判断事务的顺序。

(2) anonymous :执行事务不会产生 GTID

(3) 显示指定 GTID :可以指定任意合法的 GTID ,但不能是当前 gtid_executed 中已经包含的 GTID

mysql> show processlist;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_11

15、 slave 节点查看 GTID 相关信息:

mysql> show slave status\G

mysql> show global variables like '%gtid%';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_12

mysql> show variables like '%gtid%';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_13

mysql> show processlist;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_14

16、 master 节点创建测试数据:

mysql> create database db;

mysql> create table db.tb(id int unsigned auto_increment primary key not null,age int not null);

mysql> desc db.tb;

mysql> insert into db.tb(age) values(35),(40);

mysql> select * from db.tb;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_15

mysql> show master status;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_16

17、 slave 节点查看测试数据:

mysql> show databases like 'db';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_17

mysql> select * from db.tb;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_18

mysql> show slave status\G

mysql> show global variables like '%gtid%';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_19


四、 安装启动 Lepus (如未特殊说明,在 lepus 节点中执行如下操作):

1、 安装依赖软件包: # yum -y install openssl-devel python-devel xterm libffi-devel python-setuptools zlib-devel

2、 安装 Xampp

Lepus 的安装需要 LAMP 环境,此处不推荐使用 yum rpm 方式安装,建议使用 Xampp 集成环境包进行安装。 Xampp 是一个可靠稳定的 LAMP 套件,目前已被诸多公司用于生产服务器的部署,目前 Lepus 的开发环境、测试环境及线上官网的 Web 环境都运行在 Xampp 环境下,且非常稳定。

特别说明: Lepus 不支持 PHP 7.x 的版本,所以不能下载安装目前最新版本 xampp-linux-x64-7.3.7-0-installer.run ,该软件包集成的 PHP 版本为 7.3.7

Xampp 下载地址: https://www.apachefriends.org/download.html

# chmod +x xampp-linux-x64-5.6.40-1-installer.run

# ./xampp-linux-x64-5.6.40-1-installer.run

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_20

备注:

(1) Xampp 默认安装路径: /opt/lampp

(2) Apache 默认配置文件: /opt/lampp/etc/httpd.conf /opt/lampp/etc/extra/httpd-xampp.conf

(3) PHP 默认配置文件: /opt/lampp/etc/php.ini

(4) MySQL 默认配置文件: /opt/lampp/etc/my.cnf

(5) ProFTPD 默认配置文件: /opt/lampp/etc/proftpd.conf

(6) Web 代码默认上传路径: /opt/lampp/htdocs

3、 启动 Xampp 服务: # /opt/lampp/lampp start

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_21

# /opt/lampp/lampp --help

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_22

4、 配置 Xampp 安全向导: # /opt/lampp/lampp security

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_23

5、 测试 Xampp 集成环境是否正常运行:浏览器中输入 192.168.1.146

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_24

6、 配置系统环境变量:

# vim /etc/profile.d/xampp.sh

export PATH=/opt/lampp/bin:$PATH

export LD_LIBRARY_PATH=/opt/lampp/lib:$LD_LIBRARY_PATH

# . /etc/profile.d/xampp.sh

7、 查看 Python 版本: # python --version

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_25

特别说明: Lepus 暂不支持 Python 3.x 版本

8、 安装 Python 基础模块:

MySQLdb Python 连接和操作 MySQL 的类库,如果准备使用 Lepus 监控 MySQL 数据库,那么该模块必须安装,此处使用 yum 方式安装。

# yum -y install MySQL-python

备注:也可通过 Python 模块地址: https://pypi.org/project/MySQL-python/ ,下载 MySQL-python-1.2.5.zip 进行安装,或直接使用 pip 命令进行安装: # easy_install pip  # pip install MySQL-python

9、 测试 Python 基础模块是否正常运行:

# python

>>> import MySQLdb

>>> exit()

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_26

10、 下载 Lepus 采集器: http://www.lepus.cc/soft/index

11、 测试 MySQL 驱动是否正常运行:

# cd Lepus_v3.8_beta/python

# python test_driver_mysql.py

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_27

12、 创建监控数据库,并授予相关用户指定权限:

# /opt/lampp/bin/mysql -uroot -p

MariaDB [(none)]> create database lepus default character set utf8;

MariaDB [(none)]> grant all on lepus.* to 'lepus_user'@'192.168.1.%' identified by '123456';

MariaDB [(none)]> flush privileges;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_28

备注:已配置系统环境变量,可直接使用命令 # mysql -uroot -p

13、 导入表结构和表数据文件:

# cd Lepus_v3.8_beta/sql

# mysql -uroot -p lepus < lepus_table.sql

# mysql -uroot -p lepus < lepus_data.sql

14、 安装 Lepus 采集器:

# cd Lepus_v3.8_beta/python

# chmod +x install.sh

# ./install.sh

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_29

备注: Lepus 默认安装在 /usr/local/lepus 目录下,可通过 install.sh 脚本修改其默认安装路径

15、 授予脚本文件执行权限:

# cd /usr/local/lepus

# chmod +x *.sh

# chmod +x *.py

16、 修改监控机 MySQL 数据库连接信息:

# vim /usr/local/lepus/etc/config.ini

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_30

17、 启动 Lepus 采集进程:

# lepus start

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_31

# lepus --help

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_32

# tail /usr/local/lepus/logs/lepus.log

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_33

18、 lepus_monitor 脚本部署为任务计划:

# crontab -e

*/5 * * * * /usr/local/lepus/lepus_monitor >> /tmp/lepus_monitor.log

备注:该脚本可以监控 Lepus 是否正常运行


五、 配置 Lepus Web 管理平台:

1、 登录 Lepus Web 管理平台:

# mkdir -pv /opt/lampp/htdocs/lepus

# cd Lepus_v3.8_beta/php

# cp -rf * /opt/lampp/htdocs/lepus/

# vim /opt/lampp/htdocs/lepus/application/config/database.php

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_34

# /opt/lampp/lampp restart

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_35

输入 http://192.168.1.146/lepus ,登录 Lepus Web 管理平台,默认的管理员账号密码是 admin/Lepusadmin

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_36

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_37

2、 修改 admin 账号默认密码:右上角 admin --> 个人面板 --> 保存

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_38

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_39

3、 配置监控项目、告警和邮件:配置中心 --> 全局设置 --> 保存

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_40

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_41

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_42

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_43

4、 测试邮件模块是否正常运行:

# cd /usr/local/lepus

# python test_send_mail.py

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_44

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_45

5、 添加 MySQL 主机:

(1) master 节点创建监控用户,并授予指定权限:

mysql> create user 'lepus_monitor'@'192.168.1.%' identified by '123456';

mysql> grant all on *.* to 'lepus_monitor'@'192.168.1.%';

mysql> flush privileges;

(2) 配置中心 --> MySQL --> 新增 --> 保存

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_46

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_47

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_48

(3) 仪表盘:

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_49

6、 配置主机监控:

(1) 三个节点安装 SNMP 服务: # yum -y install net-snmp net-snmp-utils

(2) 三个节点部署 SNMP 服务: # vim /etc/snmp/snmpd.conf

a、 注释 com2sec notConfigUser default public ,新增: com2sec notConfigUser 192.168.1.146 lepus

b、 取消注释 view all included .1 80

c、 注释 access notConfigGroup "" any noauth exact systemview none none

新增: access notConfigGroup "" any noauth exact all none none

(3) 三个节点启动 SNMP 服务:

# systemctl start snmpd.service

# systemctl enable snmpd.service

# systemctl status snmpd.service

# ss -tunlp | grep 161

(4) lepus 节点执行命令: # snmpwalk -v 1 -c lepus 192.168.1.144  # snmpwalk -v 1 -c lepus 192.168.1.145

备注:获取到信息表示 SNMP 服务正常运行

(5) 配置中心 --> 操作系统 --> 新增 --> 保存

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_50

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_51

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_52

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_53

(6) lepus 节点执行 check_os.py 脚本:

# cd /usr/local/lepus

# python check_os.py

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_54

(7)仪 表盘:

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_55

(8) 主机监控 --> 健康监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_56

7、 配置 MySQL 监控 --> 复制监控:

(1) master slave 节点分别执行操作: mysql> set global show_compatibility_56=on;

(2) lepus 节点执行如下操作:

# cd /usr/local/lepus

# python check_mysql.py

会提示如下信息:

2019-07-19 17:01:35 [INFO] check mysql controller started.

2019-07-19 17:01:36 [WARNING] check mysql 192.168.1.144:3306 failure: 1055 Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'information_schema.processlist.USER' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

2019-07-19 17:01:36 [WARNING] check mysql 192.168.1.144:3306 failure: sleep 3 seconds and check again.

(3) master slave 节点分别执行如下操作:

mysql> select @@sql_mode;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_57

mysql> set @@global.sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";

备注:去除 ONLY_FULL_GROUP_BY 模式,退出后重新登录

mysql> \q

mysql> select @@sql_mode;

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_58

(4) lepus 节点执行如下操作:

# cd /usr/local/lepus

# python check_mysql.py

会提示如下信息:

2019-07-19 17:07:24 [INFO] check mysql controller started.

check_mysql.py:254: Warning: 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead

gtid_mode=cur.execute("select * from information_schema.global_variables where variable_name='gtid_mode';")

check_mysql.py:261: Warning: 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead

read_only=cur.execute("select * from information_schema.global_variables where variable_name='read_only';")

check_mysql.py:220: Warning: 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead

gtid_mode=cur.execute("select * from information_schema.global_variables where variable_name='gtid_mode';")

check_mysql.py:227: Warning: 'INFORMATION_SCHEMA.GLOBAL_VARIABLES' is deprecated and will be removed in a future release. Please use performance_schema.global_variables instead

read_only=cur.execute("select * from information_schema.global_variables where variable_name='read_only';")

2019-07-19 17:07:34 [INFO] check mysql controller finished.

(5) 仪表盘:

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_59

(6) MySQL 监控 --> 复制监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_60

8、 配置 MySQL 监控 --> 慢查询分析:

Lepus 的慢查询分析平台是独立于监控系统的模块,该功能需要使用 percona-toolkit 工具来采集和记录慢查询日志,并需要部署一个 shell 脚本来进行数据采集,该脚本会自动开启数据库的慢查询日志,并对慢查询日志进行按小时的切割操作,收集慢查询日志的数据到监控机数据库,之后就可以通过 Lepus 系统分析慢查询。

(1) master slave 节点分别执行如下操作:

a、安 装依赖软件包: # yum -y install perl-IO-Socket-SSL perl-DBI perl-DBD-MySQL perl-Time-HiRes

b、 配置 percona 源: # yum -y install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

c、 安装 percona-toolkit 工具: # yum -y install percona-toolkit

(2) lepus 节点执行如下操作:

a、 授予 lepus_slowquery.sh 慢查询分析脚本可执行权限:

# chmod +x /usr/local/lepus/client/mysql/lepus_slowquery.sh

b、 修改 lepus_slowquery.sh 脚本中的配置信息: # vim /usr/local/lepus/client/mysql/lepus_slowquery.sh

lepus_db_host="192.168.1.146"

lepus_db_user="lepus_user"

lepus_db_password="123456"

mysql_client="/usr/bin/mysql"

mysql_host="192.168.1.144"

mysql_user="lepus_monitor"

mysql_password="123456"

slowquery_dir="/var/lib/mysql/"

lepus_server_id=1

备注: lepus_server_id 的值来源于配置中心 --> MySQL 列表中的 ID

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_61

c、 改变 lepus_slowquery.sh 脚本的文件格式为 unix ,在 vim 中执行 :set fileformat=unix

d、 lepus_slowquery.sh 脚本分别发送至 master slave 节点的 /usr/local/sbin 目录下:

# scp -p /usr/local/lepus/client/mysql/lepus_slowquery.sh root@192.168.1.144:/usr/local/sbin

# scp -p /usr/local/lepus/client/mysql/lepus_slowquery.sh root@192.168.1.145:/usr/local/sbin

(3) slave 节点修改 lepus_slowquery.sh 脚本: # vim /usr/local/sbin/lepus_slowquery.sh

mysql_host="192.168.1.145"

lepus_server_id=2

(4) master slave 节点分别将 /usr/loca/sbin/lepus_slowquery.sh 脚本加入任务计划:

# crontab -e

*/10 * * * * /usr/local/sbin/lepus_slowquery.sh &> /dev/null

(5) master slave 节点分别测试 MySQL 慢查询:

a、查 看变量 slow_query_log 的值: mysql> show global variables like 'slow_query_log';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_62

备注:慢查询日志已启用

b、 查看变量 long_query_time 的值: mysql> show global variables like 'long_query_time';

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_63

备注:超过 1 秒的查询将被判定为慢查询

c、执 行测试查询:

mysql> use db;

mysql> select sleep(10);

备注:

Ø 会在 master slave 节点的 /var/lib/mysql 目录中生成类似 slowquery_2019071917.log 的日志文件

Ø pt-query-digest 命令执行的日志保存在 /tmp/lepus_slowquery.log 日志文件中

(6) MySQL 监控 --> 慢查询分析

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_64

9、 常用 MySQL 监控界面展示:

(1) 仪表盘:

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_65

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_66

(2) 配置中心 --> MySQL

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_67

(3) 配置中心 --> 操作系统

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_68

(4) MySQL 监控 --> 健康监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_69

(5) MySQL 监控 --> 资源监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_70

(6) MySQL 监控 --> 键缓存监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_71

(7) MySQL 监控 --> InnoDB 监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_72

(8) MySQL 监控 --> 复制监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_73

(9) MySQL 监控 --> 慢查询分析

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_74

(10) MySQL 监控 --> AWR 报告

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql图形监控_75

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus天兔_76

(11) 主机监控 --> 健康监控

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_77

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_78

(12) 主机监控 --> 磁盘

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_xampp集成环境_79

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_mysql慢查询监控_80

(13) 主机监控 --> 磁盘 IO

CentOS 7.6基于Xampp集成环境安装部署Lepus监控MySQL 5.7_lepus web管理平台_81