zycchen 发表于 2016-11-20 12:06:21

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

  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目录下的缓存文件全部删除之后,再次尝试。
页: [1]
查看完整版本: postgresql开源监控工具——pgwatch详细安装和测试