sea side she side

写真と山、資格が好きなアラフォーエンジニアのブログ

CactiとPHP

   

Squidに続き今回はCactiとPHPのメモです。

Cactiがどうしてもグラフの描画をしてくれず、色々原因を探っていました。snmpwalkでは取得できるのでrrdtoolかなーと思っていたのですが原因は全く違いました。

原因切り分けとしてcacti/poller.phpをコマンドラインから実行しろというのを見つけ実際に実行してみるとグラフが描画されました。どうやらpoller.php自体がcronに呼ばれてない様子。

調べてみると、epelパッケージからのインストールでは/etc/cron.d/cactiの行頭がコメントアウトされています。

#*/5 * * * *    cacti   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

さらにユーザがcactiなのでrootにかえます(cactiユーザは作っていない)。

*/5 * * * *    root   /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

これで無事にグラフが取れるようになりました、と思っていたらグラフの枠はできあがる物のトラフィック量などの線が描画されません。

もう一度poller.phpを実行して見てみるとたくさんのWarningが…。さっきはコマンド打ってすぐWeb確認なんて事をしてたので見落としてました。

PHP Warning:  date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /usr/share/cacti/include/global_arrays.php on line 672

こちらはPHP4系からPHP5系にあがった際、php.iniにtimezoneを記載する必要になったようです。

[Date]
date.timezone = "Asia/Tokyo"

これで無事描画されるようになりました。

参考:
気まぐれ底辺プログラマ:It is not safe to rely on the system's timezone settings.

 - IT , , , , , ,