- 追加された行はこの色です。
- 削除された行はこの色です。
- JFFNMS へ行く。
#freeze
* [[JFFNMS]]
PHPで作られているネットワーク監視ツールです。[[Nagios]]や、BigSister,Moodssとかありますが、PHPなので、ちょっとソースを見てみたいのでいれてみようと思います。Ciscoのルータの監視機能が充実しているとのことです。
#contents
** インストール
http://jffnms.sourceforge.net/jffnms/INSTALLを見てみると、
[[Apache]],[[MySQL]],[[PHP]],RRDtool,[[NET-SNMP]],GNU Diff,Fping,Graphviz & WebFonts等のソフトがいるようです。ぼちぼちいれていくことにします。[[Apache]],[[MySQL]],[[PHP]],[[NET-SNMP]]は各リンクを参考にインストール。では、http://www.graphviz.orgよりGraphviz & WebFontsをインストールします。グラフを視覚化してくれるツールみたいなのですが、これはこれで面白そうなので、また機会があれば、しらべてみます。
http://www.graphviz.org/Download.phpより、
wget http://www.graphviz.org/pub/graphviz/ARCHIVE/graphviz-2.6.tar.gz
tar xzvf graphviz-2.6
cd graphviz-2.6
./configure
make
あら?エラーがでました。
/usr/bin/ld: cannot find -lpython2.4
collect2: ld returned 1 exit status
make[3]: *** [libgv_python.la] エラー 1
もしや、pythonのバージョンが違うのかな。今入っているのが、2.3で、libpython2.4.soがない。[[Python]]を参考にいれてみた。
すると次は
cannot find -lruby
とエラーがでる。それでは[[Ruby]]を参考にいれました。[[Python]]もそうでしたが、--enable-sharedでインストールしてなかったんですね。
では再度makeして、
make install
doc/build.htmlをみてみると他にもいれておかないといけないソフトがありました。
では次いきましょう。RRDtool(Round Robin Database Tool)です。http://www.photonway.net/AboutRrdtool.htmlを参考にさせていただきました。http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/より、
wget http://www.fastmirrors.org/rrdtool/rrdtool-1.0.49.tar.gz
tar xzvf rrdtool-1.0.49.tar.gz
cd rrdtool-1.0.49
./configure
make
make install
http://www.stackasterisk.jp/tech/systemManagement/snmp04_02.jspを参考にさせていただきました。また[[RRDTOOL日本語化>http://www.bigfield.com/%7Ehiroshi/rrdtoolja.html]]というものがあるそうです。このラウンドロビンデータベースっておもしろそうです。時系列のデータ分析につかってみたいです。
次にFpingです。通常のpingより高速で効率良く動作してくれるらしいです。では、http://www.fping.comよりダウンロードします。
wget http://www.fping.com/download/fping.tar.gz
tar xzvf fping.tar.gz
cd fping-2.4b2_to
./configure
make
make install
では、http://jffnms.sourceforge.net/jffnms/INSTALLを参考に
chmod +s /usr/bin/nmap
chmod +s /usr/local/sbin/fping
groupadd jffnms
useradd -g jffnms -d /opt/jffnms -s /bin/false -c 'JFFNMS User' jffnms
usermod -G jffnms apache
apacheはapacheを動かしているユーザです。
ではいよいよjffnmsです。
wget http://ovh.dl.sourceforge.net/sourceforge/jffnms/jffnms-0.8.2.tar.gz
tar xzvf jffnms-0.8.2.tar.gz
mv jffnms-0.8.2 /opt/jffnms
cd /opt
chown -R jffnms:jffnms jffnms/
chmod 770 jffnms/
chmod -R ug+rw jffnms/
cd /urs/bin
ln -s /usr/local/rrdtool-1.0.49/bin/rrdtool rrdtool
cd /webroot
ln -s /opt/jffnms/htdocs/ jffnms
webrootは公開しているディレクトリです。では[[MySQL]]の設定です。
mysql -uroot -phogepass
mysql> CREATE DATABASE jffnms;
mysql> GRANT ALL PRIVILEGES ON jffnms.* TO jffnms@localhost IDENTIFIED BY 'jffnms';
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('jffnms') WHERE Host = 'localhost' AND User = 'jffnms';
UPDATEしているのは[[MySQL]]を5.0で試しているからです。
mysql> FLUSH PRIVILEGES;
mysql> quit
cd /opt/jffnms
mysql -u jffnms -pjffnms jffnms < docs/jffnms-0.8.2.mysql
やっぱり5でやったからエラーがでてる。
ERROR 1064 (42000) at line 932: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'condition char(250) NOT NULL default '',
description char(60) NOT NULL default' at line 3
conditionか... これは予約語なんだろうな。とりあえず,conditionorgにして実行。あとでソース直さんとあかんな。こりゃ。engine/analyzers/sla.inc.phpでつかっているぽいので、なおしましょう。42行目のselect文で
slas_cond.condition を slas_cond.conditionorg
54行目あたりを
$sla_cond = replace_vars(trim($sla["condition"]),$values);
を
$sla_cond = replace_vars(trim($sla["conditionorg"]),$values);
他にも修正するところがあるかもしれません。次はcronです。
crontab -u jffnms /opt/jffnms/docs/unix/crontab
ではアクセスしてみよう。
http://localhost/jffnms/admin/setup.php
WebServer Relative Path でエラーが出ている。ソースを見ていると、.checkファイルをfopenでチェックしているのだが、あるしなー あれ?ブラウザを立ち上げなおしたら、ログイン画面になった。とりあえずadmin,adminではいります。よく考えたらほとんどsnmpを知りませんでした。勉強してもう一度チャレンジします。
** リンク
http://jffnms.sourceforge.net/index.php
** 参考書籍
** コメント
-#comment