资 源 简 介
我们有时会遇到这样的尴尬:
1、发现我们的数据库被更新了,却很难很快定位,是那个页面中那个程序执行了这条语句,尤其是大部分sql语句是很多变量组织起来的,根本无法用grep查找。
2、我们发现某一页面被频繁调用,却无法迅速确定属于DNS轮询中的那个服务器
正因为如此,这次整理了一个几年前写的php mysql扩展的补丁,这个补丁在mysql_query函数内部,发送一条信息给接收服务器,这样所有服务器的数据查询和操作语句都可以发送到统一的服务器上,根据这个日志我们可以迅速解决以上的问题。
但是由于是一个补丁,每次升级php都要改写一遍,所以这次将这部分直接改为一个PHP扩展 dbMonitor ,现在我们大多时候采用的各种PHP框架,都对数据库做了封装,我们就可
以在php 框架的合适部分加上这个函数,把sql语句发送出去。
特点:信息发送采用UDP协议
一、信息接收服务器 EventDbMonitor 的安装。
1、安装libevent
wget http://www.monkey.org/~provos/libevent-1.4.4-stable.tar.gz
tar -xvzf libevent-1.4.4-stable.tar.gz
cd libevent-1.4.4-stable
./configure
make&&make install
2、安装log4c
下载 log4c-1.2.1,解压缩
./configure
make&&make install
3、安装 EventDbMonitor
tar -xvzf EventDbMonitor.tgz
cd EventDbMonitor
./configure --prefix=/usr/local/eventdbmonitor
make&&make install
二、运行服务器
要运行Eventdbmonitor ,先要设置 /etc/ld.so.conf 将刚才安装 libevent , log4c的 路径