Pages

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中のログがないほうマシだわ。
 

2011/07/11

2011/07/07

Upstart で god を respawn

ruby でかかれたプロセスライフサイクル管理のフレームワーク god。
 

肝心のgodが止まらないようにUpstartでrespawnさせます。
 

2011/07/02

Vyatta、 Vyatta自身へのFireWall適用

VyattaのFireWallは賢い子なので、フィルタリングのルールは本体宛とは別のCHAINで管理・適用している。

つまりいきなりポート全遮断などのルールを適用してもVyattaへは繋がるので無問題、リカバリ可能というわけだ。
 

しかし、そのVyatta自身宛へのパケットをフィルタしたい場合はどうするのかな?
と思いつつ設定見直していたら発見。
 

# set interfaces ethernet eth0 firewall
Possible completions:
in Ruleset for forwarded packets on inbound interface
local Ruleset for packets destined for this router
out Ruleset for forwarded packets on outbound interface

 

なんだlocal でいいのか。
 

2011/07/01

mongodb、config serverをjournalする

気づいたらmongodbに従来の周期的なDisk書き出しに加えてjournalという方式がついていた。
 

journalについては @doryokujin さんの解説が詳しいのでそちらへ

>> MongoDBの新機能:ジャーナリングについて詳しく