Comments 18
Видно что проделана огромная работа. К сожалению, в статье нет никакого сравнения аналогичными существующими решениями. Почему было не взять в качестве сервера, например, rsyslog, если у вас midsize проект, и сосредоточится на интерфейсе управления? Почему во всех примерах http? Логи это очень чувствительная информация и лучше бы junior разработчику слать из через https, не считаете?
сравнения аналогичными существующими решениями
Объективное сравнение возможно разве что по метрикам и перформансу, а это не приоритет проекта. По производительности что-то среднее между ELK и Loki. В целом, может даже и похуже обоих (но какая разница, если логов не тысячи в секунду?)
Приоритет - это удобный UX для разработчика. Просто установить, просто отправить через библиотеку, удобно смотреть логи. Но это, все-таки - субъективная оценка
Почему было не взять в качестве сервера, например, rsyslog, если у вас midsize проект, и сосредоточится на интерфейсе управления
Так тоже можно. Но я знаком с OpenSearch, поэтому взял его. Которому, в каком-то смысле, и сделал интерфейс управления для просмотра логов и разделения между проектами
Почему во всех примерах http
Потому что с HTTPS сложнее деплой и нужен домен. А приоритет Log Bull - максимально простой деплой. Просто docker compose up -d не сработает. Если информация действительно sensetive, я бы лучше взял ELK и DevOps'a, который его настроит
если нужен http лучше через nginx завернуть имхо, чем конфигурировать/обновлять сертификаты специфичным для продукта образом
Привет! Огонь! Полностью согласен с доводами про актуальность. А можно из докер-контейнеров как-то логи отправлять? Чтобы не важно было что в них крутится и не менять код приложения, встраивая новый логгер.
Добрый день, спасибо
Логи самих контейнеров - к сожалению, нет. Log Bull все-таки ориентирован на код. Хотя, в теории, если этих логи засунуть в HTTP и отправить через curl - тогда можно
Да. На хост системе читать /var/logs/docer/... (Погуглите). Там лог файлы лежат. Читаете их и готоово
Можно как-то прикрутить аналог filebeat (попробую сам и в опенсорс 😁). Почему - чтобы пхп (или другой язык) мог без запроса в сеть, свою работу закончить, а логи будут идти независимо (почти). Иначе минус лог сервер - минус все сервисы... Но идея класс 👍👍👍
Да, есть такое, пробовали тот же sygnoz, там зоопарк сервисов, но это не совсем проблема, проблема в том, что этот зоопарк надо периодически обновлять, они фиксят баги и добавляют кучу новых каждую неделю.
В итоге, тут на хабре упомянули про openobserve, там всего один контейнер (если данных меньше пары терабайтов и он сжимает прям очень хорошо). Стало намного проще, но он не особо удобный.
Мы искали не только для логов, нам важнее была поддредка opentelemetry, трейсы и тд.
А в чем неудобный? Мы сейчас перешли на openovserve на всех проектах - пока только положительный опыт. Возможно зависит с чего переходили - с логов в Гугл Клауд. По вашему мнению у кибана удобнее интерфейс для логов?
Моментальный лайк на гитхабе. Очень круто выглядит, и сайт красивый. Буду пробовать на пет-проектах, скорее всего.
Учитывая что в проде ваше творение не появится, а стейдж по хорошему должен соответствовать проду, кажется что фокусировка на разрабах это тупик.
Отлично, спасибо огромное!
Это прям мне удачно Вашу статью в реки закинули, как раз для midsize искал как логи прикрутить.
Помню, до этого, использовал Sentry и всего хватало, того же бесплатного тарифа, но, потом, по всем известным причинам не смог его использовать больше.
Тоже были мысли, нужно что то простенькое бахнуть, без тонны фич и разверток. (да и просто, банальное, "лень")
А тут Вы :)
Скрытый текст
# Ждём, пока логи дойдут до Log Bull
logger.flush()
time.sleep(5)
Не совсем понял зачем ждать? Он сам не умеет отправлять автоматически? А если у меня несколько сотен или тысяч логов в секунду, как с этим обстоят делала?
Я сделал Log Bull — простую open source альтернативу ELK, Loki и Graylog для сбора логов из кода (Python, Go, JS и т.д.)