はじめまして。にちりんと申します。
MRTGをどうしてもやりたくて色々探している内にたどり着きました。
とてもわかりやすくて助かりました。
でも困ったことがあり藁をもすがる思いでカキコミさせて頂きます。
始めてて不躾ですがどうかご指導いただけますと幸いです。
環境ですが、eAのTE4121Cでまったく環境同じです。
htpdはAnHTPD d:\www\nichirin\public_html(仮:実際はnichirinが別名になります。)
perlは最新d:\perl
mrtgも最新d:\mrtg-2.9.22
TE4121C_linkup.plとTE4121C_traffic.pl
はd:\mrtg-2.9.22\bin\ 配下に
adslmon.cfgはd:\www\nichirin\public_html配下においてあります。
TE4121C_linkup.plとTE4121C_traffic.pl自身を
>コマンドプロンプトで、TE4121C_linkup.plのインストールパスを指定して以下を実行します。
通り実施すると
896
6528
896 6528
***.***.***.***
と表示されます。同様にtraffic.plも動いている模様です。
しかし
perl d:\mrtg-2.9.22\bin\mrtg d:\www\nichirin\public_html\adslmon.cfg
を動かしてできるhtmlにlinkやトラフィックの数字が全く表示されず0になります。EUCであることは
間違いなく文字化けなどをおこしているようではないようです。
ちなみにadslmon.cfgの記述ですが(全てディレクトリは作ってあります。実際のファイルもできあがります。)
Htmldir: /www/nichirin/public_html/adsl/
Imagedir: /www/nichirin/public_html/adsl/images
IconDir: icons
# ログファイルをおくディレクトリを指定して下さい
# 例: mkdir -p /usr/local/bin/adsl/logs
Logdir: /www/nichirin/public_html/logs
# それぞれの設定ファイルのパス
Target[TE4121C_traffic]: `perl ./bin/TE4121C_traffic.pl`
Target[TE4121C_traffic]: `perl ./bin/TE4121C_traffic.pl`
としてあります。
何が悪いのかこれ以上わからなくてとても悩んでいます。
また/www/nichirin/public_html/adsl/ 配下にできるhtmlを表示させても画像のhtmlリンクが
..//www/nichirin/public_html/adsl/images/te4121c_linkup-day.png
となりとんでもないところになってしまいます。
これも修正できずにひーひーいっています。
できますればお助けをいただけましたら天にも昇る気持ちでございます。
初めてでいきなり本当にごめんなさい。
では季節柄涼しくなりますがお体にご自愛下さいませ。
にちりんにて失礼いたします。
自己レスです。
> perl d:\mrtg-2.9.22\bin\mrtg d:\www\nichirin\public_html\adslmon.cfg
> を動かしてできるhtmlにlinkやトラフィックの数字が全く表示されず0になります。EUCであることは
> 間違いなく文字化けなどをおこしているようではないようです。
これは何故か今表示されるようになりました。なんでじゃーーーーーー。
判りません・・・・・
> また/www/nichirin/public_html/adsl/ 配下にできるhtmlを表示させても画像のhtmlリンクが
> ..//www/nichirin/public_html/adsl/images/te4121c_linkup-day.png
> となりとんでもないところになってしまいます。
>
> これも修正できずにひーひーいっています。
これが解決しませんです。pathの指定だけのような気がするのですがこれ以外のpathに指定すると
エラーがでまくりまして・・・・
こんにちは
いくつか気になる点を上げますので、確認してください。
> htpdはAnHTPD d:\www\nichirin\public_html(仮:実際はnichirinが別名になります。)
> perlは最新d:\perl
> mrtgも最新d:\mrtg-2.9.22
> TE4121C_linkup.plとTE4121C_traffic.pl
> はd:\mrtg-2.9.22\bin\ 配下に
> adslmon.cfgはd:\www\nichirin\public_html配下においてあります。
これは、動作が正常になってからでいいのですが、Windowの場合、パーミションが設定できないので
ドキュメントルート配下にこういうコンフィグファイルは置かないほうがいいと思います。
ブラウザからadslmon.cfgを指定するとドキュメントが見えてしまうのでは?
> # それぞれの設定ファイルのパス
> Target[TE4121C_traffic]: `perl ./bin/TE4121C_traffic.pl`
> Target[TE4121C_traffic]: `perl ./bin/TE4121C_traffic.pl`
原因は、ここではないかと思います。下記のように相対パスではなく絶対パスで書いてみて下さい。
Target[TE4121C_traffic]: `perl /mrtg-2.9.22/bin/TE4121C_traffic.pl`
Target[TE4121C_traffic]: `perl /mrtg-2.9.22/bin/TE4121C_linkup.pl`
お返事ありがとうございます。
> これは、動作が正常になってからでいいのですが、Windowの場合、パーミションが設定できないので
> ドキュメントルート配下にこういうコンフィグファイルは置かないほうがいいと思います。
> ブラウザからadslmon.cfgを指定するとドキュメントが見えてしまうのでは?
アドバイスありがとうございます。
おしゃる通りですね。場所をpublic_htmlの上位階層
d:\www\nichirin\に変更しました。これで見えないと思います。
> > # それぞれの設定ファイルのパス
> 原因は、ここではないかと思います。下記のように相対パスではなく絶対パスで書いてみて下さい。
おっしゃる通りに変更してみましたが結果は変わらないものでした。
折角ここまできてこの画像へのパスだけでうまくいかないのはとても・・・・な気分です。
もしまた何か気が付いた点ございましたら、ご指導下さいますと幸いです。
私ももう少し色々試してみたいと思います。
にちりんにて失礼いたします。
業を煮やして無理矢理やっちゃいました。
mrtg-2.9.22\bin\mrtg
このmrtgファイルはプログラムファイルのようです。
デフォルトのままだと1126行目
SRC=\"$dirrel$$cfg{imagehtml}$$rcfg{directory_web}{$router}$router-$full{$peri}.${main::GRAPHFMT}\" ALT=\"$full{$peri}\">
となっています。
これを
SRC=\"./images/$dirrel$$rcfg{directory_web}{$router}$router-$full{$peri}.${main::GRAPHFMT}\" ALT=\"$full{$peri}\">
と変更しました。
$cfg[imagehtml]を削除し、
SRC=\"./images/
と追加して無理やり指定をしました。
そうすると全て表示されました。
まぁ恒久的な解決?になるのでしょうか。別の方法ですがうまくいきましたのでご報告します。
すみません、ついでといってはなんなのですが。
trafficの表示でデフォルトでは
'***.***.***.***'の稼働時間 1412824 110741.
と表示されますよね?
これを消したいのですがどこをさわれば良いかご指導頂けないでしょうか。
> すみません、ついでといってはなんなのですが。
> trafficの表示でデフォルトでは
> '***.***.***.***'の稼働時間 1412824 110741.
> と表示されますよね?
>
> これを消したいのですがどこをさわれば良いかご指導頂けないでしょうか。
これって、IPアドレスのことですよね。下記の最後のnoinfoはありますか? これがあれば
表示されないはずですが? あっても出るとなると、何となく、全体がおかしいですね?
Options[TE4121C_traffic]: growright, integer, nopercent, noinfo
パスの件は、あれでいけるかなと思ったのですが、だめでしたか? 相対関係がおかしいので、
あそこかなと思ったのですが。おやじの環境と何が違うかといえば、ディレクトリの作り方しかない
と思います。まずperl。 一般的なCGIは、/usr/local/bin/perl。linuxは /usr/bin/perl。
d:\perlということは、ルートディレクトリにインストールしたのですよね。となると、WebでCGIを
どっかからもってくるときは、必ず、1行目のパスを変更する必要がありますね。
にちりんにて失礼いたします。
> Options[TE4121C_traffic]: growright, integer, nopercent, noinfo
すみません。完全に読み間違えていました。
noinfoを消すと消えるんだと思っていました。良く考えてみるとnoinfoなんですから
書いておかないといけないんですね。
> パスの件は、あれでいけるかなと思ったのですが、だめでしたか? 相対関係がおかしいので、
> あそこかなと思ったのですが。おやじの環境と何が違うかといえば、ディレクトリの作り方しかない
> と思います。まずperl。 一般的なCGIは、/usr/local/bin/perl。linuxは /usr/bin/perl。
> d:\perlということは、ルートディレクトリにインストールしたのですよね。となると、WebでCGIを
> どっかからもってくるときは、必ず、1行目のパスを変更する必要がありますね。
AnHTTPDの特質でしょうか。windowsのpathがとおっているからだと思いますが、特に意識せず書き換えなくても
動くんです。ですから今まで特に意識したことなかったのです。
ただ、一度しっかりと設定し直しする必要あるのかもしれないですね。
とにかく一段落です。ようやく今日は落ち着いて夜早く眠れそうです。
本当にありがとうございました。