Log Bull - це система збору логів з акцентом на простоту використання. Її можна розгорнути за допомогою .sh скрипту, через Docker та через Docker Compose. Проєкт є повністю відкритим кодом під ліцензією Apache 2.0.Log Bull - це система збору логів з акцентом на простоту використання. Її можна розгорнути за допомогою .sh скрипту, через Docker та через Docker Compose. Проєкт є повністю відкритим кодом під ліцензією Apache 2.0.

ELK, Loki та Graylog були надмірними, тому я створив Log Bull

2025/10/16 23:31

Протягом приблизно п'яти років я стикався із завданням збору логів, зазвичай із кодових баз малого та середнього розміру. Відправка логів з коду не є проблемою: Java та Go мають бібліотеки для цього практично з коробки. Але розгортання чогось для їх збору - це головний біль. Я розумію, що це вирішуване завдання (навіть до ChatGPT, а тепер тим більше). Проте всі системи логування в першу чергу орієнтовані на світ великих підприємств та їхні вимоги, а не на маленькі команди чи окремих розробників з кількома палицями, клеєм та дедлайном "на вчора".

Запуск ELK для мене щоразу виклик: купа налаштувань, нетривіальне розгортання, а коли я заходжу в інтерфейс, мої очі розбігаються від вкладок. З Loki та Graylog трохи простіше, але все одно функцій набагато більше, ніж мені потрібно. Водночас, розділення логів між проєктами та додавання інших користувачів до системи так, щоб вони не бачили того, чого не повинні, також не найочевидніший процес.

Тож близько року тому я вирішив створити власну систему збору логів. Таку, яку максимально легко використовувати та запускати. Вона розгорталася б на сервері однією командою, без будь-яких налаштувань чи зайвих вкладок в інтерфейсі. Так з'явився Log Bull, і тепер він з відкритим кодом: система збору логів для розробників із проєктами середнього розміру.

Зміст:

  • Про проєкт
  • Як розгорнути Log Bull?
  • Як надсилати логи?
  • Як переглядати логи?
  • Висновок

Про проєкт

Log Bull - це система збору логів з акцентом на простоті використання (мінімальна конфігурація, мінімум функцій, нульова конфігурація при запуску). Проєкт повністю з відкритим кодом під ліцензією Apache 2.0. Моїм головним пріоритетом було створити рішення, яке дозволило б молодшому розробнику легко розібратися, як запустити систему, як надсилати до неї логи та як їх переглядати приблизно за 15 хвилин.

Ключові особливості проєкту:

  • Розгортається однією командою через .sh скрипт або команду Docker.
  • Можна створювати кілька ізольованих проєктів для збору логів (і додавати до них користувачів).
  • Надзвичайно простий інтерфейс з мінімальною конфігурацією, і взагалі без необхідності конфігурації при запуску (нульова конфігурація).
  • Бібліотеки для Python, Java, Go, JavaScript (TS \ NodeJS), PHP, C#. Планується Rust та Ruby.
  • Безкоштовний, з відкритим кодом та самостійним хостингом.
  • Не потрібно знати LogQL, Kibana DSL чи інші мови запитів для пошуку логів.

https://www.youtube.com/watch?v=8H8jF8nVzJE&embedable=true

Проєкт розроблено на Go та побудовано на OpenSearch.

Веб-сайт проєкту - https://logbull.com

GitHub проєкту - https://github.com/logbull/logbull

P.S. Якщо ви вважаєте проєкт корисним і маєте акаунт GitHub, будь ласка, поставте йому зірку ⭐️. Перші зірки важко зібрати. Я був би надзвичайно вдячний за вашу підтримку!

Як розгорнути Log Bull?

Існує три способи розгортання проєкту: через .sh скрипт (який я рекомендую), через Docker та через Docker Compose.

Метод 1: Встановлення через скрипт

Скрипт встановить Docker, розмістить проєкт у папці /opt/logbull та налаштує автозапуск при перезавантаженні системи. Команда встановлення:

sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/logbull/logbull/main/install-logbull.sh \ | sudo bash 

Метод 2: Запуск через Docker Compose

Створіть файл docker-compose.yml з наступним вмістом:

services:   logbull:     container_name: logbull     image: logbull/logbull:latest     ports:       - "4005:4005"     volumes:       - ./logbull-data:/logbull-data     restart: unless-stopped     healthcheck:       test: ["CMD", "curl", "-f", "http://localhost:4005/api/v1/system/health"]       interval: 5s       timeout: 5s       retries: 30 

І виконайте команду docker compose up -d. Система запуститься на порту 4005.

Метод 3: Запуск через команду Docker

Виконайте наступну команду в терміналі (система також запуститься на порту 4005):

docker run -d \   --name logbull \   -p 4005:4005 \   -v ./logbull-data:/logbull-data \   --restart unless-stopped \   --health-cmd="curl -f http://localhost:4005/api/v1/system/health || exit 1" \   --health-interval=5s \   --health-retries=30 \   logbull/logbull:latest 

Як надсилати логи?

Я розробив проєкт з урахуванням зручності, насамперед для розробників. Саме тому я створив бібліотеки для найпопулярніших мов розробки. Я зробив це з ідеєю, що Log Bull можна підключити до будь-якої популярної бібліотеки як процесор без зміни поточної кодової бази.

Я наполегливо рекомендую переглянути приклади на веб-сайті, оскільки там є інтерактивна панель для вибору мови:

Code examples picler

Візьмемо Python як приклад. Спочатку потрібно встановити бібліотеку (хоча ви також можете надсилати через HTTP; є приклади для cURL):

pip install logbull 

Потім надсилайте з коду:

import time from logbull import LogBullLogger  # Initialize logger logger = LogBullLogger(     host="http://LOGBULL_HOST",     project_id="LOGBULL_PROJECT_ID", )  # Log messages (printed to console AND sent to LogBull) logger.info("User logged in successfully", fields={     "user_id": "12345",     "username": "john_doe",     "ip": "192.168.1.100" })  # With context session_logger = logger.with_context({     "session_id": "sess_abc123",     "user_id": "user_456" })  session_logger.info("Processing request", fields={     "action": "purchase" })  # Ensure all logs are sent before exiting logger.flush() time.sleep(5) 

Як переглядати логи?

Усі логи відображаються одразу на головному екрані. Ви можете:

  • Зменшити розмір повідомлень (обрізавши рядок до ~50-100 символів).

  • Розгорнути список надісланих полів (userid, orderid тощо).

  • Клацнути на поле та додати його до фільтра. Пошук логів з умовами:

    Logs search with conditions

    Regular logs view

    Viewing messages text only (you can cut extra fields):

Ви також можете збирати групи умов (наприклад, повідомлення містить певний текст, але виключає конкретну IP-адресу сервера).

Висновок

Я сподіваюся, що моя система збору логів буде корисною тим розробникам, які не хочуть або не можуть (через обмежені ресурси проєкту) впроваджувати "важкі" рішення, такі як ELK. Я вже використовую Log Bull у виробничих проєктах, і все йде добре. Я вітаю відгуки, пропозиції щодо вдосконалення та проблеми на GitHub.

Ринкові можливості
Логотип Elk Finance
Курс Elk Finance (ELK)
$0.01891
$0.01891$0.01891
-0.52%
USD
Графік ціни Elk Finance (ELK) в реальному часі
Відмова від відповідальності: статті, опубліковані на цьому сайті, взяті з відкритих джерел і надаються виключно для інформаційних цілей. Вони не обов'язково відображають погляди MEXC. Всі права залишаються за авторами оригінальних статей. Якщо ви вважаєте, що будь-який контент порушує права третіх осіб, будь ласка, зверніться за адресою service@support.mexc.com для його видалення. MEXC не дає жодних гарантій щодо точності, повноти або своєчасності вмісту і не несе відповідальності за будь-які дії, вчинені на основі наданої інформації. Вміст не є фінансовою, юридичною або іншою професійною порадою і не повинен розглядатися як рекомендація або схвалення з боку MEXC.

Вам також може сподобатися

Ринкові індикатори сигналізують про черговий обвал ціни Pi Network

Ринкові індикатори сигналізують про черговий обвал ціни Pi Network

Нативний токен PI Network PI залишається замкненим у бічному тренді після падіння до нового історичного мінімуму $0,1842 22 вересня. З того часу криптовалюта коливалася в горизонтальному каналі, знаходячи підтримку на рівні $0,2565 і стикаючись з опором на рівні $0,2917. З ведмежими хмарами, що нависають над ширшим ринком, PI ризикує знову повернутися до свого цінового мінімуму. Слабкий імпульс тримає PI під тиском Падіння середнього істинного діапазону (ATR) PI відображає ослаблення імпульсу серед учасників спотового ринку. Показники з денного графіка PI/USD показують, що цей індикатор стабільно знижувався з початку бічного тренду 23 вересня, досягнувши 0,0234 на момент публікації. Хочете більше подібних аналітичних даних про токени? Підпишіться на щоденну розсилку новин про криптовалюти редактора Харша Нотарії тут. Середній істинний діапазон PI. Джерело: TradingView ATR вимірює ступінь руху ціни за певний період. Коли він знижується, як у цьому випадку, це зазвичай вказує на те, що цінові коливання звужуються, а загальний імпульс слабшає. Це зниження підкреслює зменшення участі трейдерів на спотових ринках і відсутність нових притоків капіталу в токен, натякаючи на ймовірність прориву підтримки на рівні $0,2565 у найближчій перспективі. Крім того, PI торгується значно нижче свого 20-денного експоненціального ковзного середнього (EMA), що підтверджує цей ведмежий прогноз. На момент публікації це ключове ковзне середнє формує динамічний опір вище ціни PI на рівні $0,3185. PI 20-денне EMA. Джерело: TradingView 20-денне EMA вимірює середню ціну активу за останні 20 торгових днів, надаючи більшу вагу останнім цінам. Коли ціна падає нижче нього, продавці контролюють ситуацію, а ринковий імпульс зміщується вниз. Це сигналізує про те, що PI важко залучити висхідний імпульс і може продовжити свій бічний рух або навіть зіткнутися з новим тиском вниз, якщо настрої не покращаться. Ризики зниження продовжують накопичуватися Зі слабшанням торгового імпульсу цінова динаміка PI виглядає все більш вразливою до чергового прориву вниз. Вона може опуститися нижче рівня підтримки $0,2565 і знову досягти свого історичного мінімуму. Аналіз ціни PI. Джерело: TradingView І навпаки, якщо настрої покращаться, PI може спробувати подолати опір на рівні $0,2919. Прорив вище цього рівня може ознаменувати початок спроби відновлення, підштовхнувши ціну PI вище її 20-денного EM
Поділитись
Coinstats2025/09/28 03:00
Понад 2,3 млн записів підписників видання WIRED опинилися на хакерському форумі

Понад 2,3 млн записів підписників видання WIRED опинилися на хакерському форумі

Хакер заявив про злам американської медіакомпанії Condé Nast та оприлюднив імовірну базу даних видання WIRED, що містить понад 2,3 млн записів підписників. Злов
Поділитись
Dev2025/12/29 18:04
Складність майнінгу Bitcoin наближається до рекордних рівнів напередодні 2026 року

Складність майнінгу Bitcoin наближається до рекордних рівнів напередодні 2026 року

Складність майнінгу Bitcoin повернулася близько до пікових значень, перевищивши 148 трильйонів. Зростаюча конкуренція та вищі енергетичні вимоги тиснуть на менші майнінгові
Поділитись
Crypto News Flash2025/12/29 18:15