په اړه د پنج کلونو کې، زه د روزنې د راټولولو، په عمده توګه د کوچني او منځني کچه کوډ بیسونو سره راځي. د کوډ څخه روزنې د رسولو د ستونزه نه ده: د جاوا او ګاډ د دې لپاره کتابتون لري په عمده توګه د بکس څخه. مګر د هغه راټولولو لپاره چې څه هم راټول شي دا د سر درد دی. زه پوهم چې دا د حل وړ کار دی (د ChatGPT مخکې هم، او اوس هم ډیر هم). په هرصورت، ټول روزنې سیسټمونه په عمده توګه د لوی شرکت نړۍ او د دې اړتیاوو ته اړتیا لري، د کوچني ټیمونو یا انفرادي پراختیا څخه د ځينو ټانکونو، کلپونو او د "غیرته" محدودیتونو په پرتله. r د ELK پیل کولو لپاره زما لپاره هر وخت یو چیلنج دی: د ترتیباتو ډیری، یو غیر معمولي پلورل، او کله چې زه د UI ته ورسیږي، زما نظرونه د ټایټونو څخه لرېږي. د Loki او Graylog سره، دا یو کوچنۍ آسانه ده، مګر په داسې حال کې هم ډیر ځانګړتیاوې شتون لري چې زه اړتیا لري. په ورته وخت کې، د پروژو ترمنځ لیګونه وټاکل او د سیستم کې د نورو کاروونکو اضافه کول نو دوی نه وګورئ کوم چې دوی باید نه وي. دا هم تر ټولو ښکلي پروسه نه ده. نو د 1 کال مخکې، زه د خپل ژور د راټولولو سیسټم جوړ کړي. یو چې د کارولو او پیل کولو لپاره په اسانۍ سره کارول کیږي. دا به په سرور کې د یو واحد امر سره، د انټرنیټ کې د کوم ترتیب یا غیر ضروری ټیپونو له الرې جوړ شي. دا څنګه Log Bull راټول شوی، او اوس دا دopen source دی: د ژور د راټولولو سیسټم د منځني کچه پروژو. for developers Table of contents: د پروژې په اړه څنګه د Log Bull نصب کړئ؟ چمتو کړئ څنګه لیږدئ؟ څنګه د لوګونو وګورئ؟ د پایلو د پروژې په اړه د لوګ بول د لګولو سیستم دی چې د کارولو آسانه (د کمېسيون ترتیب، لږ تر لږه ځانګړتیاوې، د پیل کولو په وخت کې د 0-config) تمرکز کوي. د پروژې په بشپړه توګه د Apache 2.0 لائسنس له مخې खुला سرچینه ده. زما اصلي ترټولو مهمه ده چې د یو حل جوړ کړي چې یو ځوان ډیزاینر ته اجازه ورکړي چې په اسانۍ سره پوه شي چې څنګه د سیستم پیل کړي، څنګه د لګونو ته ورسیږي، او څنګه په 15 دقیقې کې وګورئ. Key features of the project: د یو واحد امر له لارې د .sh سکرپټ یا Docker امر له لارې تاسیس شوی. تاسو کولی شئ ډیری انفرادي پروژو د لګولو لپاره جوړ کړئ (او دوی ته کاروونکي اضافه کړئ). ډیر ساده انټرنیټ سره لږ تر لږه ترتیب، او د پیل کولو لپاره هیڅ ډول ترتیب اړتیا نلري (Zero-config). د Python، جاوا، Go، جاواسکرپټ (TS \ NodeJS)، PHP، C# لپاره کتابتونونه. Rust او Ruby طرح شوي دي. وړیا، Open Source او Self-hosted. د لګولو لپاره د 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 له لارې. Method 1: Installation via script د سکرپٹ به Docker نصب کړي، د پروژې په /opt /logbull پوډر کې ځای کوي، او کله چې د سیسټم دوبار پیل کیږي، د اتومات پیل تنظیموي. نصب کښته: 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 د 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 او د امر چلند سیستم به د 4005 بندر څخه پیل شي. docker compose up -d Method 3: Launch via Docker command په ترمینل کې د لاندې امر چلند کړئ (د سیستم به په بندر 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 کولی شي د اوسني کوډ بیس بدلولو په توګه د هر مشهور کتابتون سره د پروسیسر په توګه اړیکه ونیسي. موږ په سخت ډول سپارښتنه کوو چې چیک ، ځکه چې د یو ژور انتخاب لپاره یو انټرنیټ پینل شتون لري: په ویب پاڼه کې د مثالونو لومړی، تاسو باید د کتابتون نصب کړئ (چې تاسو کولی شئ دا د 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 ځانګړنو کې رنګ کول). د سپارلو فیلډونو لیست (user_id، order_id، او داسې نور) پراختیا کړئ. په ځمکه کې کلیک وکړئ او دا په فلټر کې اضافه کړئ. د شرایطو سره د څیړنې لګښتونه: تاسو کولی شئ د شرایطو ګروپونه هم جمع کړئ (د مثال په توګه، پیغام د ځانګړي متن شامل دي، مګر د ځانګړي سرور IP پته راټول کیږي). د پایلو زه امیدوارم چې زما د لوګ کول سیستم به د هغه پراختیاانو لپاره ګټور وي چې نه غواړم یا نه (د پروژې ضخامتونو له امله) د "د وزن" حلونه لکه ELK کاروي. زه په تولید پروژو کې Log Bull کاروي، او هر څه ښه دی. زه د پیژندنې، د ښه کولو لارښوونې او ستونزو سره خوشحاله ام. . په GitHub