Как слить логи приложений из bluemix в logentries

Я вижу следующий документ из документа cloudfoundry Специфичные для службы инструкции для потоковой передачи журналов приложений:

Logentries не поддерживается

Cloud Foundry распределяет сообщения журнала по нескольким серверам, чтобы справиться с нагрузкой. В настоящее время мы не рекомендуем использовать Logentries, так как он не поддерживает несколько источников системного журнала.

и я предполагаю, что это указывает на функцию входных данных в формате обычного текста в TCP/UDP.

Так как насчет ввода TCP на основе токенов Logentries? Например, настраивает предоставленный токен для каждого сообщения журнала, отправляемого на STDOUT или же STDERR из приложения или облачного хранилища. Если это работает, как это сделать?

3 ответа

Решение

Похоже, вы пытались использовать переадресацию системного журнала на основе порта, который привязан к одному IP-адресу. Вместо этого вы можете использовать перенаправитель системного журнала в сочетании с пересылкой токенов для отправки нам своих журналов, вы получаете один токен для одного журнала, и если вы хотите направить свои журналы в разные журналы / наборы журналов, вам придется управлять несколькими токены в вашем конфигурационном файле.

Вот некоторые документы, которые вы найдете полезными: https://logentries.com/doc/input-token/3 https://blog.logentries.com/2014/01/how-to-send-log-data-via-a-proxy-server-using-rsyslog/2 с помощью-Rsyslog / 2

Вы можете использовать практически любую конечную точку для стока логгрегатора. Это просто должен быть HTTPS (запрос POST), syslog или syslog-tls. Cloud Foundry не поддерживает никакие другие конечные точки прямо сейчас.

Способ работы логгрегатора сбора данных Cloud Foundry заключается в том, что ему нужна определенная конечная точка, чтобы указать, чтобы выгружать журналы. Он не работает с несколькими конечными точками стока.

Я стрелял бы по электронной почте в дистрибутив cf-dev и смотрел, что потребуется для подачи PR для этого....

Я реализовал ведение журнала на основе приложения из приложения node.js, запущенного в bluemix, следующим образом.

  1. Сначала нужно интегрировать библиотеку журналов Winson, чтобы мы могли использовать "транспорты", разработанные для различных служб регистрации и мониторинга; в дополнение к основным файлам и консольным адресам.
  2. Использовал библиотеку le_node из LogEntries как транспорт Winston. В качестве части конфигурации транспорта вы указываете токен LogEntries.

winston.add(winston.transports.Logentries, { token: myToken });

Поскольку токен может быть специфичным для вашего приложения, LogEntries может агрегировать журналы, поступающие из разных экземпляров.

Другие вопросы по тегам