ブラウザで表示した際のcactiグラフが表示されません。
cacti直下のrraディレクトリには以下ファイルは存在しました。
-rw-rw-rw-. 1 cacti apache 141640 5月 12 15:05 2015 localhost_load_1min_5.rrd
-rw-rw-rw-. 1 cacti apache 47992 5月 12 15:05 2015 localhost_mem_buffers_3.rrd
-rw-rw-rw-. 1 cacti apache 47992 5月 12 15:05 2015 localhost_mem_swap_4.rrd
-rw-rw-rw-. 1 cacti apache 47992 5月 12 15:05 2015 localhost_proc_7.rrd
-rw-rw-rw-. 1 cacti apache 47992 5月 12 15:05 2015 localhost_users_6.rrd
グラフ横のスパナアイコンで表示された以下コマンドを直接rootやcactiユーザで実行したところ、グラフは出ました。(/tmp/cacti.pngでグラフが問題なく表示された画像を確認してます)
/usr/local/rrdtool/src/rrdtool graph - --imgformat=PNG --start='1431278600' --end='1431365000' --title='Localhost - Memory Usage' --rigid --base='1000' --height='120' --width='500' --alt-autoscale-max --lower-limit='0' --vertical-label='kilobytes' --slope-mode --font TITLE:10: --font AXIS:7: --font LEGEND:8: --font UNIT:7: DEF:a='/var/www/cacti/rra/localhost_mem_buffers_3.rrd':'mem_buffers':AVERAGE DEF:b='/var/www/cacti/rra/localhost_mem_swap_4.rrd':'mem_swap':AVERAGE AREA:a#FF4105FF:'Free' GPRINT🅰️LAST:'Current:%8.2lf %s' GPRINT🅰️AVERAGE:'Average:%8.2lf %s' GPRINT🅰️MAX:'Maximum:%8.2lf %s\n' AREA:b#FFC73BFF:'Swap':STACK GPRINT🅱️LAST:'Current:%8.2lf %s' GPRINT🅱️AVERAGE:'Average:%8.2lf %s' GPRINT🅱️MAX:'Maximum:%8.2lf %s\n' > /tmp/cacti.png
結局実行ユーザによって出たり出なかったりするのではないかということで、
グラフを表示しているurlを調べると以下urlだったので
http://cacti.localhost/graph_image.php?local_graph_id=1&rra_id=0&graph_height=120&graph_width=500&title_font_size=10&view_type=tree&graph_start=1431331819&graph_end=1431397655graph_image.php?local_graph_id=1&rra_id=0&graph_height=120&graph_width=500&title_font_size=10&view_type=tree&graph_start=1431331819&graph_end=1431397655
graph_image.phpに
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
を追加したユーザを調べたところ実行ユーザはapacheでした。
結局コマンドを実行している箇所が
-lib/rrd.php
98行目 $fp = popen(read_config_option("path_rrdtool") . escape_command(" $command_line"), $pipe_mode);
だったので、コマンドをechoしてみたところ、以下コマンドが出てきました。
/usr/local/rrdtool/src/rrdtool graph - --imgformat=PNG --start='1431278600' --end='1431365000' --title='Localhost - Memory Usage' --rigid --base='1000' --height='120' --width='500' --alt-autoscale-max --lower-limit='0' --vertical-label='kilobytes' --slope-mode --font TITLE:10: --font AXIS:7: --font LEGEND:8: --font UNIT:7: DEF:a='/var/www/cacti/rra/localhost_mem_buffers_3.rrd':'mem_buffers':AVERAGE DEF:b='/var/www/cacti/rra/localhost_mem_swap_4.rrd':'mem_swap':AVERAGE AREA:a#FF4105FF:'Free' GPRINT🅰️LAST:'Current:%8.2lf %s' GPRINT🅰️AVERAGE:'Average:%8.2lf %s' GPRINT🅰️MAX:'Maximum:%8.2lf %s\n' AREA:b#FFC73BFF:'Swap':STACK GPRINT🅱️LAST:'Current:%8.2lf %s' GPRINT🅱️AVERAGE:'Average:%8.2lf %s' GPRINT🅱️MAX:'Maximum:%8.2lf %s\n'
これを直で実行できる以下phpを作り表示したところ、
やはりcactiやrootだとバイナリが帰ってくるのに、
apacheを経由すると戻り値がない状態でした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/05/12 07:16
2015/05/12 07:53
退会済みユーザー
2015/09/08 02:00 編集