Вход в Amazon S3
Кто-нибудь построил или кто-нибудь знает, как создать, фреймворк регистрации, который откладывает файлы журнала на Amazon S3?
Мы создаем приложение SaaS, и, естественно, мы планируем иметь миллионы серверов и клиентов. Я хотел бы упростить всю структуру каротажа. В настоящий момент мы используем SLF4j для ведения журнала и Logback как фактическую реализацию ведения журнала.
Я думаю, что мы могли бы сбросить еще одну реализацию, которая будет накапливать сообщения журнала в памяти, сжимать их и затем загружать на S3. Если соединение S3 было медленным или медленным, реализация остановила файлы на диске. Подобно Facebook Scribe.
Я предполагаю, что мне понадобится четыре или пять дней, чтобы написать и проверить это. Если там будет другая реализация, я хотел бы узнать об этом.
Ответы
Ответ 1
Существует плагин для fluentd, который хранит файлы на s3.
(Fluentd - хороший "сборщик журналов" )
Подробнее об этом читайте здесь:
http://docs.fluentd.org/articles/apache-to-s3
Если соединение s3 опускается или замедляется, fluentd file buffer будет буферировать вывод
для вас.
Ответ 2
Я искал google по тому же вопросу. Но, по-видимому, мне немного лучше.
Я знаю, как зарегистрироваться на S3. Не существует готового решения.
Я предлагаю что-то вроде плавкого предохранителя для s3 для установки вашего syslog: https://github.com/s3fs-fuse/s3fs-fuse
Теперь вам нужно смонтировать его также в вашей системе лог-парсера, которая может быть любой из готовой системы, которая может читать журналы из каталога.
Вот что я придумал.
То, что я до сих пор ищу для реализации, - это проблема производительности такого ведения журнала на S3, поскольку у AWS есть свои проблемы. Была обсуждена установка размера блока/файла для повышения производительности и снижения расходов на чтение и запись.
Надеюсь, это поможет другой потерянной душе.
Ответ 3
Я искал что-то подобное. Я уже использую winston.js для целей ведения журналов, но нашел этот плагин, который позволяет сохранять ваши журналы в AWS S3. (Winston-S3) Я еще не пробовал, но скоро сделаю.
Не должно быть трудно показать эти журналы на какой-то странице администратора.
Ответ 4
Ответ от 8 лет в будущем.
Для этого не нужно писать целую структуру. Вместо этого вы можете попытаться написать собственный "appender" для logback или log4j2 и использовать этот appender в соответствующей конфигурации. Таким образом, вам не нужно писать всю инфраструктуру ведения журналов, а только ту часть, которая вам нужна, и использовать оставшуюся часть из рабочей структуры.
Есть также несколько из них на GitHub: это первый, который выскочил, когда я погуглил https://github.com/shuwada/logback-s3