Ötən beş ildir, tipik olaraq kiçik və orta ölçü kod bazalarından jurnalları toplaymaqla üzləşdim. Koddan jurnallar göndərmək problem deyil: Java və Go bu üçün kütləvi kütləvi var, lakin bunları toplaymaq üçün bir şey yerləşdirmək baş ağrısıdır. Mən bunun çözülə biləcək bir iş olduğunu anlayıram (ŞatGPT-dən əvvəl də, şimdi də daha çox). Küçük komandalar və ya yalnız bir neçə paltar, qırğız və “dünən” bir müddətli geliştiricilərdən daha yaxşıdır. r "ELK"i hər dəfə başlamaq mənim üçün bir çətinlikdir: bir yığın ayar, bir az fərqli dağılım, və UI-yə daxil olduğumda gözlərim kartlardan çəkinir. "Loki" və "Graylog" ilə, bu, bir az daha asanlaşır, lakin ehtiyacımdan daha çox xüsusiyyətlər var. Belə ki, bir il öncə öz jurnal toplama sistemini yaratmağa qərar verdim. Onu mümkün olduğu qədər istifadə etmək və başlamaq asan bir sistemdir. Bu, serverdə tek bir komandayla, interface-də heç bir konfigürasiya və ya gereksiz tablar olmadan yerləşdiriləcəkdir. Log Bull belə ortaya çıxdı, və şimdi açıq kodu: bir jurnal toplama sistemi Orta ölçü projektləri. for developers Table of contents: Proqram haqqında Log Bull necə qurulur? Loglar necə göndərilir? Logosunu necə görmək olar? Sonrakı Proqram haqqında “Log Bull” protokol toplama sistemidir.Projekt Apache 2.0 lisenziyası altında tamamilə open-sourcedir.Mənim əsas prioritetim, bir junior geliştiricinin sistemin necə başlayacağını, sistemə protokollar necə göndərəcəyini və bunları 15 dəqiqə ərzində necə izləməsini asanlaşdırmaq üçün bir çözüm yaratmaq idi. Key features of the project: Bir neçə ildir ki, bu da “Docker” və ya “.sh” komandanlığına aiddir. Bir çox ayrı-ayrı proqnozlar yaratmaq üçün jurnalları toplayabilirsiniz (ve onlara istifadəçilər daxil edə bilərsiniz). Minimum konfigürasiya və startda heç bir konfigürasiya lazımdır (zero-config). Python, Java, Go, JavaScript (TS \ NodeJS), PHP, C# üçün kütüphərlər. Free, Open Source və Self-hosting “LogQL”, “Kibana DSL” və ya digər sorğu dilləri aramaya ehtiyac yoxdur. https://www.youtube.com/watch?v=8H8jF8nVzJE&embedable=true Proqram Go-da yaradılmış və OpenSearch üzərində yaradılmışdır. Proqramın web saytı - https://logbull.com GitHub proqramı - https://github.com/logbull/logbull P.S. Əgər projektin faydalı olduğunu və bir GitHub hesabınız varsa, lütfen ona bir yıldız ⭐️ verin. Log Bull necə qurulur? Proqramı dağıtmaq üçün üç yolu var: .sh script (söyləyəcəyəm), Docker və Docker Compose. Method 1: Installation via script Script Docker'ı yükləyəcək, proqnozunu /opt/logbull folder'a yerləşdirəcək və sistem yenidən başlamaqdan sonra autostart'ı konfigürə edəcək. sudo apt-get install -y curl && \ sudo curl -sSL https://raw.githubusercontent.com/logbull/logbull/main/install-logbull.sh \ | sudo bash Method 2: Launch via Docker Compose Təsadüfi dosya docker-compose.yml aşağıdaki içərisində yaratın: 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 Komandaya daxil olmaq Sistem 4005 portundan başlayır. docker compose up -d Method 3: Launch via Docker command Terminalda aşağıdaki komandayı çalışdırın (sistem də port 4005-də başlayacaq): 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 Loglar necə göndərilir? Bu barədə “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti “Log Bull” şirkəti Əsas səhifə Etiket: check out Çünki bir dil seçmək üçün interaktiv panel var: İnternetdəki məsələlər Birincisi, kütləvi yükləmisiniz (haqqında HTTP vasitəsilə da göndərə bilərsiniz; cURL üçün örneklər var): pip install logbull Sürücüləri koddan göndərmək: 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) Logosunu necə görmək olar? Bütün jurnallar ana ekranda dərhal görüntülənir. Sürücülərin boyutunu azaldır (şəkil 50-100 işarəyə bölünür). Əsas səhifə » Əsas səhifə » Əsas səhifə » Əsas səhifə Filtrə daxil olan bir alana tıklayın və filtreyi filtrə ekleyin. İstintaq qruplarını da toplayırsınız (yaxud, mesaj belirli bir metni içərir, lakin spesifik bir server IP adresi istintaqdan qurtara bilər). Sonrakı Ümid edirəm ki, mənim log toplama sistemim, istəməyən və ya istəməyən (projekt resurslarının az olmasından dolayı) “heavyweight” Solutions (ELK) sistemini qurmaq istəməyən və istəməyən programcılar üçün faydalı olacaq. . GitHub haqqında