Использование syslog с nginx / php-fpm

Я собираюсь перенести мои установки Drupal на базе Apache, но мне нужно иметь удаленное ведение журнала ошибок на основе rsyslog. Мы используем Amazon EC2, и файлы error_log, записываемые в экземпляры, которые приходят и уходят, - это своего рода кошмар. В частности, если приложение обнаруживает ошибку PHP, нам нужно увидеть ее, как только она произойдет.

Предполагая, что мы используем nginx и php-fpm, если я добавлю следующее в определение пула fpm, это сработает:

error_log = /path/to/logs/error.log

поскольку если я сделаю это в PHP, он действительно перейдет в /path/to/logs/error.log:

<?php
  error_log('send this to our log');
?>

Но если я настрою пул как

error_log = syslog

насколько я могу судить, выход вообще никуда не денется. По крайней мере, мне еще предстоит выяснить конфигурацию для rsyslog.conf в Ubuntu, которая будет получать какие-либо данные для этого.

Как лучше всего вести централизованный журнал ошибок при использовании nginx и php-fpm? Я использую Ubuntu 11.10 с упакованными версиями php5-fpm и nginx.


person user1455115    schedule 14.06.2012    source источник
comment
Что вам нужно, журналы php или журналы nginx? Это разные вещи, и способы достижения того, о чем вы просите, вероятно, сильно различаются между ними. Объединение этих двух вопросов в один вопрос, вероятно, снизит ваши шансы получить хороший ответ, охватывающий оба вопроса.   -  person Gnarfoz    schedule 21.06.2012


Ответы (1)


nginx здесь не имеет отношения. Я бы порекомендовал модуль syslog для Drupal. Наденьте это, а затем все отправится в системный журнал, который перейдет в сторожевой таймер, который также улавливает ошибки PHP.

PHP также имеет встроенную функцию syslog ().

Если вы используете syslog-ng, я думаю, вы можете направить нормальный журнал php в syslog, но я никогда не слышал о возможности сделать error_log = syslog.

person Jacob Singh    schedule 12.08.2013