-
2019-03-01 17:26:19
mycat-eye是阿里出产的一款软件,其目的是为了发布部署分布式数据库的,同时也是可以监控其运行的性能
-
安装jdk环境
Mycat eye依赖jdk1.7及以上的环境,首先先安装jdk -
安装Zookeeper环境
Zookeeper安装模式分为3种:单击模式(本次安装的模式)、伪分布式模式、分布式模式2.1 在官网http://zookeeper.apache.org/下载,然后后解压
2.2 将zoo_sample.cfg改名为zoo.cfg ,修改内容
... # the directory where the snapshot is stored. # do not use /tmp for storage, /tmp here is just # example sakes. dataDir=D:\\zookeeper\\data #指定data存放目录 dataLogDir=D:\\zookeeper\\log #指log文件存放目录 # the port at which the clients will connect clientPort=2181 ...
2.3 启动Zookeeper
管理员开启dos ./zkServer.cmd -
安装Mycat-eye
3.1 在官网http://dl.mycat.io/mycat-web-1.0/下载解压3.2 启动Mycat-eye
切换出win10下管理员dos窗口输入:start.bat确保Zookeeper已经启动( 如果zookeeper和mycat-web在同一台机器上就不需要更改配置文件,若不在同一台机器上,则打开mycat-web下的mycat-web\mycat-web\WEB-INF\classes\ mycat.properties配置文件,修改zookeeper=127.0.0.1:2181的ip为zookeeper所在服务器的ip)
3.3 访问http://mycat-web所在ip:8082/mycat/(如:http://192.168.1.1:8082/mycat/)
3.4 Mycat-配置–>mycat服务管理
新增一个节点,其中,ip地址是mycat所在服务器ip,管理端口是9066,服务端口是8066,数据库名称是mycat中配置的schema名称
更多相关内容 -
-
用Jmeter工具对服务器,数据库进行性能监控,压测,导出性能测试报告
2022-01-08 16:01:50它可以分别测试静态、动态资源(Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等),它还可以通过线程组来模拟数个用户,在一定时间内同时登录服务器,数个用户并发对数据库进行访问,从而测试出服务器,数据库...Jmeter是Apache基金会旗下的一款免费,开源,轻量级的性能测试工具,主要针对web应用程序客户端/服务器进行性能测试.它可以分别测试静态、动态资源(Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等),它可以通过线程组来模拟数个用户,在一段时间内同时登录服务器,数个用户并发对数据库进行访问,从而测试出服务器,数据库在一定负载情况下的性能状况
Jmeter是基于Java语言开发的,所以它的运行依赖于Jre环境,在运行之前首先要下载jdk(最好下载8,太低的话会导致无法启动).配置好环境变量后,下载Jmeter(下载地址 Apache JMeter - Download Apache JMeter ),截止发文前最高版本为5.4.3,我这里使用3.0演示.
Jmeter文件(下载地址(链接:https://pan.baidu.com/s/1Rr3ZQ8gaawBRPUctkuWBxw
提取码:1304,有效期30天)(JMeterPlugins-Extras.jar,JMeterPlugins-Standard.jar这两个包是针对客户端安装的.ServerAgent-是针对服务器端的)
1. Jmeter本身并没有提供对服务器CPU,Memory,Disks I/O等进行监控的功能,所以我们通过它的插件来完成. 上面文件下载后,把JMeterPlugins-Extras.jar,JMeterPlugins-Standard.jar两个包放到Jmeter安装目录下的\lib\ext下,然后去bin目录下双击 jmeter.bat文件运行. 右击 测试计划>>Add>>Threads(Users),当发现有jp@gc-开头的选项时即表示插件安装成功
2. 右击 测试计划>>Add>>Threads(Users)>>Thread Group,添加线程组.右键 Thread group>>Add>>Sampler>>HTTP Request 添加Http请求,这里不设置参数值.而后 右键HTTP Request>>Add>>Listener>>jp@gc-PerfMon Metrics Collector.添加服务器端监控
3. 这样客户端就配置好了,接下来配置服务端,连接工具连接服务器,把ServerAgent-2.2.3.zip上传到服务器,解压,把压缩包删除.进入ServerAgent-2.2.3下, 用命令 chmod 777 startAgent.sh 赋予其全部权限. ./startAgent.sh 运行.出现以下提示,即代表运行成功.(ServerAgent默认使用4444端口)
如果出现 Can't accept UDP connections等错误提示, 可能是你的4444端口被占用了,用命令 lsof -i:4444检测, 如果有程序占用,用 kill -9 pid 把它杀掉,再启动就行了
5. 启动成功后,可以用windows的DOS命令连接检测一下, telnet 服务器IP 4444
如果连接不成功,主要有两个原因,一是你的telnet客户端或者服务没有启动,具体启动方法百度.二是你服务器端的防火墙端口没有开启,开启方法自行百度.
服务器端出现以下提示即代表连接成功
6. 连接成功后我们就可以在Jmeter上开始进行测试.点击 jp@gc-PerfMon Metrics Collector,在Servers Monitor中点击Add Row,添加服务器IP和端口号,Metric to collect下选择CPU/Memory/Disks I/O.然后设置线程组执行次数和循环次数,这里我设置执行1000次,循环10次,100秒内执行完
7. 点运行按钮,Chart中出现以下画面即代表监控成功
从画面中我们看出服务器CPU,内存,磁盘的运行状况,CPU和磁盘曲线在正常范围内波动,表示CPU、磁盘相对趋于稳定,内存曲线无波动一直处于一个稳定的值,表示内存也趋于稳定.
8 .这种监控一般配合web服务器来一起测试,访问web,监控服务器,这样才有实际的意义.我已经预装了Tomcat,这里我们以Tomcat为例来进行.首先保证tomcat能正常访问.然后在HTTP Request中添加以下参数.
9. 点击运行,然后观察曲线变化
从图中我们看出各性能曲线都趋于正常,相对我们直接监控服务器CPU和磁盘更加稳定了.这是由于云服务器的保护机制,像云服务器的大型厂商,阿里、腾讯、华为,都针对各家的云服务器开发有保护技术,我这里监控的是阿里云服务器,当我再次运行后去服务端用 top命令观察cpu的状况,看到Java服务在首行,其次有一个AliyunDun的服务. 查阅官网得知,阿里云盾是针对阿里云服务器的一项保护技术,它可以过滤掉90%的异常访问包括一些DOS攻击,从而达到保护服务器的目的。
接下来我们测试数据库的性能(以mysql为例)
1. 这里我们着重于数据库的性能,不考虑网速的影响,所以我们采用本地的数据库(我安装的是Mysql8.0),打开Jmeter,添加线程组,右键 线程组>> Config Element >> JDBC Connection Configuration 添加JDBC配置, Variable Name处填写一个变量名 mysql (注意,自己起的名字要记住,后面要引用),在Database Connection Configuration处分别输入以下数据
Database URL是你的数据库连接地址,JDBC Driver class是加载的驱动类(如果你驱动包是5以上的版本,驱动类为com.mysql.cj.jdbc.Driver),Username是你的数据库用户名,Password是密码.
2. 右键线程组 >> Sampler >> JDBC Request 添加JDBC请求, Variable Name 后填写mysql(这里引用的是JDBC Connection Configuration中的Variable Name).Query Type 后选择 Select Statement,这里我们主要测试对数据库的查询,在实际开发中查询也是首要的测试点,Query下输入sql语句, 可以联查多张表.
3. 以上步骤完成后,对数据库的测试配置就完成了,最后添加察看结果树(View Results Tree),聚合报告(Aggregate Report)。在执行之前还需要把JDBC的连接jar包引入进来.点击测试计划,在最下面Add directory or jar to calsspath处点击 Browser,然后选择你本地的jar包 确定
4. 选择线程组,设置执行次数100,循环次数10,执行时间100秒.点击运行. 点击 Aggregate Report查看
从上图看出,测试执行了1000次,平均响应时间2毫秒,无出错率,1秒内的吞吐量为10,趋于稳定.
各参数的解释如下 ,响应时间,出错率,吞吐量,最小响应,最大响应是测试的几个重要参数指标.
5. 最后一步,导出聚合报告数据. 点击底部的 Save Table Data,选择存放位置,会导出一个.CSV的Excel文件.
除此之外还可以通过Jmeter的非GUI运行方式导出
至此,我们已完成了对服务器、数据库的压测,从而得出了测试数据.通过对测试数据的分析可以帮助我们在服务器配置参数和数据库参数配置方面进行调优,从而使其达到一个最佳的性能状态
-
用.NET实现对SQLSERVER数据库安全的动态监控 (2010年)
2021-06-14 06:19:53为了保障数据库服务器的安全,提出通过设计.NET程序来实现对SQLSERVER数据库服务器的动态监控,及时监控SQLSERVER数据库服务器的变化,从而了解SQLSERVER数据库服务器的安全状态,了解服务器上的数据是否发生变化。... -
怎样进行数据库性能测试
2021-03-23 14:22:26一般说来,做数据库性能测试需要如下几个步骤: 1、明确测试目的 2、设计测试模型(即压力模型) 3、准备测试集群环境 4、准备压力测试工具或者编写压力测试脚本 5、明确性能指标并加监控 6、根据2设计... -
基于JDBC的数据库连接池的煤矿安全监控技术体系建设
2020-07-06 06:37:47文章简单介绍了JDBC数据库连接原理和数据库连接池工作原理,结合其原理和Java应用系统存在的问题,提出基于JDBC的数据库连接池实现连接及语句分享的实现方案,其目的是在连接数不断增加的情况下,提高应用系统对用户请求... -
全国煤矿瓦斯基础信息数据库平台
2020-07-16 15:28:18概要地介绍了建立全国煤矿瓦斯基础信息数据库平台的目的、平台的运行环境及平台的构成、功能和...数据库目前录入全国10 000余对矿井60余万组煤矿瓦斯基础信息。平台可实现长期为政府、企业和科研单位提供服务的目的。 -
使用zabbix监控oracle数据库的方法详解
2021-05-01 06:01:30一、概述zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix+python监控oracle数据库。二、环境介绍以下是我安装的环境,实际部署时并不需要跟我的环境一样。1. 监控机 ...一、概述
zabbix是一款非常强大,同时也是应用最为广泛的开源监控软件,本文将给大家介绍如何利用zabbix+python监控oracle数据库。
二、环境介绍
以下是我安装的环境,实际部署时并不需要跟我的环境一样。
1. 监控机 Redhat Linux 6.5 + Zabbix server 3.4.10 + Python 2.6.6 (操作系统自带) + Oracle Client 11.2 (x86_64)
2. 被监控机 Oracle 11.2.0.4
三、选择监控方式
zabbix监控的方式主要有以下三种类型
Zabbix agent
在被监控机上面安装zabbix agent,zabbix agent将被监控机采集到的数据发送给zabbix server。这种方式最常用,一般用来采集服务器的cpu、内存等信息。
SNMP
一些网络设备如交换机,上面无法安装zabbix agent,所以只能通过snmp的方式收集监控数据如端口状态,流量等。
External check
在zabbix server上面运行查询脚本,直接查询被监控机上的数据。此种方式在被监控机上面不需要做任何部署,所有查询全部从zabbix server上面发出,所以对zabbix server的性能要求较高,官方不推荐大量使用该方式。对于少量的oracle数据库服务器,可以采用该方式。
本文介绍的就是使用external check方式去监控oracle数据库。
四、规划监控项
监控数据库的目的是为了保障数据库稳定运行,一旦出现故障,dba能够及时发现并介入处理,监控项分为以下两类
1. 数据库空间不足或数据库发生故障,DBA需要立即处理。
监控项包括表空间、用户状态、实例状态、锁、大量等待事件、闪回区使用率等。此类监控项需要给其设置触发器,一旦出现异常,及时告警。
2. 数据库运行状态的一些统计信息,为DBA定位数据库性能问题发生的时间和类别提供参考。
监控项包括常见的等待事件发生的次数,命中率、硬解析比例等。
下面表格中列出附件中模板的监控项
五、安装
上面闲话扯完,进入正式安装环节,我假定你已经安装了zabbix server,因此这里略过zabbix server的安装步骤。
以下所有操作均在zabbix服务器上面执行
安装oracle客户端
从官网下载如下三个rpm包
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
使用root安装oracle客户端
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm
配置环境变量
vi + /etc/profile
---------------------------------------------
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin
执行下面的命令让配置生效
source /etc/profile
添加动态库配置文件
vi + /etc/ld.so.conf.d/oracle.conf
---------------------------------------
/usr/lib/oracle/11.2/client64/lib
执行命令ldconfig
连接oracle进行测试
SQL> sqlplus scott/tiger@192.168.56.101:1521/orcltest
SQL*Plus: Release 11.2.0.4.0 Production on Wed Apr 24 18:24:28 2019
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
出现上面的提示证明oracle client安装成功
安装python相关包
安装cx_Oracle(python连接oracle的包)
wget http://downloads.sourceforge.net/project/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
rpm -ivh cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
安装argparse
wget https://bootstrap.pypa.io/2.6/get-pip.py --no-check-certificate
python get-pip.py
pip install argparse
上传python脚本
将附件中的pyora.py脚本放入/usr/lib/zabbix/externalscripts/目录下
赋权限,让zabbix用户能够执行该脚本
chmod 755 /usr/lib/zabbix/externalscripts/pyora.py
[注意:先在被监控机的oracle数据库中创建监控用户,用户名和密码可以自己随意指定
create user zabbix identified by zabbix;
grant connect, select any dictionary to zabbix;]
测试脚本
python pyora.py --username zabbix --password zabbix --address 10.30.10.32 --port 1521 --database office show_tablespaces
上面测试脚本的参数说明
username: 用户名
password: 密码
address: 被监控机ip地址
port: 端口号
database: oracle service name
有返回结果表示脚本能正常运行
上传template文件
将附件中的Pyora_ExternalCheck_11G.xml模板导入到zabbix server中
在zabbix页面中,依次点击Configuration – Templates – Import – 选择文件 – Import,即完成了导入
查看监控数据
Monitoring – Latest Data – Host (选择对应的主机),则可以看到监控的数据了
参考: https://github.com/bicofino/Pyora
附件:
pyora.py,Pyora_ExternalCheck_11G.xml地址放在github上
https://github.com/YangBaohust/zabbix_templates
到此这篇关于使用zabbix监控oracle数据库的方法详解的文章就介绍到这了,更多相关zabbix监控oracle数据库内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
-
天兔Lepus数据库监控的搭建
2018-08-06 10:32:26Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复制监控、慢查询分析和定向推送等高级功能)。Lepus无需在每台数据库服务器部署脚本...第1章 lepus介绍
Lepus是一套开源的数据库监控平台,目前已经支持MySQL、Oracle、SQLServer、MongoDB、Redis等数据库的基本监控和告警(MySQL已经支持复制监控、慢查询分析和定向推送等高级功能)。Lepus无需在每台数据库服务器部署脚本或Agent,只需要在数据库创建授权帐号后,即可进行远程监控,适合监控数据库服务器较多的公司和监控云中数据库,这将为企业大大减化监控部署流程,同时Lepus系统内置了丰富的性能监控指标,让企业能够在数据库宕机前发现潜在性能问题进行处理,减少企业因为数据库问题导致的直接损失。
第2章 软件安装的必要需求
软件需要LAMP环境,需要的核心包如下:
以下软件包只需要部署在监控机即可。被监控机无需部署。
使用的操作系统为CentOS6.8
1.MySQL5.1及以上(必须,用来存储监控系统采集的数据)
2.Apache 2.2及以上 (必须,WEB服务器运行服务器)
3.PHP 5.3以上 (必须,提供WEB界面支持,不支持PHP7)
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此模块必须安装)
本次安装演示采用如下软件包搭建
httpd-2.2.31.tar.gz #LAMP搭建必须
mysql-5.5.49-linux2.6-x86_64.tar.gz #MySQL数据库
php-5.5.32.tar.gz #php
libiconv-1.14.tar.gz #支持php必要组件
Python-2.7.6.tgz #必要安装
redis-py-2.10.3.tar.gz #监控redis模块(选装)
3.3.4 cx_oracle for python #监控oracle模块(选装)
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm #oracle数据库必要模块
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm #oracle数据库必要模块
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm #oracle数据库必要模块
pymongo-2.7.tar.gz #监控mongodb模块
freetds-0.82 #监控SQLServer模块
Lepus3.7.zip #天兔监控软件本体
该软件详情可以关注官网http://www.lepus.cc/
编译安装软件的目录
/tools 软件包统一存放目录
/server/scripts 脚本存放目录
/application 编译安装后软件所在目录位置第3章 软件安装
3.1 搭建LAMP环境(手动)
3.1.1 编译安装httpd服务
解压目录并创建一个用于http服务的账户www
[root@m02 ~]# cd /tools [root@m02 tools]# tar xf httpd-2.2.31 [root@m02 tools]# cd httpd-2.2.31 [root@m02 tools]# useradd www -s /sbin/nologin -M
安装必要的软件包zlib
[root@m02 httpd-2.2.31]# yum install zlib zlib-devel -y
执行配置文件并安装
[root@m02 httpd-2.2.31]# ./configure --prefix=/application/apache2.2.31 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite [root@m02 httpd-2.2.31]# make && make install
创建软链接并开启服务
[root@m02 httpd-2.2.31]# ln -s /application/apache2.2.31/ /application/apache [root@m02 httpd-2.2.31]# /application/apache/bin/apachectl start [root@m02 httpd-2.2.31]# netstat -lntup|grep http tcp 0 0 :::80 :::* LISTEN 57310/httpd
3.1.2 基于apache虚拟主机的配置
配置虚拟主机的目的也是为了检测http服务是否可以正常显示主页。
以www.abc.com为例来配置一个主页[root@m02 apache]# cd /application/apache/htdocs/ [root@m02 apache]# mkdir www
修改页面配置httpd.conf文件
[root@m02 htdocs]# vim /application/apache/conf/httpd.conf
搜索/httpd-v,将前面的注释去除。
# Virtual hosts Include conf/extra/httpd-vhosts.conf
搜索文件中的Servername将注释打开,如果有需要就修改内网IP地址。
ServerName 127.0.0.1:80
编辑与配置http页面文件httpd-vhosts.conf
[root@m02 htdocs]# vim /application/apache/conf/extra/httpd-vhosts.conf <VirtualHost *:80> ServerAdmin abc@qq.com #管理员邮箱 DocumentRoot "/application/apache2.2.31/htdocs/www" #页面虚拟目录 ServerName www.abc.com #域名 ServerAlias abc.com #别名 ErrorLog "logs/www_error_log" #错误日志 CustomLog "logs/www_access_log" common #访问日志 </VirtualHost>
建立一个首页文件用于测试页面是否正常
[root@m02 htdocs]# echo 'Apache www' >www/index.html
重启服务器刷新配置
[root@m02 apache]# /application/apache/bin/apachectl -t [root@m02 apache]# /application/apache/bin/apachectl graceful
修改客户端的hosts文件添加IP到我们的页面地址,如果通过浏览器访问www.abc.com出现apache www的内容,就说明apache成功搭建完成了。
3.1.3 安装mysql
这里直接以单实例安装的方式完成
[root@m02 apache]# cd /tools [root@m02 tools]# useradd -s /sbin/nologin -M mysql [root@m02 tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz [root@m02 tools]# mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49 [root@m02 tools]# ln -s /application/mysql-5.5.49/ /application/mysql [root@m02 tools]# chown -R mysql:mysql /application/mysql [root@m02 tools]# cd /application/mysql [root@m02 mysql]# ./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql
3.1.4 mysql调试并开启数据库
[root@m02 mysql]# cd bin/ [root@m02 bin]# sed -i 's#/usr/local/#/application/#g' mysqld_safe [root@m02 bin]# cd ../ [root@m02 mysql]# \cp support-files/my-small.cnf /etc/my.cnf [root@m02 mysql]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile [root@m02 mysql]# . /etc/profile [root@m02 mysql]# sed -i 's#/usr/local/#/application/#g' support-files/mysql.server [root@m02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld [root@m02 mysql]# chmod +x /etc/init.d/mysqld [root@m02 mysql]# chkconfig --add mysqld [root@m02 mysql]# /etc/init.d/mysqld start
3.1.5 php5.5.32的安装
cd /tools/ [root@m02 tools]# tar xf libiconv-1.14.tar.gz [root@m02 tools]# cd libiconv-1.14 [root@m02 libiconv-1.14]# ./configure --prefix=/usr/local/libiconv [root@m02 libiconv-1.14]# make && make install [root@m02 libiconv-1.14]# cd ../ [root@m02 tools]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt openssl-devel pcre-devel -y [root@m02 tools]# tar xf php-5.5.32.tar.gz [root@m02 tools]# cd php-5.5.32 [root@m02 php-5.5.32]# ./configure --prefix=/application/php5.5.32 --with-mysql=/application/mysql --with-pdo-mysql=/application/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-opcache=no --with-apxs2=/application/apache/bin/apxs --enable-ftp [root@m02 php-5.5.32]# ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ [root@m02 php-5.5.32]# touch ext/phar/phar.phar [root@m02 php-5.5.32]# make [root@m02 php-5.5.32]# make install [root@m02 php-5.5.32]# ln -s /application/php5.5.32 /application/php [root@m02 php-5.5.32]# cp php.ini-production /application/php/lib/php.ini [root@m02 php-5.5.32]# cd /application/php/etc [root@m02 etc]# cp php-fpm.conf.default php-fpm.conf [root@m02 etc]# grep libphp5.so /application/apache/conf/httpd.conf [root@m02 etc]# ls /application/apache/modules/ [root@m02 etc]# /application/php/sbin/php-fpm
3.2 http与php模块以及mysql的结合
3.2.1 配置httpd.conf文件
在/application/apache/conf/httpd.conf文件的第311行增加如下内容:
AddType application/x-httpd-php .html .htm .php .phtml AddType application/x-httpd-php-source .html .htm .phps
在168行修改:
DirectoryIndex index.php index.html
在第67行修改:
User www Group www
编辑测试文件
[root@m02 etc]# cd /application/apache/htdocs/www [root@m02 www]# echo "<?php phpinfo(); ?>" >test_info.php
在浏览器中输入www.abc.com/test_info.php如果出现php的配置结果页面就说明php与http已经关联了。
3.2.2 http与mysql的结合
同样,在上面的目录中在建立一个mysql测试的文件,文件内容如下
[root@m02 www]# vim /application/apache/htdocs/www/test_mysql.php <?php $link_id=mysql_connect('localhost','root','123456') or mysql_error(); if($link_id){ echo "MySQL successful by abc !"; } else { echo mysql_error(); } ?>
请注意mysql登录的账号密码,如果为空请自己设定mysql登录的账号密码。
浏览器中输入www.abc.com/test_mysql.php地址查看数据库连接状态。3.3 安装Python环境
安装数据库连接Python的驱动包。MySQLdb为Python连接和操作MySQL的类库,如果您准备使用lepus系统监控MySQL数据库,那么该模块必须安装。
3.3.1 安装 python (必须安装)
tar xf Python-2.7.6.tgz cd Python-2.7.6 ./configure --prefix=/application/python2.7.6 #注意:安装在新目录,防止覆盖系统默认的python make && make install mv /usr/bin/python /usr/bin/python2.6.6.old ln -s /application/python2.7.6/bin/python /usr/bin/python python -V
如果出现Python 2.7.6的提示就说明成功了。
此时由于更新python版本,使用yum命令时会报错。
修改vim /usr/bin/yum #!/usr/bin/python 更换为#!/usr/bin/python2.6.6.old(即为原来的版本链接)
3.3.2 python setuptools install
cd /tools tar xf setuptools-12.0.3.tar.gz cd setuptools-12.0.3 python setup.py install
3.3.3 安装mysqldb for python
cd /tools unzip MySQLdb-python.zip cd MySQLdb1-master/ which mysql_config vim site.cfg mysql_config = /application/mysql/bin/mysql_config #将注释打开,修改后面which mysql_config 的路径。 python setup.py build python setup.py install
如果mysql_config不存在就先安装一下setuptools
3.3.4 安装Redis 驱动 (如果需要监控Redis则必须安装)
cd /tools tar xf redis-py-2.10.3.tar.gz cd redis-2.10.3/ python setup.py install
3.3.5 安装cx_oracle for python (如果需要监控Oracle则必须安装)
安装oracle instant client,这个模块很坑爹,在oracle官网上点击下载直接会跳到让你登录注册界面,于是我直接走捷径搞到了必要的安装包
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpmcd /tools rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm vim /root/.bash_profile #编辑全局配置文件 # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs ORACLE_HOME="/usr/lib/oracle/11.2/client64" PATH=$PATH:$ORACLE_HOME/bin #PATH=$PATH:$HOME/bin export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH source ~/.bash_profile #命令行加载生效 echo "/usr/lib/oracle/11.2/client64/lib" >>/etc/ld.so.conf /sbin/ldconfig #命令行执行生效
3.3.6 安装cx_Oracle-5.1.2
tar xf cx_Oracle-5.1.2.tar.gz cd cx_Oracle-5.1.2 python setup.py build python setup.py install
3.3.7 安装Pymongo for python (如果需要监控Mongodb则必须安装)
cd /tools tar xf pymongo-2.7.tar.gz cd pymongo-2.7 python setup.py install
3.3.8 安装SQLServer驱动 (如果需要监控SQLServer则必须安装)
3.3.8.1 安装freetds
cd /tools tar xf freetds-0.82.tar.gz cd freetds-0.82 ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static make make install echo "/usr/local/freetds/lib" >>/etc/ld.so.conf.d/freetds.conf ldconfig -v
3.3.8.2 安装pymssql
cd /tools tar xf pymssql-2.1.1.tar.gz cd pymssql-2.1.1 python setup.py install
3.3.9 解压Lepus3.7软件检查各部分驱动是否正常连接
cd /tools unzip Lepus3.7.zip cd /tools/lepus_v3.7/python python test_driver_mysql.py python test_driver_oracle.py python test_driver_mongodb.py python test_driver_redis.py
3.4 安装lepus采集器
cd /tools/lepus_v3.7/python chmod +x lepus* chmod +x install.sh ./install.sh cd /usr/local/lepus/
3.4.1 在监控机创建监控数据库并授权
登录数据库
create database lepus default character set utf8; grant all on lepus.* to 'lepus_user'@'localhost' identified by '123456'; flush privileges;
导入SQL文件夹里的初始化SQL文件(表结构和数据文件)
cd /tools/lepus_v3.7/sql/ mysql -uroot -p123456 lepus <lepus_table.sql mysql -uroot -p123456 lepus <lepus_data.sql
3.5 安装WEB管理台
复制lepus_v3.7/php文件夹里的文件到apache对应的网站虚拟目录,修改配置
cd /tools/lepus_v3.7 cp -rf php/* /application/apache/htdocs/www/
修改lepus的数据库连接文件
vim /application/apache/htdocs/www/application/config/database.php $db['default']['hostname'] = '127.0.0.1'; $db['default']['port'] = '3306'; $db['default']['username'] = 'lepus_user'; $db['default']['password'] = '123456'; $db['default']['database'] = 'lepus'; $db['default']['dbdriver'] = 'mysql'; ServerName要修改成本机127.0.0.1:80
修改虚拟配置文件
/application/apache/conf/extra/httpd-vhosts.conf
重启apache服务
修改配置文件vim /usr/local/lepus/etc/config.ini ###监控机MySQL数据库连接地址### [monitor_server] host="127.0.0.1" port=3306 user="lepus_user" passwd="123456" dbname="lepus"
启动lepus服务
cd /usr/local/lepus/ lepus start ps -ef|grep lepus
但是因为还没有添加主机,所以查看日志会看到如下提示,属于正常提示。当然这一步也可以在部署完Lepus WEB控制台后再进行启动。
登录页面用户名admin密码Lepusadmin。第4章 添加MySQL监控实例
Lepus监控数据库是采用远程连接方式进去获取数据,所以无需要在数据库服务器端部署相关agent或计划任务。但是需要在数据库端进行授权访问,然后在WEB端配置实例就可以了。具体步骤如下所示。
首先我们在被监控的数据库端执行授权,允许Lepus采集器服务器能连接到数据库,需要在被监控的数据库执行如下命令来授权。
在需要被监控的数据库服务器上授权,我们现在借用10.0.0.52上的多实例数据库3306来操作测试grant select,process,super on *.* to 'lepus_user'@'10.0.0.%' identified by '123456'; flush privileges;
创建完成后,就可以在页面中配置主机项了。
作者按:
1.以上文档借鉴了天兔官网的安装文档,笔者自己安装搭建的,官网上使用的LAMP环境是一个整和包的Xampp,笔者没有玩明白,搭建完成后在安装软件时也都是坑。所以最后一气之下,自己手动搭建完成了一个LAMP环境。整个安装过程已经完全排除了大多数坑,如果一步步按照笔者这个文档百分百一样,搭建绝对是可以完成的。
2.本文只是一个基础的搭建文档,并没有深入研究该监控软件的细节。 -
基于GSM Web的国家数据库Aquafeeder集中远程无线自动监控与饲喂和生长优化。-研究论文
2021-05-19 17:04:13这个项目是关于开发一个GSM网络集中式远程无线自动控制和监控Aqua Feeder,用于国家数据库的饲料和生长优化。 GSM鱼喂食器通过SMS的自动喂食和特定时间设置的数据库检索来实现时间表喂食。 在该项目中,GSM Aqua ... -
数据库维护工作手册-监控,维护,管理常用SQL脚本,日常管理
2010-12-14 16:54:472 数据库监控 4 2.1 数据库监控工作内容 4 2.2 数据库监控工作步骤 4 2.2.1 查看数据库日志 4 2.2.2 检查是否有失效的数据库对象 5 2.2.3 查看数据库剩余空间 5 2.2.4 重点表检查 5 2.2.5 查看数据库是否正常 6 ... -
PostgreSQL:十七. 服务器配置与数据库监控
2020-05-19 20:35:03服务器配置与数据库监控 17.1 服务器配置 1、服务器配置的文件 在数据库集群中,有3个配置文件,分别是:postgresql.conf,pg_hba.conf和pg_ident.conf。其中postgresql.conf为服务器主要的配置文件,pg_hba.conf是... -
Spring Boot整合Druid连接池开启数据库监控功能
2018-11-29 18:30:36Druid连接池为监控而生,内置强大的监控功能,监控特性不影响性能。功能强大,能防SQL注入,内置Loging能诊断Hack应用行为。Druid是一个JDBC组件库,包括数据库连接池、SQL Parser等组件。DruidDataSource是最好的... -
数据库监控体系建设(一)
2014-07-09 10:08:10这篇文章先总结一下数据库监控体系建设那些事儿,下一篇文章描述具体的详细部署过程 -
Druid连接池开启数据库监控功能
2018-09-04 21:58:12web程序普遍的都会涉及到数据库的操作,为了提高系统的性能,在数据库操作上,几乎千篇一律的使用了数据库连接池技术,数据库连接...下面就以实例的方式演示如何开启数据库监控功能。目前spring boot特别的火,就以... -
java监听数据库表变化
2021-04-23 20:43:28南京理工大学泰州科技学院 实验...一、实验目的与要求 Java 面向对象编程 实验报告 1 、SQL Server 中表的创建 2、掌握常用的 SQL 语句 3、掌握 Java 连接数据库的 JDBC 技术 4、掌握使用 ......通过连接 数据库,从... -
实时数据库与时序数据库
2020-11-18 10:40:391、概述 在工业大数据数据库存储领域,除了传统的关系型数据库和分布式数据库以外,还有一种类型的数据库是非常常用...实时数据库最起初是基于先进控制和优化控制而出现的,对数据的实时性要求比较高,因而实时、高效 -
如何用jmeter进行数据库性能测试
2018-06-26 16:15:00由于业务需要,需要进行数据库性能测试,记录过程进行学习 测试前期准备: 1.测试点准备及需求点 a.性能测试目的 b.jmeter测试数据库基本脚本 get c.数据库性能监控工具选择 d.服务器性能监控选择 2.业务... -
CentOS下编写shell脚本来监控MySQL主从复制的教程
2021-01-19 22:37:17目的:定时监控MySQL主从数据库是否同步,如果不同步,记录故障时间,并执行命令使主从恢复同步状态 1、创建脚本文件 vi /home/crontab/check_mysql_slave.sh #编辑,添加下面代码 #!/bin/sh # check_mysql_slave... -
网管监控软件Hyperic HQ对DB2数据库的监控和管理
2012-11-23 10:01:12网管监控软件Hyperic使用DB2的本地客户端接口对数据库引擎的每个实例以及单独的表取得高度精确的测量。 这种功能是通过了DB2运行在所有平台上,包括AIX,Linux和Windows,并且允许你获得管理能力(以前仅仅是访问DBA... -
采用SqlDependency监测数据库中表的变化
2022-03-24 13:26:15功能:SqlDependency提供了一种机制,当被监听的数据库中的数据发生变化时,SqlDependency会自动触发OnChange事件来通知应用程序,从而达到让应用程序实时更新数据(或缓存)的目的,而不用定期请求后端,如果加上... -
基于卫星遥感影像的矿山数据库建库方法
2020-07-13 00:51:12矿山开采业的发展,随之也带来环境的破坏。由于矿山大多处于深山,监控管理非常...为能对矿山进行实时有效治理,文中阐述了应用卫星遥感影像对矿山进行数据库建库的方法,用以实现矿山信息化管理,进而达到保护环境的目的。 -
oracle性能监控
2011-05-30 16:49:24QUEST公司的SPOTLIGHT ON ORACLE软件来监控ORACLE数据库,其优点是实时准确、界面直观、操作配置简单灵活、性能消耗可以限定在一个小范围内、不需要在被监控设备部署AGENT代理。且是破解版,没有监控数量上的限制。 ... -
紫金桥实时数据库-SPC统计过程控制组件
2020-10-20 06:18:09SPC主要是指应用统计分析技术对生产过程进行实时监控,科学的区分出生产过程中产品质量的随机波动与异常波动,从而对生产过程的异常趋势提出预警,以便生产管理人员及时采取措施,消除异常,恢复过程的稳定,从而... -
上海测震台网监控平台的设计及应用
2021-01-13 03:32:16基于对上海地震局测震台网各个台站中设备工作状态及所处环境实时监控,保证各台站的正常运行的目的,采用.NET技术及mySQL数据库设计和开发了上海测震台网实时监控平台。在台网日常工作实装测试期间触发故障5次。2次... -
【最佳实践】分布式数据库对接开源监控软件
2018-02-06 13:45:23用户可以通过时序数据库InfluxDB作为数据源为Grafana提供性能监控数据,同时使用Telegraf作为性能数据采集工具从SequoiaDB中定时采集性能指标,已达到准实时性能监控的目的。 整个框架的搭建非常简单, -
数据库复试面试问题
2022-02-24 21:03:12对外部程序提供访问数据库的方法,对内进行数据管理。 数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数据库管理员和用户组成。 2.数据库管理技术的发展 经历了人工管理阶段... -
详写数据库需求分析
2020-04-04 21:03:46需求分析一、数据库系统设计概述 1.数据库系统设计的内容1>数据库的结构特性设计2>数据库的行为特性设计3>数据库的物理模式设计 2.应注意的问题 3.基本方法 4.基本步骤二、系统需求分析 1.... -
druid数据库连接池
2020-06-18 10:11:09本质上,数据库连接池和线程池一样,都属于池化资源,作用都是避免重量级资源的频繁创建和销毁,对于数据库连接池来说,也就是避免数据库连接频繁创建和销毁。如下图所示,服务端会在运行期持有一定数量的数据库连接...