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目錄下的緩存文件全部刪除之後,再次嘗試。