Назад | Перейти на главную страницу

Почему системный журнал Heroku не сбрасывает логи в rsyslogd?

У меня проблема с использованием стоков системного журнала, как описано в https://devcenter.heroku.com/articles/logging.

Подводя итог, у меня есть экземпляр Ubuntu 10.04 на EC2, который работает rsyslogd. Я также настроил группы безопасности, как они описывают, и добавил утечку системного журнала с помощью такой команды, как heroku drains:add syslog://host1.example.com:514.

Я могу отправлять сообщения с консоли Heroku на свой rsyslogd экземпляр через nc. Я вижу, что они появляются в файле журнала, поэтому я знаю, что проблем с брандмауэром / группой безопасности нет. Однако Heroku, похоже, не пересылает сообщения журнала на сервер, который heroku drains списки. Я ожидал увидеть HTTP-запросы, сообщения Rails и т. Д.

Есть ли что-то еще, что я могу сделать, чтобы понять это? Я новичок в rsyslogd, поэтому я легко мог что-то упустить.

Я выяснил, что сделал не так, с помощью поддержки Heroku. (Спасибо, парни!)

Я использовал неправильное имя группы безопасности (default вместо того logplex). (Динозавры работают под defaultтак вот почему nc работал.)

Это подходящие значения для полей в веб-интерфейсе AWS Security Group:

  • Создайте новое правило: Custom TCP rule
  • Диапазон портов: 514
  • Источник: 098166147350/logplex (НОТА: не default)

Мои два цента здесь:

Обратите внимание, что добавление номера порта (514) в конце URL-адреса стока важно. Сначала я думал, что префикса syslog: // должно хватить, но, видимо, этого не произошло.

Спасибо, что разместили это. Однако меня поразила одна вещь. Мне пришлось перезапустить свое приложение на heroku, прежде чем оно начало писать в новые стоки. (после того, как я попробовал так много всего!)