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

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

Входы в систему не поддерживаются

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

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

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


person shawnzhu    schedule 12.09.2015    source источник
comment
Только что нашел эту идею на сайте ibm-bluemix.uservoice.com: ibm-bluemix.uservoice.com/forums/311383-ibm-bluemix-ideas/ надеюсь, что любой, кто страдает от этого, может проголосовать за него   -  person shawnzhu    schedule 08.10.2015


Ответы (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

person Albert    schedule 08.10.2015
comment
Я обнаружил, что этот образ докера является хорошим помощником: github.com/oinopion/syslog-ng- логи - person shawnzhu; 15.10.2015

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

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

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

person Jeff Sloyer    schedule 12.09.2015
comment
Я понимаю смысл вашего ответа, но речь идет не о нескольких конечных точках. например, Logentries предоставляет единую конечную точку через простой TCP/UDP, например syslog://api.logentries.com:xxxxx, для приложений, запускаемых через cloudfoundry, и это работает. ключевая проблема заключается в том, что для Logentries требуется ОДИН IP-адрес, но cloudfoundry может отправлять журналы с нескольких IP-адресов. Мой вопрос можно упростить до того, как настроить формат сообщений системного журнала для журналов приложений cloudfoundry с помощью команды cf? - person shawnzhu; 14.09.2015
comment
Вы можете войти в любую конечную точку syslog, syslog-tls или https. Я думаю, я смущен, в чем твоя проблема - person Jeff Sloyer; 14.09.2015
comment
Я предполагаю, что простой ответ - нет, у самого cloudfoundry нет такой функции для настройки формата сообщений системного журнала, чтобы включать специальный токен приложения для слива журналов в Logentries, поэтому Bluemix также не имеет этой функции. - person shawnzhu; 15.09.2015
comment
Да вы правы, формат который выходит вы не можете настроить. - person Jeff Sloyer; 15.09.2015
comment
Позволяет ли центр данных добавлять аннотации в журнал? Если это так, вы можете добавить один и тот же тег в журналы из нескольких источников, а затем их можно будет сопоставить с помощью этого. - person Arun Ramakrishnan; 30.09.2015

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

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

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

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

person Jonathan Henthorn    schedule 15.09.2015
comment
Да, это работает для журналов из пространства приложений. но он не будет работать для журналов в STDOUT приложения cloudfoundry, где он предоставляет больше информации, которая мне нужна, например, журнал доступа с маршрутизатора cloudfoundry. - person shawnzhu; 21.09.2015