Apache ErrorLog записывает журнал и выполняет скрипт Python

Я пытаюсь записать ошибки Apache 2.4 в журнал ошибок и отправить их на сервер Graylog2 с помощью скрипта Python. Глядя на такие примеры, как http://www.fnal.gov/docs/products/apache/syslog_logs_notes.html и http://zindilis.com/docs/apache-logs-to-remote-syslog.html. Примеры показывают, что я должен использовать tee, например:

ErrorLog "| tee -a /var/log/httpd/error_log | nc -u -j syslog.example.com 514"

Я делаю следующее:

ErrorLog "| /usr/bin/tee -a /var/log/httpd/domains/test.error.log | /usr/bin/python /opt/apache2gelf/test.py"

Сообщения записываются в журналы, но скрипт python не выполняется. Сценарий Python имеет 755 разрешений. Что мне здесь не хватает?


person user2511309    schedule 26.06.2014    source источник
comment
Выглядит неплохо. Как вы проверяете, что скрипт Python не выполняется?   -  person Mikko Ohtamaa    schedule 26.06.2014
comment
Похоже, что-то связанное с буфером tee, я сам видел это в прошлом. Это может помочь: stackoverflow.com/questions/11337041/   -  person arco444    schedule 26.06.2014
comment
@Mikko Я пишу что-то в файл, чтобы проверить.   -  person user2511309    schedule 26.06.2014
comment
@arco у тебя есть пример, как я могу это сделать?   -  person user2511309    schedule 26.06.2014
comment
Попробовать без тройника для теста?   -  person Mikko Ohtamaa    schedule 26.06.2014
comment
ErrorLog |/usr/bin/python/opt/apache2gelf/test.py работает нормально. Или вы имели в виду что-то другое?   -  person user2511309    schedule 26.06.2014


Ответы (1)


Пытаться:

ErrorLog "| /usr/bin/tee -a /var/log/httpd/domains/test.error.log | xargs /opt/apache2gelf/test.py"

И убедитесь, что первая строка вашего скрипта является правильным интерпретатором, например, #!/usr/bin/env python

person M. Adel    schedule 26.06.2014
comment
Пишется только лог ошибок, скрипт на питоне не пишет в тестовый файл. Первая строка скрипта Python — #!/usr/bin/env python. - person user2511309; 26.06.2014
comment
Я обновил команду в ответе | xargs /opt/apache2gelf/test.py, попробуйте. - person M. Adel; 26.06.2014
comment
К сожалению, я получаю точно такой же результат, как и раньше. - person user2511309; 26.06.2014