أوامر Linux ومهارات Shell
حليقة: عميل ويب سطر الأوامر الذي يقوم بتشغيل الويب
حلل هو عميل HTTP الجيب لكل صندوق أدوات عمليات: تشخيصي، وسهل الاستخدام، وصادق بشأن ما عاد. يبدو سطح علمها ضخمًا وفي الغالب ليس في اللعب: هناك حوالي عشرة أعلام تغطي الاستخدام التشغيلي اليومي، ومعرفتها هو الفرق بين فحوصات الصحة المكتوبة والفحوصات المحظوظة. القاعدة التي تحفظ أكبر عدد من الترحيلات هي قاعدة تافهة: اضبط --max-time في كل مرة، لأن صبر الضفيرة لا نهائي وصبرك ليس كذلك.
النقاط الرئيسية
- انظر قبل التنزيل: curl -sSI https://host يُرجع الطريقة والرؤوس والحالة بدون نص؛ أضف -v عندما تتصرف مصافحات TLS أو الوكلاء أو رؤوس المضيفين بشكل غريب.
- انضباط المهلة غير قابل للتفاوض: --connect-timeout 5 يقتل الاتصالات الميتة، --max-time 15 يقتل الاتصالات البطيئة؛ إن الفحص الصحي بدون كليهما يمكن أن يدوم أكثر من الانقطاع الذي كان من المفترض أن يكتشفه.
- رموز الخروج هي العقد في البرامج النصية: 7 هو رفض الاتصال، 28 هو انتهاء المهلة، 22 هو خطأ HTTP ظهر بواسطة --fail؛ اقرأ الكود، وليس فقط المخرجات، وإلا فإن مراقبتك لن تتعلم شيئًا.
- قم بإقران الرؤية مع التنفيذ: -w '%{http_code} %{time_total}\n' يُبلغ عما حدث، بينما يظهر --fail-with-body نص الخطأ؛ وبدون واحدة من هذه، يبدو الفشل مثل النجاح تمامًا.
- اختبر ما وصل إليه المستخدمون فعليًا: --resolve example.com:443:10.1.2.3 يتحقق من واجهة خلفية مسماة بدون ألعاب DNS، ويغطي -H 'Host: vhost.example.com' جانب vhost من نفس الطلب.
- تحصل عمليات النقل على إشارات متعمدة: -o يسمي المخرجات، -L يتبع عمليات إعادة التوجيه التي قمت بمراجعتها، --retry 3 --retry-delay 2 يخفف عمليات التحميل غير المستقرة، ويتعامل -F مع التحميلات متعددة الأجزاء التي لم تهتم بها أبدًا.
- تحمل الرؤوس والمقابس العالم غير المتعلق بالمتصفح: -H 'Authorization: Bearer...' لواجهات برمجة التطبيقات و --unix-socket /run/app/app.sock لاستكشاف الخدمات المحلية التي لا تلمس TCP مطلقًا.
- تعرف على الفخائين الكلاسيكيين: متغيرات بيئة الوكيل التي تخطف الطلب الذي يكشفه -v في ثوانٍ، وعمليات إعادة التوجيه التي تحول POST بصمت إلى GET إلا إذا كنت تقصد ذلك.
ملاحظة ميدانية
كان فحص الصحة الذي تم تعليقه لمدة خمسة عشر دقيقة ملتفًا بدون --max-time داخل حلقة cron، وقد تجاوز فترة الانقطاع التي كان من المفترض اكتشافها. تدخل المهلات الآن قبل عنوان URL، من حيث المبدأ.
أسئلة شائعة
لماذا خرج حليقة 0 عندما أعاد الموقع 500؟
نجاح الضفيرة يعني نجاح النقل؛ تكون الأخطاء على مستوى HTTP غير مرئية بدون --fail (مخرج 22) أو قراءة %{http_code} من -w. تصر نصوص المراقبة على أحدهما.
حليقة أو wget للنصوص البرمجية؟
تجعيد لواجهات برمجة التطبيقات والرؤوس وأجسام POST والتحكم الدقيق؛ wget للنسخ المتطابق والتكرار. بالنسبة للقطة واحدة، يعمل GET، وعادةً ما يكون خط الأنابيب الذي يمزج كلاهما علامة على أنه لم يقرر أحد أيهما يملك المهمة.
هل تخطي التحقق من طبقة النقل الآمنة (TLS) له ما يبرره؟
للحصول على تشخيص تفاعلي واحد مقابل شهادة مختبر موقعة ذاتيًا، أحيانًا؛ في أي شيء مكتوب أو يحركها كرون، لا. -k يعطل الفحص الوحيد الذي يمنع الوسيط من امتلاك عملية النقل الخاصة بك.
كيف يمكنني معرفة مكان توقف الطلب البطيء فعليًا؟
متغيرات التوقيت: -w 'dns:%{time_namelookup} Connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} Total:%{time_total}\n' تشغيل عدة مرات يفصل تقلب DNS عن ألم المصافحة عن الأكشاك الخلفية.
كيف تساعدك Kinetikatech في أوامر linux ومهارات shell
لا ينبغي أن تضطر إلى أن تصبح خبيرًا في أوامر linux ومهارات shell: الأوامر وعادات البرمجة النصية التي تحدد ما إذا كان المسؤول يشغل الخادم أم يحاربه: البحث عن النصوص والعمليات وتحويلها ونقلها والإشراف عليها باستخدام الأدوات الموجودة في كل تثبيت أساسي. ولهذا توجد أمن خوادم لينكس و إدارة الخوادم بالضبط: الإعداد والتحصين والمراقبة ومهندس مناوب ليلًا ونهارًا.