#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

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS