Skip to main content
تقرأ واجهة سطر الأوامر LogBrew CLI مفتوحة المصدر بيانات القياس عن بُعد وتدير بيانات الحساب من الطرفية. ابدأ من إرشادات استخدام CLI للتثبيت وتسجيل الدخول والمهام الشائعة.

كيف يعمل CLI

استخدم النص المقروء في الطرفية. واستخدم --json في البرامج النصية ووكلاء البرمجة. تسجيل الدخول بالحساب ضروري لقراءات الحساب. قبل أن تبدأ تسجيل الدخول، شغّل logbrew status --json. يجب أن يُكمل شخص التفويض في المتصفح. مفاتيح الاستيعاب الخاصة بالمشاريع ترسل بيانات القياس عن بُعد، ولا تحل محل تسجيل الدخول بالحساب. إنشاء المشاريع وإنشاء المفاتيح وتغيير حالة المشكلات وأولويتها والمسؤول عنها، وعمليات النشر وتحديثات الدعم، كلها تغيّر بيانات الحساب. قبل أن تشغّل أيًّا منها، تأكد من صحة الإجراء والهدف. شغّل logbrew --help لترى كل الأوامر. أضف --help إلى أمر، مثل logbrew read logs --help، لترى خياراته. شغّل logbrew help json لقواعد JSON.

اقرأ تقرير تشخيص المشروع (doctor)

استخدم معرّف مشروع من logbrew projects --json:
يقرأ الأمر حالة المشروع وسجلًا حديثًا واحدًا. ولا ينشئ مشروعًا، ولا يغيّر مفتاحًا، ولا يدوّن إعدادًا. يحتوي التقرير على status وchecks وnext. ويحتوي كل فحص على check وstatus وnext. الفحوص هي api وauth وproject وingest_key وsetup وtelemetry وlogs. رمز الخروج 0 يعني أن CLI كتب تقريرًا. ولا يعني أن المشروع جاهز. اقرأ قيمة status في التقرير وكل فحص. الفحص الذي قيمته not_checked لم ينجح. عندما تنجح قراءة المشروع، تكون نتيجة الفحص logs هي visible أو empty أو unavailable أو error أو invalid_response. لا يغيّر هذا الفحص قيمة status في التقرير. نتيجة السجلات الفارغة لا تقول شيئًا عن الإشارات الأخرى. والقراءة الفاشلة ليست نتيجة فارغة. استخدم next كإرشاد للتعافي. ولا يمنحك صلاحية تغيير حالة الحساب أو المشروع.

مثال: وصول الحساب مفقود

دون بيانات اعتماد الحساب، لا يرسل الأمر أي طلب API. ويكتب هذا التقرير إلى المخرجات القياسية ويخرج بالرمز 0:
يختلف هذا التقرير عن تشخيص المشروع عبر API. ولا يحتوي على حقول API state أو setup_status أو next_action.

عوامل التصفية

يقبل --since مدة مثل 24h أو 7d، أو طابعًا زمنيًا بتنسيق RFC 3339. ويقبل --until طابعًا زمنيًا بتنسيق RFC 3339. وهو وقت نهاية غير مشمول في النطاق، ويجب أن يكون بعد --since. قراءة مشكلة واحدة بمعرّفها لا تقبل --until. خطورة السجل هي info أو warning أو error أو critical. حالة المشكلة هي مرحلتها في سير العمل، لا خطورتها. --status ignored اسم أقدم لـ --status archived. و--status open تعني unresolved، و--status closed تعني resolved. يختار --assignee none المشكلات التي ليس لها مسؤول، ويختار --assignee my_teams مشكلات فرقك. وأي قيمة أخرى لـ --assignee تفشل مع invalid_assignee. يقبل CLI أيضًا هذه الأسماء البديلة: --project-id و--env و--service-name و--trace-id و--distinct-id، و--level بدل --severity. استخدم الأسماء الموجودة في الجدول في البرامج النصية الجديدة. يقرأ هذا الأمر أخطاء يوم واحد:
يحدد معرّف المشروع المشروعَ. ويحدد اسم الخدمة مكوّنًا داخل ذلك المشروع. ضع علامات اقتباس حول القيم التي تحتوي على مسافات:
لنص البحث الذي يبدأ بشرطة، ضع -- قبل النص:

اختر حدوثًا للمشكلة

تجمع المشكلة مرات الحدوث المتطابقة. اقرأ المشكلة لمعرفة حالتها وعدد مرات حدوثها ووقتي أول ظهور وآخر ظهور:
استخدم explain issue أو investigate issue لأدلة حدوث واحد. دون --occurrence، يختار LogBrew الحدوث الموصى به. وهو ليس دائمًا أحدث حدث. لقراءة أحدث حدث:
يقبل --occurrence أيضًا recommended أو first أو معرّف حدوث أعاده LogBrew. ترفض هذه الأوامر عوامل تصفية المشروع والإصدار والبيئة والوقت. قبل أن تقارن الأدلة، اقرأ الطابع الزمني للحدوث المختار. راجع التحقيق في مشكلة لمعرفة حقول الأدلة.

غيّر حالة المشكلة وأولويتها

استخدم معرّف مشكلة واحدًا لتغيير مشكلة واحدة:
يضبط archive القيمة archived، ويضبط resolve القيمة resolved، ويضبط reopen القيمة unresolved. الأولوية هي high أو medium أو low. الأولوية التي تضبطها بنفسك تبقى ثابتة. وإلا فإن الأولوية تتبع خطورة المشكلة. لتغيير أكثر من مشكلة واحدة، أضف --project. يجب أن تكون كل المشكلات في ذلك المشروع. يغيّر الأمر الواحد حتى 100 مشكلة:
تحتوي النتيجة على إدخال واحد لكل مشكلة. كل إدخال هو updated أو unchanged أو not_found. المشكلة unchanged كانت لها القيمة المطلوبة بالفعل. يمكنك تشغيل الأمر نفسه مرة أخرى بعد فشل في الشبكة. لا تطلب هذه الأوامر تأكيدًا. افحص معرّفات المشكلات أولًا. تعرض قراءات المشكلات وتغييراتها archived بدل ignored، وتعرض priority وpriority_source وassignee لكل مشكلة. راجع استجابة المشكلة.

أسند المشكلات

للمشكلة مسؤول واحد أو لا مسؤول لها، والمسؤول حساب واحد أو فريق واحد. اعرض الحسابات والفرق التي يمكنك الإسناد إليها في مشروع:
أسند مشكلة واحدة إلى حساب، أو إلى نفسك باستخدام me، أو إلى فريق:
أزل المسؤول:
أضف --project لتغيير حتى 100 مشكلة في ذلك المشروع، كما في الحالة والأولوية. يجب أن يستطيع الحساب قراءة المشروع، ويجب أن يتبع الفريق مؤسسة المشروع. للعثور على المشكلات المُسندة إليك أو إلى فرقك:
تعرض المخرجات النصية اسم المسؤول، أو team #<slug> للفريق. إذا لم يكن للحساب اسم، فتعرض عنوان البريد الإلكتروني، ثم معرّف المستخدم. المشكلة التي ليس لها مسؤول تعرض unassigned.

المالكون والتاريخ وصندوق الوارد

يعرض issues owners المالكين المقترحين والأدلة التي فحصها. ويرسل issues ownership set ملفات محلية لا يتجاوز كل منها 128 KiB. والملف الفارغ يمسح نصه. ويقبل issues activity وinbox الخيار --limit من 1 إلى 200، و--cursor-time مع --cursor-id من next_cursor. راجع اعرف مالك المشكلة.

اضبط قواعد الخطورة

الخطورة هي info أو warning أو error أو critical أو source. وتعيد source عرض الخطورة الملتقَطة. ويخفي --ignore السجلات المطابقة من قائمة السجلات الافتراضية. ودون --ignore، تعرضها القاعدة.

اقرأ الصفحة التالية

تقبل السجلات والمشكلات والإجراءات والمقاييس والتتبّعات ترقيم الصفحات بالمؤشر. أما الإصدارات فلا تقبله. استخدم --pagination cursor للصفحة الأولى:
تحتوي الاستجابة على logs وnext_cursor. وتحتوي قيمة next_cursor غير الفارغة على time وid. أرسلهما باستخدام --cursor-time و--cursor-id:
أبقِ عوامل التصفية والحد نفسها في كل صفحة. توقف عندما تكون قيمة next_cursor هي null. استخدم المؤشر، لا عدد الصفوف، لتعرف هل توجد صفحات أخرى. قد تكون الصفحة الأخيرة فارغة:
تستخدم المشكلات والإجراءات والمقاييس الشكل نفسه، مع issues أو actions أو metrics مكان logs.

المتابعة المباشرة

يبث logbrew watch --json السجلات والمشكلات والإجراءات مباشرةً. أضف logs أو issues أو actions لبث نوع واحد. tail وfollow وstream أسماء بديلة لـ watch. لا تدعم المتابعة التتبّعات أو الـ Spans. تحتاج المتابعة إلى --json. ومن دونه، يكتب الأمر watch streams JSON for agents ويخرج بالرمز 1. تعرض أحداث المشكلات في المتابعة المشكلةَ المؤرشفة على أنها ignored، دون أولوية. اقرأ المشكلة لتعرف حالتها وأولويتها الحاليتين. لا تقبل المتابعة إلا --severity، مثل --severity error,critical. ولا يقبل logbrew watch actions الخيار --severity. يطبّق CLI عامل التصفية هذا بعد أن يستلم الأحداث، ولا يقلّل ما يرسله الخادم. ليس للمتابعة عامل تصفية للمشروع أو الإصدار أو البيئة أو الوقت. لعوامل التصفية هذه، استخدم أمر read. بعد انقطاع مؤقت للاتصال، ينتظر CLI ثم يعيد الاتصال.

اقرأ النتائج والأخطاء

ضع --json قبل الأمر أو بعده. اقرأ رمز الخروج قبل أن تستخدم المخرجات. لا تحلّل المخرجات المخصصة للقراءة البشرية، فقد تتغير بين الإصدارات. تحافظ مخرجات النجاح على شكل استجابة API. وقد تكون مصفوفة أو كائنًا. دون ترقيم الصفحات بالمؤشر، تعيد قراءة السجلات مصفوفة. المصفوفة الفارغة تعني أنه لا توجد سجلات مطابقة. وهي ليست خطأً. تذهب الأخطاء إلى الخطأ القياسي. الاستثناء هو debug-artifacts --json، الذي يكتب الأخطاء إلى المخرجات القياسية. يحتوي خطأ JSON على ok وerror وmessage وnext. استخدم error كرمز فشل ثابت. افحص next قبل أن تشغّل الأمر الذي يقترحه. مثلًا، يخرج logbrew watch traces --json بالرمز 2 ويكتب:
ويخرج logbrew read logs --limit 0 --json بالرمز 2 ويكتب:
صحّح القيمة وشغّل الأمر مرة أخرى. الأمر المرفوض ليس نتيجة فارغة. راجع أخطاء API لأخطاء HTTP، ومرجع Telemetry API لطلبات API المباشرة.