Webコンサルタントの愚痴とアジャイル,生産性向上,Trac,オープンソースなどの与太話
仕事用にnagiosをサーバに導入してみた。もっと良い監視ツールがあるのかもしれないけど。
導入自体は難しくない。単純に
yum install nagios
とするだけ。(ちなみに最新はnagios-2.5-2.fc4)
設定はminimal.cfgのみを使用するのが楽ちん。ただしping監視になってしまうため、F/WなどでICMPを通さない設定になっていたりすると監視できないため、プラグインを導入する必要がある。この場合はcheck_httpが良い。
以下導入に際して参考にしたサイト。
【コラム】Yet Another 仕事のツール 第76回 Nagiosにプラグインを導入する (MYCOMジャーナル)
B-Wiki - Fedora Core 4 Nagios - Dreamer Entertainment
Nagios: FAQs : Return code of X is out of bounds error message
こうやってまた飛んでくるメールが増えるわけだ。
coLinuxでFC5を使う手順は以下の通りだ。
1. まずはインストーラを入手する。
http://www.geocities.co.jp/SiliconValley/1596/coLinux/colinux.html
からcoLinux 0.6.3 対応 QEMU版 Version 2006-04-04をダウンロードし、インストールする。
2. 当然だが、FedoraCore5のインストール用DVDイメージ(.ISO)を用意する。ちなみに3Gある。
3. 1でインストールしたインストーラを起動して、後は指示に従う。
とりあえずディスクは多めに確保したほうが良い。2Gでは何も出来ない。
またインストールには非常に時間がかかる。CPUもHDDも動いていない感じに見えるので
途中で何回か殺してしまったが、どうやら動いているらしい。最終的にはインストールに10時間くらいかかった。
4. インストール完了した時点では、スタンドアロンの起動は出来てもネットワークには
つながらない。とりあえず以下の手順で接続を作成する。
TAP-Win32のアダプターは導入しネットワーク設定を行う。
コントロールパネル→ネットワーク接続を開き
ワイヤレスネットワーク接続のプロパティを表示
一番右の詳細設定タブを選択し、インターネット接続の共有にチェックを入れる。
共有する接続はTAP-Win32で作成した接続とする。
5. 当然FC5側もネットワークの設定が必要。setupコマンドで設定するか
/etc/sysconfig/network-script/の中にifcfg-eth0というファイルを作成し
DEVICE=eth0 IPADDR=192.168.0.50 NETMASK=255.255.255.0 NETWORK=192.168.0.0 GATEWAY=192.168.0.1 BROADCAST=192.168.0.255 ONBOOT=yes
またDNSを参照するために
/etc/resolve.confに
nameserver xx.xx.xx.xx
という記述を追加する。
このあとFC5のネットワークの再起動をすれば完了
Windowsでファイルを正規表現を使ってGREPし、さらに置換してしまう方法。
こういう時には秀丸のマクロを使うに限る。今回のようなケースではQuartaというマクロが秀逸。
入手は:http://www18.big.or.jp/~fujiwara/ikki/hidemaru/quarta/
たとえば、ASPサービス型のアクセスログ集計ツールなんかを使うときはページに個別にタグを埋め込んだりするが、そのようなケースの修正や追加に特に威力を発揮する。
こういうのは手でやってはいけないのだ。
PerlでSyslogにログを吐く方法
perl -MCPAN -e shellinstall Sys::Syslog
としてSys::Syslogモジュールを導入する。
あとは簡単でこのモジュールをアプリから呼べば良い。
#!/usr/bin/perl
use Sys::Syslog qw(:DEFAULT setlogsock);
setlogsock('unix');
openlog("$program $$", 'ndelay', 'user');
syslog('notice', '実行しますた');
これで、/var/log/messagesにログが出る。デバッグに便利ってか。
ちなみにC言語でsyslogに出力する場合の説明はこちら。
PCの快適化の続き。レジストリを再構築するソフトも無料で提供されている。
NTRegOPT : http://www.larshederer.homepage.t-online.de/erunt/index.htm
単純に起動すると、レジストリの再構築を行うだけ。それ以外には一切機能はない。再構築後はPCの再起動が必要。
とりあえずやってみたら5%最適化された。まぁとりあえずやってみたらよいかも。

Windowsを長く使っていると、だんだん動きが遅くなったり、挙動不審になってきたりする。
巷に有料ソフトがあふれてはいるのだが、結構無料のものもある。
EasyCleaner : http://personal.inet.fi/business/toniarts/ecleane.htm
英語ソフトだが、インストール時に言語選択をして日本語化できる。機能としては、
とりあえず便利。無料だし。お勧め。

とりあえず移行が終わってほっと一息。色々問題もあったが(まだある?)、とりあえずってところ。
昨年は連続5日間ほぼ寝ずに仕事が出来たが、今年はそうもいかず、連続40時間くらい起きてただけで、その後に疲労が残っている。
SE35年定年説っていわゆる体力の問題なんだなw。
最近わかってきたんだが、Webアプリのソースの品質を図る方法で一番簡単なのは、
「ソースの先頭近くで入力値のチェックを行って、変数に代入しているかどうか」
で見れば良い。これ出来てないソースはその後見る価値なし。基礎が出来ないのに応用できるわけなし。
使う際につどチェックするのは個人的には反対。一箇所でやんないと忘れるし、見通し悪い。
ソースの1000行目とかで突然
if(check($_GET['param'])){ hoge_func($_GET['param']); }
とかやられても困るぜぃ。
だいたいビジネスロジックを先に作って、入力値のチェックは後で作ろう!とか考えるセンスに萎えるね。
自分で作るほうが楽だなぁ・・・。
#まぁeasyにやるなら、とりあえず鯖にmod_securityとかのApplication Firewallを突っ込んでおいて予防線は張るって手もある。もちろん開発者にはそれは伝えないけどw
日記 PHP オープンソース Linux Trac Perl wordpress フリーソフト Agile 自宅サーバ phpMyFaq Plugin 書評 Delphi apache プラグイン Subversion アジャイル mojavi セキュリティ Ruby Firefox Ajax/Web2.0 eclipse サーバ Zope フレームワーク CakePHP 文字化け scuttle OpenVZ 自宅 phpBB CMS 翻訳・日本語化 Excel ApacheDS 生産性向上 仮想化 hacks CodeIgniter XAMPP LDAP SBM taskfreak Ajax 修正 言語ファイル mod_security ダウンロード HTML::FillInForm 情報共有 格安 メンテナンス 移転 アンケート レンタル PhpScheduleIt 翻訳 API