pgwatch详细安装和测试
安装时一直出错,但是网上又搜不到任何文档决定自己写一篇详细的安装文档。
转载注明出处:http://blog.csdn.net/lengzijian/article/details/8127207
1.下载pgwatch,我这里我用的版本是1.0,下载地址如下:
wget http://www.cybertec.at/download/pgwatch/pgwatch-1.0.tar.gz
2.解压并打开README文件,查看安装所需,这里的安装就不详细讲解
tar -zxvf pgwatch-1.0.tar.gz vim README ------------------------------------------------------------ Requirements: -------------
You will need a handful of components to make this work:
- Apache (webserver) # apache用作web服务器 - PHP 5 (scripting language) # php5版本 - pgsql extension for PHP (see http://www.php.net/manual/en/book.pgsql.php) # postgresql的php客户端 - PostgreSQL 9 (to store the data we collect) # postgresql支持最低版本为9 - dblink (contribution module for PostgreSQL 9) # 需要安装dblink(并非默认安装)
- For now we only support PostgreSQL >= 9.0 databases. Older systems cannot be monitored, however, we will add support for future database releases.
|
3.首先把你刚刚解压的文件夹,放在apache的目录下。(这里要注意的是要设置好文件夹的权限)
4.检测是否安装postgresql的php客户端,如果没有可以直接用yum安装:
yum installphp-pgsql.i386(我的是32位,同学们可以自己用yum search搜索下,之后重启apache)
检测是否安装脚本(php):
// Connecting, selecting database $dbconn = pg_connect("host=192.168.30.200 port=5434 dbname=lengzijian user=postgres password=123456") or die('Could not connect: ' . pg_last_error());
// Performing SQL query $query = 'SELECT * FROM t_user limit 10'; $result = pg_query($query) or die('Query failed: ' . pg_last_error());
// Printing results in HTML echo "<table>\n"; while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) { echo "\t<tr>\n"; foreach ($line as $col_value) { echo "\t\t<td>$col_value</td>\n"; } echo "\t</tr>\n"; } echo "</table>\n";
// Free resultset pg_free_result($result);
// Closing connection pg_close($dbconn); ?> |
5.查看php是否支持json,如果不支持可能会报错,如果没有按照如下方法安装:
yum installphp-pecl-json.i386 (我的是32位的,同学们可以自己用yum search搜索下,之后重启apache)
6.postgresql数据库需要安装dblink,具体操作如下:
进入postgresql-9.1.3/contrib/dblink目录下,make,make install
7.在浏览器(chrome)中输入地址:http://192.168.30.200/pgwatch/setup.php
如果连接出错会出现Connection failed字样,这时候要检查postgresql数据库是否启动正常
点击next
确认基本信息后点击start
点击出现的网页连接,进行配置:
![](https://img-my.csdn.net/uploads/201210/30/1351564965_7562.jpg)
下面是我配置了两个数据库后显示的一些信息:
![](https://img-my.csdn.net/uploads/201210/30/1351564988_4954.jpg)
注意:
最后要在linux下加入定时任务,我的crontab如下:
0 * * * * cd/var/www/html/pgwatch/util && /usr/bin/php getraw_d.php
首先本人是在linux下完成的如上配置,windows下没有试过,在作者的文档中说,在linux下可以用setup.sh进行安装操作,本人尝试许久,发现setup.sh脚本中存在非常多的错误,例如你输入端口为5434,但是连接数据库后还是会按照5432(默认连接),诸如此类错误比较多。本人用setup.sh安装时,索性更改了setup.sh的代码,并且直接在脚本中写好配置,这样就避免了很多输入的情况。
还有人可能想问setup究竟做了哪些操作,看了shell脚本后发现,其实就是检测输入数据库是否正常,如果正常,写如配置文件pgwatch/config/config.ini中(读者可以查看此文件,文件中还记录的pgwatch的日志文件位置,如果权限不够可能会报错)。
如果打开网页后出现莫名奇妙的错误,例如等待动画不消失时,可能是pgwatch缓存了部分错误页面,可以把templates_c目录下的缓存文件全部删除之后,再次尝试。