Apache,MySQL用top

apachetopとmytopというApache用、MySQL用のtopのようなものを見つけたのでインストールして試してみました。

mytopのインストール

mytop – a top clone for MySQL
http://jeremy.zawodny.com/mysql/mytop/

入手したtarボールを展開
# mv mytop-1.6.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf mytop-1.6.tar.gz
# cd mytop-1.6

Makefileの作成
# perl Makefile.PL
Checking if your kit is complete…
Looks good
Warning: prerequisite Term::ReadKey 2.1 not found.
Writing Makefile for mytop

コンパイル
# make
cp mytop blib/script/mytop
/usr/bin/perl “-MExtUtils::MY” -e “MY->fixin(shift)” blib/script/mytop
Manifying blib/man1/mytop.1

テスト
# make test
PERL_DL_NONLAZY=1 /usr/bin/perl “-Iblib/lib” “-Iblib/arch” test.pl
1..1
ok 1

インストール
# make install
Installing /usr/local/man/man1/mytop.1
Installing /usr/local/bin/mytop
Writing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/mytop/.packlist
Appending installation info to /usr/local/lib/perl5/5.8.7/i386-freebsd/perllocal.pod

試しに実行
# mytop
Can’t locate Term/ReadKey.pm in @INC (@INC contains: /usr/local/lib/perl5/5.8.7/i386-freebsd /usr/local/lib/perl5/5.8.7 /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd /usr/local/lib/perl5/site_perl/5.8.7 /usr/local/lib/perl5/site_perl .) at /usr/local/bin/mytop line 175.

実行にはReadKey.pmが必要ということで失敗したのでReadKeyを追加します。

ReadKeyをCPANから入手して展開

Jonathan Stowe – TermReadKey-2.30 – search.cpan.org
http://search.cpan.org/~jstowe/TermReadKey-2.30/

# mv TermReadKey-2.30.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf TermReadKey-2.30.tar.gz
# cd TermReadKey-2.30

Makefileの作成
# perl Makefile.PL
Checking if your kit is complete…
Looks good
Writing Makefile for Term::ReadKey

コンパイル
# make
cp ReadKey.pm blib/lib/Term/ReadKey.pm
AutoSplitting blib/lib/Term/ReadKey.pm (blib/lib/auto/Term/ReadKey)
/usr/bin/perl -I/usr/local/lib/perl5/5.8.7 genchars.pl

インストール
# make install
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/ReadKey.so
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/ReadKey.bs
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/Term/ReadKey.pm
Installing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/autosplit.ix
Installing /usr/local/man/man3/Term::ReadKey.3
Writing /usr/local/lib/perl5/site_perl/5.8.7/i386-freebsd/auto/Term/ReadKey/.packlist
Appending installation info to /usr/local/lib/perl5/5.8.7/i386-freebsd/perllocal.pod

mytopの再実行
# mytop -uhoge -phogehoge
オプションの内容は-u[ユーザ名] -p[パスワード]です。
これでMySQLの負荷を簡単に確認できるようになりました。

次にapachetopを試します。

apachetopを入手して展開

ApacheTop – Trac
http://www.webta.org/projects/apachetop/

# mv apachetop-0.12.6.tar.gz /usr/local/src/
# cd /usr/local/src/
# tar zxf apachetop-0.12.6.tar.gz
# cd apachetop-0.12.6

設計
# ./configure

コンパイル
# make

インストール
# make install
Making install in man
/bin/sh ../config/mkinstalldirs /usr/local/man/man1
/usr/bin/install -c -m 644 ./apachetop.1 /usr/local/man/man1/apachetop.1
Making install in src
/bin/sh ../config/mkinstalldirs /usr/local/bin
/usr/bin/install -c apachetop /usr/local/bin/apachetop
Making install in config

実行
/usr/local/bin/apachetop -f ログファイル名
apachetopはログファイルのリアルタイム監視を行います。私の環境ではログファイル名を常に変える形のローテーションなので日付変更と同時に中断して新しいログファイル名でコマンドを打ちます。rpm版Apacheのようにデフォルトがシステムでローテーションさせてる場合はどうなるんでしょうね?そこまで気長に放置しませんがw

WinSCPで二段階接続

WinSCPを普段使うようになってから既に二年半位経っているのですが、今まで二段階接続が出来るなんて知りませんでした。たまたまノートPCで接続先の再設定をしていて切断されないようにダミーパケットのチェックを入れようとしたときに気づいた。

複数台構成のサーバとなるとデータベースサーバ等直接接続しないサーバ群はグローバルIPを持たせずにLAN内に留め不要なパケットから守るのですが、これがまたメンテの時に面倒くさい。SSHの方はTeratermのマクロで多段階を組めばよいのですが、WinSCPでは下記のところに前段となるサーバの設定を入れればOKでした。2008011401-1

サーバーの時計合わせ

今まで開発用サーバについて時計のズレが開発に影響したときにntpdateを利用していましたが、たった一日でも結構ズレの大きいサーバもありましたのでntpdに切り替えました。

まず/etc/ntp.confを作成します。

[Fedora,FreeBSD共通]
———————————————–
/etc/ntp.conf
———————————————–
server -4 ntp1.jst.mfeed.ad.jp maxpoll 15
server -4 ntp2.jst.mfeed.ad.jp maxpoll 15
server -4 ntp3.jst.mfeed.ad.jp maxpoll 15

pidfile /var/run/ntpd.pid
driftfile /var/db/ntpd.drift
logfile /var/log/ntpd.log
logconfig -syncstatus

restrict default ignore
restrict 127.0.0.1
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 210.173.160.27 nomodify notrap noquery
restrict 210.173.160.57 nomodify notrap noquery
restrict 210.173.160.87 nomodify notrap noquery
———————————————–
スミマセン。conf内容は完全に丸写しです。
私もよく福岡大学に接続していましたが過負荷の問題もありますので、現在は公共NTPサーバ(上記)を利用するか最寄のプロバイダの物を利用することを推奨します。
パラメータの説明についてはこちら

設定が完了したら起動時に動作するように設定します。
[FreeBSD]
/etc/rc.confに下記2行を追加
ntpd_enable=”YES”
ntpd_sync_on_start=”YES”

[Fedora]
chkconfig –add ntpd

最後にntpdを起動します。minpollがデフォルトなので64秒後最初の同期が行われると思います。
[FreeBSD]
/etc/rc.d/ntpd start

[Fedora]
/etc/init.d/ntpd start

参考:
Cocelo Style – FreeBSD-Base-ntpd
http://wikis.jp/cocelo/index.php?FreeBSD%2FBase%2Fntpd

NTPサーバ ntpd 設定 – CS
http://matanet.ath.cx/cs/NTP%E3%82%B5%E3%83%BC%E3%83%90%20ntpd%20%E8%A8%AD%E5%AE%9A/