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

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の新機能:ジャーナリングについて詳しく


2011/06/29

Microsoftのワイヤレスマウス(3500)を正式採用

俺が採用。
 

マウスに線がついているのが嫌なのでワイヤレスタイプをいくつか試していた。
そんななかでMSの「Wireless Mobile Mouse 3500」がよかったので職場用に加えて自宅&ノートのため2つ追加で購入。
 

良かったところ。

  • BlueTrackがいい。 赤外線なりの古めかしいスキャン方式は全然アカン

  • レシーバ小さい

  • ホイールが引っ掛かるタイプ。 止まらないの(チルトホイール)はどうも使いにくい。

  • 安い、Amazonで2000円切る。





 

これは広くおススメする。
ただしオーシャン ブルー、ユーロ シルバーおよびアーバン レッドだと私と被ります。
 

2011/06/27

Pocket WiFi「D25HW」とURoad-8000の大きさを比較

スペックとかでなく、単純に比較した。

写真:タテヨコ

写真:奥行

URoad-8000の厚みが目立つが、一回り大きい分D25HWにバスタブをつけるよりはマシっぽい。

新しいほうのPocket WiFi、GP01も似たようなもんだろうか。
 

monitでMySQL Clusterの監視

monitの監視はサービスポートへの接続やプロトコルを少々やり取りさせるのが定石。

MySQL Clusterの管理ノード・データノードをTCPポートで監視する場合のMonit設定例。

RalinkのUtilityで無線LANのリージョンを変更

今回調整したのは「802.11g Mini Card Wireless Adapter」
型番は確かRalink2870だった。
 


ノートPCからWiMAXの無線LANルータに繋ごうとしたらSSIDを検出しない。
他のデバイスから確認すると、自動で13chに設定されていたので1-11chに設定すると検出。

なるほどデバイス自身のモード変更が必要ということで、下記からUtilityをゲット。

http://www.ralinktech.com/support.php?s=1

画像:ralink_util

リージョン変更して再起動、無事1-13chの検出に対応した。
 

2011/06/22

ubuntuでzeromq

メモエントリ

zeromq≒libzmqをubuntu10.10にインストール。
http://www.zeromq.org/area:download
 

作業時点のzeromqバージョンは2.1.7。

aptitude install uuid-dev

mkdir /usr/local/src/zeromq
cd /usr/local/src/zeromq


wget http://download.zeromq.org/zeromq-2.1.7.tar.gz
tar xvzf zeromq-2.1.7.tar.gz

cd zeromq-2.1.7/
./configure

make install
ldconfig


あとでcookbookにする。

2011/06/21

Ubuntu10.10のcactiにPlugin Architecture

Ubuntu10にcactiを入れて、pluginを有効にする。
環境は cacti 0.8.7g(apt)、Plugin Architecture v2.8。
 

2011/06/17

mongodbのlogorotate対応

mongodb-10genのリポジトリからインストールしたmongodbをloglotateに対応させるメモ。
 

2011/05/20

Ubuntu10.10で bonding + vlan + bridge(NG編)

XenServerやVMWare等では簡単な操作で可能な「VLAN + Bonding」の構成、KVMやlxcでは手動で設定しておきます。
 



追記:このbondにvlanを付ける設定では、ゲスト同士がVLANでやり取りできない。
bond0, bond0.100 とするのでなく、bond0(eth0+eth1), bond1(eth0.100+eth1.100) となるように設定するとうまくいく。


2011/05/11

Mongodb ShardのためにUpstart起動スクリプト

Ubuntu向け。

10-genのリポジトリからmongodb(mongodb-10gen)を入れた場合、普通のMongoDB起動スクリプトがはいります。

Shardingするなら必須のConfig, Router用は別途必要なのでUpstart用に作成した。

init.dのことは忘れなさい。