هذا اقتباس من أحد معارفي الذين سألوني ذات مرة عن Postgres. ثم حللنا مشكلته في غضون يومين وبعد تقديم الشكر لي أضاف: "إنه أمر جيد عندما يكون هناك صديق DBA".
ولكن ماذا لو لم يكن هناك DBA كما تعلم؟ يمكن أن يكون هناك عدد غير قليل من خيارات الإجابة ، بدءًا من البحث عن أصدقاء بين الأصدقاء وانتهاءً بدراسة المشكلة بنفسك. ولكن مهما كانت الإجابة التي تتبادر إلى ذهنك ، فلدي أخبار سارة لك. في وضع الاختبار ، أطلقنا خدمة توصية لـ Postgres وكل ما يدور حوله. ما هو وكيف وصلنا إلى هذه الحياة
لماذا هذا كل شيء؟
Postgres ليس سهلاً على الأقل ، وأحيانًا صعب للغاية. يعتمد على درجة المشاركة والمسؤولية.
يحتاج القائمون في العمليات إلى التأكد من أن Postgres كخدمة تعمل بشكل صحيح ومستقر - مراقبة استخدام الموارد ، والتوافر ، وكفاية التكوين ، والتحديث الدوري والتحقق من الصحة بانتظام. يحتاج أولئك الذين هم في طور التطوير وكتابة التطبيقات ، بشكل عام ، إلى مراقبة كيفية تفاعل التطبيق مع القاعدة وأنه لا يخلق حالات طارئة يمكن أن تؤدي إلى انهيار القاعدة. إذا كان شخص ما سيئ الحظ بما يكفي لأنه قائد تقني / رائد تقني ، فمن المهم بالنسبة له أن يعمل Postgres ككل بشكل موثوق ومتوقع ولا يخلق مشاكل ، بينما يُنصح بعدم الغوص بعمق في Postgres لفترة طويلة.
في كلتا الحالتين ، أنت و Postgres موجودان هناك. لخدمة Postgres بشكل جيد ، تحتاج إلى فهم وفهم كيفية عملها. إذا لم يكن Postgres تخصصًا مباشرًا ، فيمكنك قضاء الكثير من الوقت في تعلمه. من الناحية المثالية ، عندما يكون هناك وقت ورغبة ، فليس من الواضح دائمًا من أين نبدأ وكيف وأين تتحرك.
حتى لو فرضت المراقبة ، والتي من المفترض نظريًا أن تسهل العملية ، تظل مسألة معرفة الخبراء مفتوحة. لتتمكن من قراءة الرسوم البيانية وفهمها ، تحتاج أيضًا إلى فهم جيد لكيفية عمل Postgres. وإلا فإن أي مراقبة تتحول إلى صور حزينة وبريد عشوائي من التنبيهات في أوقات عشوائية من اليوم.
صُنع سلاح فقط لتسهيل استخدام Postgres. تجمع الخدمة البيانات حول Postgres وتحللها وتقدم توصيات بشأن ما يمكن تحسينه.
الغرض الرئيسي من الخدمة هو تقديم توصيات واضحة تعطي فكرة عما يحدث وما يجب القيام به بعد ذلك.
بالنسبة للمهنيين الذين ليس لديهم معرفة متخصصة ، توفر التوصيات نقطة انطلاق للتطوير المهني. للمتخصصين المتقدمين ، تشير التوصيات إلى تلك النقاط التي يجب الانتباه إليها. في هذا الصدد ، يعمل Weaponry كمساعد يقوم بمهام روتينية للعثور على المشكلات أو أوجه القصور وتتطلب اهتمامًا خاصًا. يمكن مقارنة السلاح مع linter الذي يتحقق من Postgres ويشير إلى العيوب.
كيف هي الامور الان؟
Weaponry , . - , .
- , - , . , Postgres, , . .
Updated 2020-09-16. Getting started.
- . . , , . shell :
psql -c "CREATE ROLE pgscv WITH LOGIN SUPERUSER PASSWORD 'A7H8Wz6XFMh21pwA'"
export PGSCV_PG_PASSWORD=A7H8Wz6XFMh21pwA
curl -s https://dist.weaponry.io/pgscv/install.sh |sudo -E sh -s - 1 6ada7a04-a798-4415-9427-da23f72c14a5pgbouncer, . pgbouncer . stats_users ( pgbouncer.ini) ( ) auth_file. stats_users pgbouncer.
يأخذ البرنامج النصي install.sh بضع الوسائط المطلوبة الفريدة لكل مشروع ، ومن خلال متغيرات البيئة فإنه يقبل بيانات اعتماد المستخدمين الذين تم إنشاؤهم. بعد ذلك ، يبدأ البرنامج النصي العامل في وضع التمهيد - ينسخ الوكيل نفسه إلى PATH ، وينشئ تكوينًا مع المتطلبات ، ووحدة systemd ويبدأ كخدمة systemd.
هذا يكمل التثبيت. في غضون دقيقتين ، سيظهر مثيل DB في قائمة المضيفين في الواجهة ويمكنك بالفعل مشاهدة التوصيات الأولى. لكن نقطة مهمة ، تتطلب العديد من التوصيات عددًا كبيرًا من المقاييس المتراكمة (على الأقل ليوم واحد).