现在的位置: 首页 > 综合 > 正文

postgresql开源监控工具——pgwatch详细安装和测试

2013年10月03日 ⁄ 综合 ⁄ 共 2662字 ⁄ 字号 评论关闭

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


点击出现的网页连接,进行配置:


下面是我配置了两个数据库后显示的一些信息:



注意:

最后要在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目录下的缓存文件全部删除之后,再次尝试。

【上篇】
【下篇】

抱歉!评论已关闭.