mysql lepus_MySQL 监控软件lepus天兔

概述

类别

版本

操作系统

Centos 7.4

数据库版本

MySQL 5.6.49

天兔版本

lepus 3.7

依赖软件

1.MySQL 5.0及以上(必须,用来存储监控系统采集的数据)

2.Apache 2.2及以上 (必须,WEB服务器运行服务器)

3.PHP 5.3以上 (必须,提供WEB界面支持)

4.Python2 (必须,推荐2.6及以上版本,执行数据采集和报警任务,不支持Python3)

5.Python连接和监控数据库的相关驱动模块包:

MySQLdb for python (Python连接MySQl的接口,用于监控MySQL,此模块必须安装)

cx_oracle for python (Python连接Oracle的接口,非必须,如果需要监控oracle此模块必须安装)

Pymongo for python (Python连接MongoDB的接口,非必须,如果需要监控MongoDB此模块必须安装 )

redis-py for python (Python连接Redis的接口,非必须,如果需要监控Redis此模块必须安装)

一.基本环境安装

1.1 安装LAMP环境

-- yum一键搞定

yum install mysql-server httpd php -y

如果自己已手工安装了mysql,这个地方可以不用再安装

1.2 开启httpd,mysqld

chkconfig httpd on

chkconfig mysqld on

1.3 安装lepus server需要的依赖包

yum install gcc python-devel mysql-devel net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml -y

1.4 配置httpd并启动

-- 配置http服务

vi /etc/httpd/conf/httpd.conf

ServerName 10.31.1.6:80

--重启http服务器

service httpd start

1.5 配置php

sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini

sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini

sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini

sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini

sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini

sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /etc/php.ini

1.6 安装Python2.7(不是必须的)

很多操作系统是自带python 2版本的,如果有,此处略过

因为lepus不兼容python 3版本,如是python 3版本,要卸载掉,再安装python 2版本

cd /usr/local/src

wget https://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2

tar jxf Python-2.7.2.tar.bz2

cd Python-2.7.2

./configure --prefix=/usr/local/python2.7

make && make install

1.7 安装MySQLdb-python

yum -y install python-setuptools

wget https://pypi.python.org/packages/source/M/MySQL-python/MySQL-python-1.2.5.zip --no-check-certificate

unzip MySQL-python-1.2.5.zip

cd MySQL-python-1.2.5

python setup.py build

python setup.py install

1.8 安装redis驱动

如果没有redis监控需求

cd /usr/local/src/

wget https://pypi.python.org/packages/source/r/redis/redis-2.10.3.tar.gz

tar xf redis-2.10.3.tar.gz

cd redis-2.10.3

python setup.py install

二.安装Lepus采集器

2.1 下载lepus软件

cd /usr/local/src

ll Lepus3.7.zip

unzip Lepus3.7.zip

2.2 创建lepus数据库、用户及授权

cd /usr/local/src/lepus_v3.7/sql/

mysql -uroot -p -h10.31.1.6

create database lepus default character set utf8;

grant select,insert,update,delete,create on lepus.* to 'lepus'@'localhost' identified by 'lepus';

grant select,insert,update,delete,create on lepus.* to 'lepus'@'127.0.0.1' identified by 'lepus';

-- 监控mysql 8.0版本需要加上这个

ALTER USER 'lepus'@'10.31.1.%' IDENTIFIED WITH mysql_native_password BY 'lepus';

flush privileges;

-- 录入数据

source lepus_table.sql

source lepus_data.sql

2.3 安装lepus

cd /usr/local/src/lepus_v3.7/python

sh install.sh

cd /usr/local/lepus/

chmod +x *.sh

chmod +x *.py

修改配置文件

vim etc/config.ini

###监控机MySQL数据库连接地址###

[monitor_server]

host="127.0.0.1"

port=3306

user="lepus"

passwd="lepus"

dbname="lepus"

2.4 启动lepus服务

[root@uatest ]# lepus start

nohup: appending output to `nohup.out'

lepus server start success!

三.安装WEB管理台

3.1 拷贝文件到 /var/www/html 下

cp -rf /usr/local/src/lepus_v3.7/php/* /var/www/html/

cd /var/www/html/application/config/

vim database.php

8267deb30885

image.png

3.2 重启httpd服务

service httpd restart

3.3 关闭防火墙

线上的要有防火墙,不能直接关闭了事

service iptables stop

setenforce 0

3.4 访问lepus

浏览器输入:http://10.31.1.6

默认管理员账号密码admin/Lepusadmin

8267deb30885

image.png

四.监控配置

4.1 mysql 监控

-- 添加监控账号 MySQL 8

create user 'lepus'@'10.31.1.%' ;

grant all privileges on *.* to 'lepus'@'10.31.1.%' ;

ALTER USER 'lepus'@'10.31.1.%' IDENTIFIED WITH mysql_native_password BY 'lepus';

flush privileges;

-- 添加监控账号 MySQL 8之前版本

create user 'lepus'@'10.31.1.%' identified by 'abc123';

grant all privileges on *.* to 'lepus'@'10.31.1.%' ;

flush privileges;

配置监控信息

8267deb30885

image.png

配置完成后 等几分钟 会看到如下

8267deb30885

image.png

慢sql监控

进到对应的目录下,找到脚本lepus_slowquery.sh,要把该脚本发送到被监控的DB端,结合任务计划调用,而且被监控端要percona-toolkit

cd /usr/local/lepus/client/mysql/

ls -l lepus_slowquery.sh

scp ./lepus_slowquery.sh root@10.31.1.112:/u01/my3306/lepus/

-- 格式转一下

dos2unix lepus_slowquery.sh

sed -i "s/\\r/\\n/g" lepus_slowquery.sh

sed -i /^$/d lepus_slowquery.sh

-- 10.31.1.112上操作

cd /usr/local/src/

wget https://www.percona.com/downloads/percona-toolkit/2.2.11/RPM/percona-toolkit-2.2.11-1.noarch.rpm

yum install perl-IO-Socket-SSL perl-DBD-MySQL perl-Time-HiRes -y

rpm -ivh percona-toolkit-2.2.11-1.noarch.rpm

-- 编辑配置文件

vim /u01/my3306/lepus/slowquery.sh

8267deb30885

image.png

-- 112上慢日志路径

/u01/my3306/log/slow.log

-- 当我运行了 lepus_slowquery.sh后,慢日志文件变为

8267deb30885

image.png

被监控主机配置crontab

*/5 * * * * sh /u01/my3306/lepus/lepus_slowquery.sh > /dev/null 2>&1

不容易啊,慢日志终于被监控了

8267deb30885

image.png

4.2 监控主机

需要被监控的主机才安装这个服务

安装snmp服务

yum install -y net-snmp net-snmp-utils

vim /etc/snmp/snmpd.conf

8267deb30885

image.png

把#号去掉,开启下面这行

8267deb30885

image

修改下面的为all

8267deb30885

image

-- 重启服务

[root@uattest config]# service snmpd start

Redirecting to /bin/systemctl start snmpd.service

8267deb30885

8267deb30885

image.png

点击最后的图形,可以看监控的具体情况:

8267deb30885

image.png

参考文献

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/367821.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5中Web Worker技术的使用实例

web worker是html5中新特性中非常吸引人的技术亮点之一,我们可以把它理解为javascript中的多线程技术,我们知道javascript语言的执行环境是单线程的,浏览器执行某段程序的时候会阻塞直到运行结束后再恢复到正常状态,而HTML5的Web …

选择技术栈构建通用平台

Java社区中有很多关于Spring vs Java EE的话题。 一群人会争辩说您应该使用一个而不是其他。等等。当我看到这一点时,我不禁要想为什么我们不能同时使用它们呢? 实际上,我认为有效地使用它们会为构建基础架构创建一个伟大的技术堆栈&#xff…

模式的秘密--工厂模式

工厂模式概念: 实例化对象,用工厂方法代替new操作工厂模式包括工厂方法模式和抽象工厂模式抽象工厂模式是工厂方法模式的扩展工厂模式的意图: 定义一个接口创建对象,但是让子类决定哪些类需要被实例化。工厂方法把实例化的工作推迟…

mysql定时清空表数据_Mysql实现定时清空一张表的旧数据并保留几条数据

要达到如下目的:Mysql数据库会每隔一段时间(可以是2小时,也可以是一天,这个可以自定义),定时对一张库中的表做一个判断,如果这张表的数据超过了20条(这个数据也是自定义的,也可以是200条),就保留…

Python中生成器generator和迭代器Iterator的使用方法

一、生成器 1. 生成器的定义 把所需要值得计算方法储存起来,不会先直接生成数值,而是等到什么时候使用什么时候生成,每次生成一个,减少计算机占用内存空间2. 生成器的创建方式 第一种只要把一个列表生成式的 [ ] 改成 ( )ret (n 1 for n in range(0,10)) # 返回值是生成了一个…

Java 8中使用Lambda表达式的策略模式

策略模式是“ 设计模式:可重用对象的元素”书中的模式之一 。 本书所述的策略模式的意图是: 定义一系列算法,封装每个算法,并使它们可互换。 策略使算法独立于使用该算法的客户端而变化。 在本文中,我想给出一个或两个…

Html5移动开发之Localstorage(本地存储)

HTML5本地存储Localstorage自从Html5中出现了本地存储的(LocalStorage)的概念后,很多人都会想这个东西和我们传统web开发中的Cookie有什么特别之处,当然笔者也是其中之一,也难怪,以前用惯了cookie对于新出现的事物总是…

php mysql 正则_MySQL 正则表达式

MySQL 正则表达式在前面的章节我们已经了解到MySQL可以通过 LIKE ...% 来进行模糊匹配。MySQL 同样也支持其他正则表达式的匹配, MySQL中使用 REGEXP 操作符来进行正则表达式匹配。如果您了解PHP或Perl,那么操作起来就非常简单,因为MySQL的正…

Linux自动人机交互expect

exp_test.sh文件 #!/bin/bash/expect ## exp_test.sh set timeout -1; spawn ssh localhost; expect {"(yes/no)" {send "yes\r";exp_continue;}"password:" {send "hadoop\r";exp_continue;}eof {exit 0;} } 执行:expect …

使用Spring Integration聚合异步结果

嗨,我遇到了一个问题,该问题使用Spring Integration具有非常好的解决方案。 很多时候,我们需要一种将消息分发到未知数量的目的地的方案。 为此,我们使用主题方法。 但是有时,我们还希望从收到消息的所有目的地接收答案…

Html5开发之链接标签nav的用法

HTML(<nav>)元素用来表示一个含有多个超链接的区域&#xff0c;这个区域的连接可以连接到其他页面&#xff0c;也可以连接到本页面内部其他部分。用法说明:并不是所有的链接都必须使用<nav>元素,它只用来将一些热门的链接放入导航栏,例如<footer>元素就常用来…

java response 获得code_Java教程分享使用HttpClient抓取页面内容

Java教程分享使用HttpClient抓取页面内容&#xff0c;使用HttpClient工具来发送Http请求1.简介HttpClient 是 Apache Jakarta Common 下的子项目&#xff0c;用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包&#xff0c;并且它支持 HTTP 协议最新的版本和…

关于Function原型对象和Object原型对象的一些疑惑

网上有一道美团外卖的面试题是这样的&#xff1a;Function.prototype.a a; Object.prototype.b b; function Person(){}; var p new Person(); console.log(p.a: p.a); // p.a: undefined console.log(p.b: p.b); // p.b: b问为什么&#xff1f;有不少同学第一眼看上去就觉…

HTML5 实现离线数据缓存

1.配置缓存文件 cache manifestMIME TYPE&#xff1a;text/cache-manifest文件名称&#xff1a;name.appcache作用&#xff1a;用于配置需要缓存的文件2.使用方法在服务器上添加MIME TYPE在apache virtual host 中添加[plain] view plaincopyAddType text/cache-manifest .appc…

pytest.7.常见套路

From: http://www.testclass.net/pytest/common_useage/ 在使用pytest的时候&#xff0c;下面这些问题我们可能会经常遇到&#xff0c;这里给出官方的解决方案&#xff0c;按照套路来执行就可以了。 基础用法 把命令行参数传入到用例动态添加命令行参数根据命令行参数来忽略用例…

linux mysql 5.6.23_MySQL 5.6.23升级到MySQL 5.7.9

MySQL 5.6.23升级到MySQL 5.7.9MySQL 5.7.9新特性一、安全性1.1. 用户表 mysql.user 的 plugin字段不允许为空&#xff0c; 默认值是 mysql_native_password&#xff0c;而不是 mysql_old_password&#xff0c;不再支持旧密码格式;1.2. 增加密码过期机制&#xff0c;过期后需要…

Spring Data JPA教程第一部分:配置

Spring Data JPA是一个旨在简化基于JPA的存储库的创建并减少与数据库通信所需的代码量的项目。 在我的工作和个人爱好项目中&#xff0c;我已经使用了一段时间&#xff0c;确实使事情变得更加简单和整洁。 现在是时候与您分享我的知识了。 这是我的Spring Data JPA教程的第一部…

2018-03-02

1、首先我得重新在git设置一下身份的名字和邮箱&#xff08;因为当初都忘了设置啥了&#xff0c;因为遇到坑了&#xff09;进入到需要提交的文件夹底下&#xff08;因为直接打开git Bash&#xff0c;在没有路径的情况下&#xff0c;根本没&#xff01;法&#xff01;改&#xf…

《算法通关村——再次透彻理解动态规划》

《算法通关村——透彻理解动态规划》 91. 解码方法 一条包含字母 A-Z 的消息通过以下映射进行了 编码 &#xff1a; A -> "1" B -> "2" ... Z -> "26"要 解码 已编码的消息&#xff0c;所有数字必须基于上述映射的方法&#xff0c;反…

html5新特性:异步上传文件

<!DOCTYPE html><html><head><meta charset"utf-8"/><title>html5文件上传</title></head><body><input type"file" name"file" id"file" /><br/><input type"s…