2007/07/30(月)IM (Internet Message)

とりあえずメモ。
長年メールのincにIMを使っていたのだけど、ちょっと前にmew.orgのサーバが飛んだときにftp.mew.orgが廃止されてしまったようで、ソースが見つけられなくなってしまった。

で、あせって探したらhttp://tats.haun.org/im/が公式サイトということだ。
20070423(IM149):
おお!、更新されてる。

2007/07/23(月)SQL10級

んー、こういう場合どうすればいいのかな?
> select a, b, t from test01;
+------+------+------+
| a    | b    | t    |
+------+------+------+
| x    | y    |   10 |
| x    | y    |   15 |
| x    | y    |   20 |
| w    | v    |   15 |
+------+------+------+
こんな表があったときに、a,bのペアの件数を求めたい。
mysql> select a, b, t, count(*) from test01 group by a, b;
+------+------+------+----------+
| a    | b    | t    | count(*) |
+------+------+------+----------+
| w    | v    |   15 |        1 |
| x    | y    |   10 |        3 |
+------+------+------+----------+
ここまでは基本。
但し、t>13の行についてのみ、同じことをやりたい場合。
mysql> select a, b, t, count(*) from test01 group by a, b having t > 13;
Empty set (0.00 sec)
tの値が不定?なので期待した結果が得られない。

さてさてどうするか。
手っ取り早いのは、t>13で全行取り出してプログラミング言語側で処理することで、実はこれが結構現実的な気もするんだが...

2007/07/06(金)Cactiのよいとこわるいとこ

うちでもCactiつかってるけど。
監視対象は200台ぐらい?

Cactiによるサーバ稼働状況の監視と異常通知(Unoh Labs)
MRTGと比べて、Webブラウザ上から設定を行うことができる、データはMySQLに保存されるので過去の任意の時点を詳しく見ることができるなどの点で優れています。
CactiがMySQLに保存するのは監視対象のIPアドレスなどの情報で、実際のトラフィックなどの数値データはMySQLには保存されていません。
数値データの保存にrrdtoolを使っているので、一定期間を過ぎたデータの解像度は落ちます。(過去24時間は5分毎にデータを記録しているけど、それより古いのは30分毎にしか記録しない、とか)これはmrtgと同じ記録方法です。
rrdtoolなので、rrdを作るタイミング(cacti的にはtemplateを作るタイミング)で設定しておけば、どの程度データを記録しておくかの期間を変更できるというのはよい。まあ、rrdtoolを使うツール共通の話だけど。

あと、Webブラウザから設定できるのは確かに便利なんだけど、大量のサーバを管理する局面では、設定を機械生成できなかったり*1、もう一台の監視サーバ*2と共用化するのがやりにくかったりと、大規模用途では必ずしもいいことばかりではありません。


ただ、rrdtoolに与えるコマンドをWebUIから生成してくれるので、任意のタイミングのグラフを取り出せる*3というのは非常に便利。参照系のWebUIを作るのはめんどくさいんだよねー

*1 : とくにCactiは内部生成したランダムなIDを大量に使っているらしく、その辺見通し悪い

*2 : 当然監視系も冗長化、相互監視するよね

*3 : そのときに使われる数値データの解像度は当然落ちているが