web-dev-qa-db-ja.com

サボテングラフが機能しない

私はCentOS6でmariadb、nginx 1.4、php5.4.xを使用してCactiをセットアップしようとしました

グラフを更新できません

私のサボテンファイルはすべてユーザーnginxが所有しているので、私のcrontabファイル/etc/cron.d/cactiには

*/5 * * * *     nginx       /usr/bin/php -q /usr/share/nginx/html/cacti/poller.php > /var/local/log/poller.log 2>&1

ただし、cronログで実行されていることがわかりますが、poller.logに出力が生成されず、cacti.logが更新されません。

Oct 13 12:20:01 srv CROND[14644]: (nginx) CMD (      /usr/bin/php -q usr/share/nginx/html/cacti/poller.php > /var/local/log/poller.log 2>&1)

Sudo -u nginx /usr/bin/php -q /usr/share/nginx/html/cacti/poller.phpを実行して出力を確認すると、.rrdファイルが更新されているようです。また、これを一度Sudo -u nginx php -q cli/rebuild_poller_cache.php実行し、どういうわけかグラフ上に1つのデータポイントを取得しましたが、グラフを手動で更新することさえできなくなりました。

Cacti.log(手動で実行した場合にのみ更新されます)には何も役に立たないようです。また、SELinuxに関して/var/log/secureに何も表示されませんでしたが、見逃した可能性があります(何を探すべきかわからない)。

これを修正するにはどこを見ればよいですか?実行しているのにcronジョブが機能しないのはなぜですか?グラフを再度更新するにはどうすればよいですか?

更新:問題が発生したと思います。実際のrraフォルダーのパーミッションは調べていませんが、シンボリックリンクだけです。それを直してみます。

関連するrraファイルのパーミッション:

$ lll /usr/share/nginx/html/cacti/rra
lrwxrwxrwx. 1 nginx nginx 18 Oct 12 23:21 /usr/share/nginx/html/cacti/rra -> /var/lib/cacti/rra
$ lll /usr/share/nginx/html/cacti/rra/
total 340
drwxr-xr-x. 2 cacti root    4096 Oct 13 00:32 .
drwxr-xr-x. 5 root  root    4096 Oct 12 23:21 ..
-rw-r--r--. 1 nginx nginx 141640 Oct 13 12:12 localhost_load_1min_5.rrd
-rw-r--r--. 1 nginx nginx  47992 Oct 13 12:12 localhost_mem_buffers_3.rrd
-rw-r--r--. 1 nginx nginx  47992 Oct 13 12:12 localhost_mem_swap_4.rrd
-rw-r--r--. 1 nginx nginx  47992 Oct 13 12:12 localhost_proc_7.rrd
-rw-r--r--. 1 nginx nginx  47992 Oct 13 12:12 localhost_users_6.rrd
$ lll /var/lib/cacti/
total 20
drwxr-xr-x.  5 root  root 4096 Oct 12 23:21 .
drwxr-xr-x. 38 root  root 4096 Oct 12 23:21 ..
drwxr-xr-x.  2 root  root 4096 Oct 12 23:21 cli
lrwxrwxrwx.  1 root  root   24 Oct 12 23:21 include -> /usr/share/cacti/include
lrwxrwxrwx.  1 root  root   20 Oct 12 23:21 lib -> /usr/share/cacti/lib
drwxr-xr-x.  2 cacti root 4096 Oct 13 00:32 rra
drwxr-xr-x.  2 root  root 4096 Oct 12 23:21 scripts

これが私のaudit.logの一部です(非常に反復的です)

[matt@srv ~]$ Sudo cat /var/log/audit/audit.log | grep denied
type=AVC msg=audit(1381785901.286:31729): avc:  denied  { getattr } for  pid=22067 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381786201.333:31742): avc:  denied  { getattr } for  pid=22087 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381786501.374:31749): avc:  denied  { getattr } for  pid=22114 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381786801.418:31762): avc:  denied  { getattr } for  pid=22134 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381787101.450:31769): avc:  denied  { getattr } for  pid=22151 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381787401.493:31782): avc:  denied  { getattr } for  pid=22171 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381787701.543:31789): avc:  denied  { getattr } for  pid=22188 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
type=AVC msg=audit(1381788001.595:31800): avc:  denied  { getattr } for  pid=22208 comm="postdrop" path="/var/spool/postfix/public/pickup" dev=dm-0 ino=2224026 scontext=system_u:system_r:postfix_postdrop_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:postfix_public_t:s0 tclass=sock_file
1
Matt

シンボリックリンクされたディレクトリの親のアクセス許可を修正する必要がありました

/var/lib/cacti/rra

/var/log/cacti

通知:

$ ll /usr/share/cacti/
total 868
...
lrwxrwxrwx. 1 nginx nginx    18 Oct 12 23:21 cli -> /var/lib/cacti/cli
...
lrwxrwxrwx. 1 nginx nginx    15 Oct 12 23:21 log -> /var/log/cacti/
...
lrwxrwxrwx. 1 nginx nginx    18 Oct 12 23:21 rra -> /var/lib/cacti/rra
...
lrwxrwxrwx. 1 nginx nginx    22 Oct 12 23:21 scripts -> /var/lib/cacti/scripts

修繕:

chown -R nginx:nginx /var/log/cacti/
chown -R nginx:nginx /var/lib/cacti/rra
1
Matt