Monthly Archives: 11月 2006

[memo][Gentoo] SNMP+RRDtool+cactiでサーバ監視


インストールまでは上手くいったけど設定に嵌って酷い目にあった。

必要なものをインストールする

以下のものが必要。

  • net-snmp
  • apache
  • php
  • mysql
  • rrdtool
  • cacti

さくっとemergeするわけだが、USEフラグに注意。cactiにはapache2/snmp、phpにはapache2/snmp/sockets/mysqlあたりが必要(gdとかxmlも必須なのか?よくわらかんがこの辺は/etc/make.confでデフォルトで付けている)。

初期設定

cacti用のデータベースとユーザを作成し、付属のスクリプトでテーブルを作成する。

mysqladmin -u root create cacti -p
mysql cacti -u root -p > /var/www/localhost/htdocs/cacti/cacti.sql
mysql -u root mysql -p -e"GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'p4ssw0rd'"
mysql -u root mysql -p -e"flush privileges"

次にphpのconfigファイルを、今設定したものに合わせて書き換える。

vi /var/www/localhost/htdocs/cacti/include/config.php
 $database_username = "cactiuser";
 $database_password = "p4ssw0rd";

cron実行用のシステムアカウント作成とパーミッション変更

useradd -g apache -d /dev/null -s /bin/false -c cacti cacti

ホームディレクトリを/dev/null、ログインシェルを/bin/falseにすることで、cactiというユーザでログインできないようにする。この辺は適当に手を抜いてrootでやったりすると怖いので忘れずに。次にcactiユーザでデータの読み書きするためにパーミションを変える。

chown -R cacti:apache /var/www/localhost/htdocs/cacti

全部変えちゃったけどrraとlogディレクトリだけでいいかも。未検証。

cronの設定

適当なタイミングでスクリプトをブン回す。とりあえず5分間隔に設定。

vi /etc/crontab
 */5 * * * * cacti   /usr/bin/php /var/www/localhost/htdocs/cacti/cmd.php > /dev/null 2>&1

cactiの設定

ブラウザから http://hostname/cacti/ にアクセス。デフォルトのユーザとパスワードはadmin/admin。ウィザードが始まるがNext押していけばいい。adminのパスワードは適当なものに変更する。

色々設定するところがあるが、一番下にある参考URLらへんを参照。

ここでrrdtoolからACCESS DENIEDと言われてグラフが上手く表示されなかった。よくわからんがcactiでadminじゃなくてcactiというユーザを作り、User Management→cacti→Graph PermissionsでDenyをAllowにお変更してSave。Graph Managementからなんかグラフを選んで、右上の*Turn On Graph Debug Mode.をクリックするとログが見えるようになるので押してみる。今度は’rra/localhost_load_1min_5.rrd’: No such file or directoryとか怒られる。

見てみると確かにrraの下が空っぽなのでダメらしい。/var/www/localhost/htdocs/cacti/cmd.phpを実行してもエラーらしきものは出ておらず。しばらくココで嵌ったが、/var/www/localhost/htdocs/cacti/poller.phpを実行すればOKだった。1回目は前のデータがないので怒られるが、もう1度やると問題なく実行された。そのあとcactiからはちゃんと見えるようになった。

参考URL

links for 2006-11-11


[memo] GentooにPlaggerをインストール


Gentooにはg-cpanという素晴らしいものがあるのだが、そこはあえて使わずにいく。というかなんか知らないけど上手くいかなかったので、仕方なく手動で入れたとも言う。とりあえず自宅サーバと言うことで、サックリrootになって入れることにする。そのほうが簡単。以前レンタルサーバで悩んだのがウソのようだ。ちゃんとログを取ってないので曖昧な記憶でメモ。

準備

別段何もない。

perl -MCPAN -e shell

基本全部デフォルトのままENTER押してりゃよし。Gentooの場合、cpanでガンガン入れる前にまず

emerge expat

これをやっておく。次にCPANのConfigを弄る。

vi /usr/lib/perl5/5.8.8/CPAN/Config.pm
 $CPAN::Config = {
  'build_cache' => q[100],
  'build_dir' => q[/root/.cpan/build],
  'bzip2' => q[/bin/bzip2],
  'cache_metadata' => q[1],
  'check_sigs' => q[0],
  'colorize_output' => q[0],
  'commandnumber_in_prompt' => q[1],
  'cpan_home' => q[/root/.cpan],
  'curl' => q[/usr/bin/curl],
  'ftp' => q[/usr/bin/ftp],
  'ftp_passive' => q[1],
  'ftp_proxy' => q[],
  'getcwd' => q[cwd],
  'gpg' => q[],
  'gzip' => q[/bin/gzip],
  'histfile' => q[/root/.cpan/histfile],
  'histsize' => q[100],
  'http_proxy' => q[],
  'inactivity_timeout' => q[0],
  'index_expire' => q[1],
  'inhibit_startup_message' => q[0],
  'keep_source_where' => q[/root/.cpan/sources],
  'lynx' => q[],
  'make' => q[/usr/bin/make],
  'make_arg' => q[],
  'make_install_arg' => q[],
  'make_install_make_command' => q[/usr/bin/make],
  'makepl_arg' => q[],
  'mbuild_arg' => q[],
  'mbuild_install_arg' => q[],
  'mbuild_install_build_command' => q[./Build],
  'mbuildpl_arg' => q[],
  'ncftp' => q[],
  'ncftpget' => q[],
  'no_proxy' => q[],
  'pager' => q[lv -Ou8 -c],
  'prefer_installer' => q[EUMM],
  'prerequisites_policy' => q[ask],
  'scan_cache' => q[atstart],
  'shell' => q[/bin/zsh],
  'show_upload_date' => q[1],
  'tar' => q[/usr/bin/tar],
  'term_is_latin' => q[1],
  'term_ornaments' => q[1],
  'test_report' => q[0],
  'unzip' => q[/usr/bin/unzip],
  'urllist' => [q[ftp://ftp.kddilabs.jp/CPAN/]],
  'wget' => q[/usr/bin/wget],
 };
 1;
 __END__

cpan -i Bundle::CPAN

CPANモジュールのインストール

Bundle::CPANとPlaggerに依存するモジュール(メモ)に従って進める。書いてあるとおり、TemplateとEncode::Detectはまともには入らないっぽいので諦めてforce installで。別段不都合はないので。

なんかRDF::Coreが上手く入らなくて困った記憶がある。emerge expatしてないせいだった、という記憶もあるが…ちょっと覚えてない。でもコマンドの履歴に以下のものが残っていた。

wget http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/modules/by-module/RDF/DPOKORNY/RDF-Core-0.50.tar.gz
tar -zxvf RDF-Core-0.50.tar.gz
cd RDF-Core-0.50
perl Makefile.PL
make

手動で入れたっぽい。若年アルツで覚えてない。まぁとりあえず頑張って入れて、cpanシェルでtest Plaggerが通るまで頑張る。通ったらinstall Plagger。

リポジトリから最新取得

subversionを使ってリポジトリから最新版を持ってきてmakeする。

svn co http://svn.bulknews.net/repos/plagger/trunk/plagger
cd plagger
perl Makefile.PL
make

ここまで行ったら出来たも同然。Plagger3大罠の1つである、assetsのコピーを忘れないうちにやっておく。svnで最新版を入れたディレクトリのassets以下に、 .cpan/build/Plagger-x.x.xx/assets/plugins/Publish-Gmail/gmail_notify.tt をコピっておく。yamlのglobalでassets_pathを指定するのも忘れずに。ちなみにyamlのサンプルは .cpan/build/Plagger-x.x.xx/examples 以下に入っているので、適当な場所にコピって編集すべし。

まぁ何が言いたいかって言うとレン鯖だと非常に苦労したインストールも、自宅鯖なら超簡単だぜってことです。gmailのメール送信量制限も、自宅鯖なら無関係。cacheもレン鯖だと、HDDが1Gくらいしかないので気にしなきゃいけないけど自宅鯖にはほぼ無関係。足りなくなったら増やせばイイだけだし。Plagger自体それなりに負荷があるので、レン鯖の場合は30分単位くらいで回さないと怒られそうなのだが、それを気にしなくていいのが一番でかい。もう5分とかで回してる。

links for 2006-11-09


オフィスで使うホワイトボード


White Board ≪ 創材 ≫ 軽量自在のホワイトボード、とかいうものを買ってみた。これはすごくオヌヌメ。カッターで切れるので、打ち合わせ卓に持ち運べるくらいのサイズに2枚切り出して、残った大きい1枚は壁に立てかけて使い中。マグネット付かないのが残念だが…なんかコーディングがしてあって、普通のホワイトボードより書き心地滑らかだし、消しやすい。設計の時とか、アイデア出しのブレストする時なんかに便利。

風邪が治らない


月曜日に喉が痛くなりはじめ、今は痛みも腫れも治まったが咳が止まらない。微妙に流行ってるっぽいので、みなさん伝染らないようにしてくだされ。もう今週はずっとほぼ定時帰りで、22時前には寝てる…MTR弄りたいのに。ゲフン。

links for 2006-11-07


links for 2006-11-06


links for 2006-11-05


デジタルMTR、BR-600を買った


思い立って御茶ノ水を久々に散策。なんか宅録熱が盛り上がってね。実は昨日もヨドバシとか行ってDAWソフトを漁ってたりしたんだけども…なんせDAWソフトは高い。一応オーディオインターフェースは持っているんだけど、安い奴は結局銭失いっぽい臭いがするんだわ。それなりにまともな奴を…と思うと5万6万あたり前だし、ドラムパターンの打ち込みもキーボートとマウスではやってられないわけで、MIDIコントローラにキーボードとか専用のPADが欲しくなったりしそうな訳で。10万コースになりそうなのでDAWはやめてMTRの線で行くことに。

するってぇと、なにやら妙に薄っぺらくて小さくて安くて素敵なものが!そいつがBOSSのデジタルMTR、BR-600。うちはそんな大きくないのでLet’s Noteより小さいってのは魅力的。しかも8chもあるし、なによりドラムパターン打ち込みようのパッドが付いてるのがイイ!これは他のMTRにはないと思われ、非常にいい感じ。しかも強く叩けば強く、弱く叩けば弱く音が出るという、もう10年前のMTRやリズムマシンしか知らない俺様にはカルチャーショック。パッド小さすぎてそんな器用なことするのは結構難しいが、1つ1つパラメータを付けていくよりは全然よさげ。

BOSSらしくCOSMも当然搭載しており、ぶっちゃけコレ1台あればそれなりにまともな音が作れてしまう。ギター用だけじゃなくてベース用のエフェクトも搭載されてた。使わないけど。USBでPCと繋いで、将来的にDAWと連携も簡単らしいのもポイントか。これはしばらく遊べそうな感じがする。

ちなみに新古品だったので、かなり綺麗で安かった。明日はさわり倒して見る所存。