Home –  Archive
Monthly Archives: 2月 2012

pgwatchを試してみる

PostgreSQL用の統計情報(キャッシュヒット率やディスク利用量など)を見やすくしてくれるツールはないものかと思いなんとなく調べてみたらpgwatchというものをがあるというのをしりました。

http://www.cybertec.at/en/postgresql_products/pgwatch-cybertec-enterprise-postgresql-monitor

どうやらWeb上で統計情報がみれるみたい?ということで早速インストールしてみました。
なおこのソフトですがPostgreSQLのバージョンが9.0以降のものにしか対応していないようです。

1.事前準備

ドキュメントを覗くと

- Apache (webserver)
 - PHP 5 (scripting language)
 - pgsql extension for PHP (see http://www.php.net/manual/en/book.pgsql.php)
 - PostgreSQL 9 (to store the data we collect)
 - dblink (contribution module for PostgreSQL 9)

と書いてあります。
ハードルは高くないとは思いますが dblink をインストールしておかないと行けないというのがミソでしょうか。contribをそのまま入れてれば問題ないのかなと思っています。

2.インストール

http://www.cybertec.at/en/ressources/postgresql_downloads

上記URLのページからpgwatch(私が確認したときはVersion1.0)をダウンロードします。
ダウンロードしたファイルを解凍した上でWeb公開用のディレクトリに配置します。

今回私は/var/www/html/pgwatchに配置しました。

 

セットアップにいくつかの方法があるようです。

  • Webからのセットアップ(http://ホスト名/インストールディレクトリ/setup.php)
  • コンソールからのセットアップ(/var/www/html/pgwatch/setup.sh)

またpgwatch自身もDBが必要な為、予めアカウントとデータベースは作成しておきました。
(よく分かってないのですが、セットアップ中にアカウント、データベースの作成もしてくれる感じでもありました。)

 

今回、SSHで接続してコンソールからセットアップしています。

データベースサーバが192.168.1.240, pgwatchをインストールしたサーバは192.168.1.238という環境でのセットアップのログを下記に記載します。

cd /var/www/html/pcwatch
./setup.sh

[root@postgres01 pgwatch]# ./setup.sh
Please enter the host name of the application (localhost): 192.168.1.238
Host name will be "192.168.1.238"
Please enter the folder name inside the host this app is located in (pgwatch):
Folder name will be "pgwatch"

Application url: http://192.168.1.238/pgwatch
Path to PostgreSQL binaries (/usr/bin)?
Binaries will be used in "/usr/bin"
Database server host (localhost)? 192.168.1.240
Connection will go to host 192.168.1.240
Database server port (5432)?
Connection will work through port 5432
Please enter the database name to create (pgwatch):
Database name will be "pgwatch"
Please enter the database user's password: pgwatch
Database password will be "pgwatch"
Create new user to use pgwatch (Y/n)? n
Existing user will be used.
Please enter the database user to connect by (pgwatch):
Database user will be "pgwatch"
Creating database pgwatch with owner pgwatch...
Creating database content...

Remember to add the following row to cron of user www-data (or so):
0 * * * * cd /var/www/html/pgwatch && /usr/bin/php util/getraw_d.php

You can acces now the application on http://192.168.1.238/pgwatch

Ready.

激しく手抜きなのですがここまでrootユーザーでやってきてます(´・ω:;.:…

www-dataユーザーでcrontab設定しろとか言われてますが、このままrootユーザーでcrontab設定しました。
実行ユーザー等はインストール環境に応じて設定して下さい(ディレクトリのオーナー等)

上に書いてある通りcrontabを設定しました。が、ちょっとだけ変更をしました。

0 * * * * cd /var/www/html/pgwatch && /usr/bin/php util/getraw_d.php > /dev/null

といっても > /dev/null しているだけですが・・・。
cronの結果がメールで届くような形にしている場合、毎回やたら長い実行中の内容(?)が出力されるのでそれは必要ないと思った次第です。

3. 実行確認

ブラウザで http://インストールしたサーバ/インストールしたディレクトリ/へアクセスして下さい。
(今回私の場合はhttp://192.168.1.238/pgwatch/となります。)

そうすると監視先のデータベースサーバのアカウントなどの設定する画面が出てきますので、設定して下さい。
ポイントとしては接続するアカウントはスーパーユーザーが必要みたいです。一般ユーザーでアクセスしても統計情報が取得できませんでした。(当たり前のような気もしますが・・・)

ホントは画像入りで書こうと思ったのですが面倒で・・・・(;´Д`)

上手く設定できれば↓のようなページで色々と情報を見ることが可能です。

4. 感想など

個人的には結構手軽に設置出来てWebページでグラフィカルに見えるので非常にありがたいツールかなと思います。

またDBサーバに設置する必要もないのでそういった点もありがたいです。
監視先のサーバはpgwatch用のデータベースのあるサーバとは全く別のサーバも設置できますので、複数台DBサーバがあってもpgwatchはひとつだけインストールしておけば大丈夫です。

PostgreSQL9.0以降という制約がありますが簡単にインストール出来るので一度使ってみる価値はあるのではないかと思いました。

Android用のゲームライブラリをいくつか試すこの頃

ちょっと色々とぐんにょりしてたら気がついたら2月も終盤になってました(;・∀・)

1月にちょいちょい書いたけど、そもそも「あけましておめでとうございます」すら書いてなかった気がします。
なんとか書くペースを戻したいなぁと思っています。

さてさて最近はAndroidでゲームを作らないかー的な話をちょっとしてまして。
Android開発はちょっとしたショボソフトをAndroidMarketにアップしたぐらいで基本初心者でもあるのでゲームのライブラリを探して活用してみようと思いました。

ゲーム自体も3Dとか無理ですし、レトロゲームが好きな方々なので2Dでと。
なので2Dゲームのライブラリを探しました。

いくつか試してみたいので軽くまとめというか感想を。

AndEngine

URL: http://www.andengine.org/

調べた感じ日本ではあんまり検索でヒットしないのですが、全世界というくくりで見たら調べたうちでは一番使われていそうです。

サポートしている機能の範囲も機能の細かさも一番のような気がします。
GLES1とGLES2と呼ばれているものがあってGLES2が昨年末ぐらいからメインとして動いていて、GLES1は古いもののようです。

ただ困ったことに日本語での情報はGLES1しかなくGLES2の方を頑張って試したところ、ある程度は使えたのですが細かいところがどうしてもわかりませんでした。
特にフォント関係に関してはどうしてもわからず文字表示ができませんでしたw

あと気になるのは機能が細かすぎなのか?使い方が複雑な上にあちこちに同じようなのを定型的にいれたり個人的にはちょっと美しくないなぁと思ったり。(getVertexBufferObjectManagerを繰り返し使ったり剃る必要があったりね・・・)

そんな訳で使うことを挫折(;´Д`)

cocos2d-android-1

URL: http://code.google.com/p/cocos2d-android-1/

元々はPython用のライブラリだったのをAndroidに移植したもののようです。
後ろの1はなんだよと思ったら「cocos2d-android」というのもあってこっちは更新が止まっているみたいです。

このライブラリは一番サポートしている機能は少なく、AndroidのAPIと組み合わせて作っていく形になるかと思います。他のライブラリはできるだけAndroid部分を隠蔽するような考え方のように思います。

座標系は他の2つとは違い、左下が(0,0)になるので個人的にはちょっとイメージが掴みずらいです。
また、一番使いたかったTieldMapの読み込み表示がどうにも上手く行かなかった事もありこれも候補から外れました。
あとちょっと気になるのがテクスチャサイズが2の累乗でないと使えないかもしれません。(他の2つは大丈夫だった気がします。)

e3roid

URL: http://code.google.com/p/e3roid/

イメージとしてはAndEngineの複雑の所を出来るだけ削った感じのライブラリです。
AndEngineで「なんでこんな手間いるの?」て思ったりしてたのでありがたい感じでした。

概ねこの中では一番理想に近いと思うのですが、このライブラリにも問題が・・・・。

ほぼ既に開発が終わっている というところです。
作者の方はその後にemo-frameworkというのを作ってそちらに注力するのかと思ったら今度はquicktigame2dというTitaniumMobileのゲームフレームワークを作り始めたようです。

過去のものが放置されるのは仕方ないのですが、この状態で正直使うのは・・・と思ったり。
悩みます。

quicktigame2dも完成度上がったらいいかなーとも思うのですがまた気がついたら他のライブラリ(フレームワーク)に移行してそうなので(´・ω:;.:… なやむ。

 

そんなこんなで

どれもこれも一長一短。そんな感じです(;´Д`)
SRPGを目標にということでTiledMapが使えるものを探してたのもあり、この3つになったのですが 正直うーーーーんとなってしまいましたorz

cocos2dではTiledMapが上手く動作せず。AndEngineは難しすぎで文字出力が出来なかった。。。。

そういうことから考えると私にとってはe3roidという選択肢しかないようですね( ;∀;)

 

こまめにこのへんチェックしていいのがあったら乗り換えたい。そういう思いはちょっとあります。