Я пробовал настроить Cacti на CentOS 6 с помощью mariadb, nginx 1.4, php 5.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
и каким-то образом я получил одну точку данных на графике, но я больше не мог даже вручную обновлять графики.
Кажется, что в cacti.log нет ничего полезного (который обновляется только при запуске вручную). Я тоже ничего не видел в /var/log/secure
относительно SELinux, но я, возможно, пропустил его (не уверен, что искать).
Где мне искать, чтобы это исправить? Почему cronjob не работает, хотя он запущен? Как мне снова обновить графики?
Обновить: Думаю, я вижу проблему. Я не смотрел разрешения фактической папки 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
Мне пришлось исправить разрешения для родительских каталогов символических ссылок
/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