Pages

2011/09/01

2度目のブログ移転で3G

Wordpressの管理が面倒になってきたためBloggerに移転。

これで旧記事のインポートをしておいたけど、あまり必要なかったかな?
http://wordpress2blogger.appspot.com/

2011/08/30

mongoDBのRESTインターフェイスをJSONPで使う

mongodbにrestオプションをつけるとWEBインターフェイスからjsonで色々情報が取れる。

JSONPならほぼjsだけのShaed環境向けViewerが作りやすいのにと思ったらひそかに対応していた。
 


"mongod -h" には出てくるんだが、公式の「Command Line Parameters」には載っていない、なんでかね?

--jsonp allow JSONP access via http (has security implications)



mongodの起動時に --jsonp を渡すか、コンフィグにて下記オプションを追加すると

jsonp = true


クエリにpadding用文字列をつけて "?jsonp=hogehgoe" などとリクエストすれば、hogehoge() の関数として返してくれる。
 

2011/08/17

Capistranoのデフォルトdeployタスクをつぶす

Capistranoが便利なので、複数サーバの管理に使いまわそう。

ただもともとがRails用なので、間違えて"cap deploy"すると多少悲しくなる。
ここは deployに含まれる動作を事前に上書きして置くと安心。

namespace :deploy do
# all default task disabler.
task :setup do; end
task :update_code do; end
task :symlink do; end
task :restart do; end
end



Rails以外に対応したフォークがあったような気もするが。
 

2011/07/28

syslog-ngでsyslogをmongodbに直行させる

少々前に似たような記事、logger代わりにmongoimportを上げた。

が、syslogデーモンにsyslog-ngを使った場合、出力先を指定プログラムのSTDINにできるので直接mongodbに突っ込めるのだった。
 

2011/07/26

GlusterFS を 3.2.2へ更新

GlusterFSの3.2.2が出ていたので、3.2.1から更新した。
 

前のUpgrade手順はRemoveしてからだったが、ReleaseNoteによると上書きでよいらしい。
Ubuntuだったらいきなり "dpkg -i" でOK.


serverのほうを順繰りに更新し、daemonの再起動。
特に問題なくPeerとのコネクションが再開された。
 

クライアント側ではServerへの接続が途切れたログが一行でたが、見た目で分かる影響は無かった。

W [socket.c:1494:__socket_proto_state_machine] 0-glusterfs: reading from socket failed. Error (Transport endpoint is not connected)

 
 

Bigfixもそこそこ多いので、更新しておいたらよい。
 

2011/07/18

nginxのupstreamから502を対象外にする

railsをunicornでrackupする際、よくunixsocket経由でnginxをフロントに使う。
で、それをバックエンドにしてさらにNginxでロードシェアする時の設定。
 

画像:nginx-nginx-unicorn_01
 

2011/07/12

Gluster server でログローテーション時に Volume Fail.

Glusterfs(3.2.1) でサーバ側のログをローテーションしようとした。
 

あちらこちらで 『-HUPを渡せ』 と書いてあるのでそのとおりにしたらローテーション時に下記のエラーが記録されている。

[glusterfsd.c:780:reincarnate] 0-glusterfsd: volume initialization failed.


案の定一部のクライアントからWrite不可の状態だった。
 

もうお前にHUPは渡さん。
 
 

さてどうするか、ということで copytruncate
することにした。
copytruncate についてはmanを見て。

man logrotate8
http://linuxcommand.org/man_pages/logrotate8.html


 

毎晩restartさせるよりtruncate中のログがないほうマシだわ。