الإنجليزيةالفرنسيةالإسبانية

OnWorks فافيكون

check_postgres_new_version_bcp - عبر الإنترنت في السحابة

قم بتشغيل check_postgres_new_version_bcp في موفر الاستضافة المجاني OnWorks عبر Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

هذا هو الأمر check_postgres_new_version_bcp الذي يمكن تشغيله في موفر الاستضافة المجاني OnWorks باستخدام إحدى محطات العمل المجانية المتعددة عبر الإنترنت مثل Ubuntu Online أو Fedora Online أو محاكي Windows عبر الإنترنت أو محاكي MAC OS عبر الإنترنت

برنامج:

اسم


check_postgres - برنامج نصي لمراقبة Postgres لـ Nagios و MRTG و Cacti وغيرها

تصف هذه الوثائق check_postgres الإصدار 2.22.0

موجز


## إنشاء جميع الروابط الرمزية
check_postgres - الروابط

## تحقق من الاتصال بقاعدة بيانات Postgres "بلوتو":
check_postgres --action = اتصال --db = بلوتو

## نفس الأشياء ، ولكن باستخدام الرابط الرمزي
check_postgres_connection --db = بلوتو

## تحذير إذا كان> 100 قفل ، مهم إذا> 200 ، أو> 20 حصريًا
check_postgres_locks - تحذير = 100 - حرجة = "المجموع = 200: حصري = 20"

## إظهار العدد الحالي للاتصالات الخاملة على المنفذ 6543:
check_postgres_txn_idle --port = 6543 - الإخراج = بسيط

## هناك العديد من الإجراءات والخيارات الأخرى ، يرجى متابعة القراءة.

يمكن دائمًا العثور على أحدث الأخبار والوثائق على:
http://bucardo.org/check_postgres/

الوصف


check_postgres هو نص برل يقوم بتشغيل العديد من الاختبارات المختلفة ضد واحد أو أكثر
قواعد بيانات Postgres. يستخدم برنامج psql لجمع المعلومات ، ويخرج ملف
ينتج عنه أحد التنسيقات الثلاثة: Nagios أو MRTG أو simple.

الناتج وسائط
يمكن تغيير الإخراج باستخدام خيار "- Output". الناتج الافتراضي هو ناجيوس ،
على الرغم من أنه يمكن تغيير هذا في الجزء العلوي من البرنامج النصي إذا كنت ترغب في ذلك. الخيار الحالي
الخيارات nagios, com.mrtgو بسيط. لتجنب الاضطرار إلى إدخال وسيطة الإخراج لكل منهما
الوقت ، يتم تعيين نوع الإخراج تلقائيًا إذا لم يتم إعطاء وسيطة إخراج ، وإذا كان
يحتوي الدليل الحالي على أحد خيارات الإخراج في اسمه. على سبيل المثال ، إنشاء ملف
الدليل المسمى mrtg وتعبئته بروابط رمزية عبر ملف - روابط سوف الحجة
تأكد من أن أي إجراءات يتم تشغيلها من هذا الدليل ستتحول دائمًا إلى ناتج "mrtg" افتراضيًا
كاختصار لـ - Output = simple ، يمكنك إدخال --sim simple ، والذي يتجاوز أيضًا ملف
خدعة تسمية الدليل.

Nagios الناتج

تنسيق الإخراج الافتراضي هو لـ Nagios ، وهو عبارة عن سطر واحد من المعلومات ، جنبًا إلى جنب مع
أربعة رموز خروج محددة:

0 (موافق)
1 (تحذير)
2 (حاسم)
3 (غير معروف)

سطر الإخراج هو إحدى الكلمات أعلاه ، ونقطتان ، ثم وصف قصير لما
تم قياسه. معلومات إحصائية إضافية ، وكذلك إجمالي وقت الأمر
أخذت ، يمكن إخراجها أيضًا: انظر التوثيق على الحجج - شووبرف,
- حدودو --موعد العرض.

MRTG الناتج

ناتج MRTG هو أربعة أسطر ، مع إعطاء السطر الأول رقمًا واحدًا دائمًا
أهمية. عندما يكون ذلك ممكنًا ، يمثل هذا الرقم قيمة فعلية مثل عدد
بايت ، ولكن قد يكون أيضًا 1 أو 0 للإجراءات التي تعرض فقط "صواب" أو "خطأ" ، مثل
كـ check_postgres_version. السطر الثاني عبارة عن إحصائية إضافية ويستخدم فقط من أجل
بعض الإجراءات. السطر الثالث يشير إلى "الجهوزية" ولا يتم استخدامه. السطر الرابع هو أ
وصف ويشير عادة إلى اسم قاعدة البيانات الإحصائيات من السطر الأول
تم سحبه من ، ولكن قد يختلف اعتمادًا على الإجراء.

تقبل بعض الإجراءات اختياريًا - MRTG حجة لمزيد من السيطرة على الإخراج.

راجع الوثائق الخاصة بكل إجراء للحصول على تفاصيل حول إخراج MRTG الدقيق لكل إجراء.

الاشارات الناتج

المخرجات البسيطة هي ببساطة نسخة مبتورة من MRTG ، وتقوم ببساطة بإرجاع
الرقم الأول ولا شيء غير ذلك. هذا مفيد للغاية عندما تريد فقط التحقق من الحالة
من شيء ما ، بغض النظر عن أي عتبة. يمكنك تحويل الإخراج الرقمي بواسطة
إلحاق KB ، أو MB ، أو GB ، أو TB ، أو EB إلى وسيطة الإخراج ، على سبيل المثال:

- الإخراج = بسيط ، ميغا بايت

الصبار الناتج

يتكون ناتج Cacti من عنصر واحد أو أكثر في نفس السطر ، باسم بسيط ، أ
نقطتان ، ثم رقم. في الوقت الحالي ، الإجراء الوحيد الذي يحتوي على إخراج Cacti واضح هو
"dbstats" ، ولا يلزم استخدام الخيار - Output في هذه الحالة ، حيث إن Cacti هو الخيار الوحيد
الإخراج لهذا الإجراء. بالنسبة للعديد من الإجراءات الأخرى ، يكفي استخدام - بسيط لصنع الصبار
سعيدة.

DATABASE CONNECTION OPTIONS


تقبل جميع الإجراءات مجموعة مشتركة من خيارات قاعدة البيانات.

-H اسم or - المضيف = الاسم
اتصل بالمضيف المشار إليه بواسطة NAME. يمكن أن تكون قائمة أسماء مفصولة بفواصل.
يُسمح بوسائط متعددة للمضيف. إذا لم يتم توفير مضيف ، يتم تعيين الإعداد الافتراضي على "PGHOST"
متغير البيئة أو لا يوجد مضيف على الإطلاق (مما يشير إلى استخدام مقبس Unix محلي).
يمكنك أيضًا استخدام "--dbhost".

-p PORT or - المنفذ = PORT
يتصل باستخدام رقم المنفذ المحدد. يمكن أن تكون قائمة من المنافذ مفصولة بفواصل
الأرقام ، ويسمح بوسائط متعددة المنافذ. إذا لم يتم إعطاء رقم منفذ ، فسيتم تعيين الإعدادات الافتراضية
إلى متغير البيئة "PGPORT". إذا لم يتم تعيين ذلك ، فسيتم تعيينه افتراضيًا على 5432. يجوز لك ذلك
استخدم أيضًا "--dbport"

-ديسيبل اسم or --dbname = الاسم
يحدد قاعدة البيانات التي سيتم الاتصال بها. يمكن أن تكون قائمة أسماء مفصولة بفواصل ، و
يُسمح بوسائط dbname المتعددة. إذا لم يتم توفير خيار dbname ، فسيتم تعيين الإعدادات الافتراضية على
متغير البيئة "PGDATABASE". إذا لم يتم تعيين ذلك ، فسيتم تعيينه افتراضيًا على "postgres"
إذا كان psql هو الإصدار 8 أو أعلى ، و "template1" بخلاف ذلك.

-u USERNAME or --dbuser = اسم المستخدم
اسم مستخدم قاعدة البيانات المراد الاتصال به. يمكن أن تكون قائمة مفصولة بفواصل من
أسماء المستخدمين ، ويسمح بوسائط dbuser المتعددة. إذا لم يتم توفير هذا ، فإنه
الإعداد الافتراضي إلى متغير البيئة "PGUSER" ، وإلا فإنه يتم تعيينه افتراضيًا على "postgres".

--dbpass = كلمة المرور
يوفر كلمة المرور للاتصال بقاعدة البيانات بها. استخدام هذا الخيار للغاية
محبط. بدلاً من ذلك ، يجب على المرء استخدام ملف .pgpass أو pg_service.conf.

--dbservice = الاسم
اسم خدمة داخل ملف pg_service.conf. قبل الإصدار 9.0 من
Postgres ، هذا ملف عام ، يوجد عادةً في /etc/pg_service.conf. إذا كنت كذلك
باستخدام الإصدار 9.0 أو أعلى من Postgres ، يمكنك استخدام الملف ".pg_service.conf" في
الدليل الرئيسي للمستخدم الذي يقوم بتشغيل البرنامج النصي ، على سبيل المثال nagios.

يحتوي هذا الملف على قائمة بسيطة بخيارات الاتصال. يمكنك أيضًا اجتياز المزيد
المعلومات عند استخدام هذا الخيار مثل --dbservice = "maindatabase sslmode = تتطلب"

يمكن العثور على وثائق هذا الملف على
http://www.postgresql.org/docs/current/static/libpq-pgservice.html

يمكن تجميع خيارات اتصال قاعدة البيانات: - المضيف = أ ، ب - المضيف = ج - المنفذ = 1234
- المنفذ = 3344 سيتصل بـ a-1234 و b-1234 و c-3344. لاحظ أنه بمجرد تعيين خيار
تنتقل حتى يتم تغييرها مرة أخرى.

أمثلة:

- المضيف = أ ، ب - المنفذ = 5433 - ديسيبل = ج
يتصل مرتين بالمنفذ 5433 ، باستخدام قاعدة البيانات c ، للمضيفين a و b: a-5433-c b-5433-c

- المضيف = أ ، ب - المنفذ = 5433 - ديسيبل = ج ، د
يربط أربع مرات: a-5433-c a-5433-d b-5433-c b-5433-d

- المضيف = a، b --host = foo --port = 1234 --port = 5433 --db = e، f
يربط ست مرات: a-1234-e a-1234-f b-1234-e b-1234-foo-5433-e foo-5433-f

--host = a، b --host = x --port = 5432,5433،XNUMX --dbuser = alice --dbuser = bob -db = baz
يربط ثلاث مرات: a-5432-alice-baz b-5433-alice-baz x-5433-bob-baz

--dbservice = "foo" - المنفذ = 5433
يتصل باستخدام الخدمة المسماة "foo" في ملف pg_service.conf ، ولكنه يتجاوز المنفذ

أخرى OPTIONS


وتشمل الخيارات الأخرى:

- العمل = الاسم
يذكر ما العمل الذي نقوم بتشغيله. مطلوب ما لم يتم استخدام ملف مرتبط ، حيث
حالة استخدام اسم الملف لمعرفة الإجراء.

- تحذير = VAL or -w فال
يضبط الحد الذي يتم عنده إطلاق تنبيه تحذيري. الخيارات الصالحة لهذا
يعتمد الخيار على الإجراء المستخدم.

- حرجة = VAL or -c فال
يعيّن الحد الذي يتم عنده إطلاق تنبيه هام. الخيارات الصالحة لهذا
يعتمد الخيار على الإجراء المستخدم.

-t فال or - المهلة = VAL
يضبط المهلة بالثواني التي بعدها سيُجهض النص البرمجي كل ما يفعله و
إرجاع حالة غير معروفة. المهلة لكل مجموعة Postgres ، وليست كاملة
النصي. القيمة الافتراضية هي 10 ؛ الوحدات دائمًا في ثوانٍ.

--اسم-وضع الاستعداد
إذا تم تحديد ذلك ، تحقق أولاً مما إذا كان الخادم في وضع الاستعداد سيتم تنفيذه (--datadir
مطلوب) ، إذا كان الأمر كذلك ، فسيتم تجاهل جميع عمليات التحقق التي تتطلب استعلامات SQL و "Server
في وضع الاستعداد "مع حالة" موافق "بدلاً من ذلك.

على سبيل المثال:

postgres@db$./check_postgres --action = version - تحذير = 8.1 --datadir /var/lib/postgresql/8.3/main/ --assume-standby-mode
POSTGRES_VERSION جيد: الخادم في وضع الاستعداد | الوقت = 0.00

--افترض-منتج
إذا تم تحديد ذلك ، تحقق مما إذا كان الخادم في وضع الإنتاج قد تم تنفيذه (مطلوب datadir).
الخيار مناسب فقط لـ ("symlink: check_postgres_checkpoint").

على سبيل المثال:

postgres@db$./check_postgres --action = نقطة تفتيش --datadir /var/lib/postgresql/8.3/main/ --assume-prod
POSTGRES_CHECKPOINT حسنًا: آخر نقطة تفتيش كانت قبل 72 ثانية | العمر = 72 ؛ ؛ وضع 300 = MASTER

-h or --مساعدة
يعرض شاشة تعليمات مع ملخص لجميع الإجراءات والخيارات.

--رجل
يعرض الدليل بأكمله.

-V or --الإصدار
يظهر الإصدار الحالي.

-v or - الإسراف
اضبط مستوى الإسهاب. يمكن الاتصال أكثر من مرة لرفع المستوى. ضبطه على
ثلاثة أو أعلى (بمعنى آخر ، إصدار "-v -v -v") يؤدي إلى تشغيل معلومات التصحيح
لهذا البرنامج الذي يتم إرساله إلى stderr.

--showperf = VAL
يحدد ما إذا كنا نخرج بيانات أداء إضافية بتنسيق Nagios القياسي (في النهاية
من السلسلة ، بعد رمز الأنبوب ، باستخدام الاسم = القيمة). يجب أن تكون قيمة VAL 0 أو 1. القيمة الافتراضية
هي 1. يسري مفعولها فقط في حالة استخدام وضع إخراج Nagios.

--perflimit = أنا
يعين حدًا لعدد العناصر ذات الأهمية التي يتم الإبلاغ عنها مرة أخرى عند استخدام
Showperf اختيار. هذا له تأثير فقط على الإجراءات التي تقوم بإرجاع عدد كبير من
العناصر ، مثل حجم الجدول. الافتراضي هو 0 ، أو لا يوجد حد. كن حذرا عند استخدام هذا
مع الالجائزة --يشمل or - استثناء الخيارات ، حيث تتم تلك القيود بعد هيه
تم تشغيل الاستعلام ، وبالتالي قد لا يتضمن الحد الخاص بك العناصر التي تريدها. يأخذ فقط
التأثير في حالة استخدام وضع إخراج Nagios.

- وقت العرض = VAL
تحديد ما إذا كان الوقت المستغرق لتشغيل كل استعلام معروضًا في الإخراج. يجب أن تكون قيمة VAL 0
أو 1. الافتراضي هو 1. لا تأثير إلا إذا Showperf قيد التشغيل. يكون ساري المفعول فقط في حالة استخدام
وضع إخراج Nagios.

--اختبار
تمكن وضع الاختبار. راجع قسم "وضع الاختبار" أدناه.

--PGBINDIR = المسار
يخبر البرنامج النصي بمكان العثور على ثنائيات psql. مفيد إذا كان لديك أكثر من واحد
نسخة من الملفات التنفيذية PostgreSQL على نظامك ، أو إذا لم تكن موجودة في ملف
طريق. لاحظ أن هذا الخيار كله بأحرف كبيرة. بشكل افتراضي ، هذا الخيار هو ليس
سمح. لتمكينه ، يجب عليك تغيير NO_PSQL_OPTION $ بالقرب من أعلى البرنامج النصي
إلى 0. تجنب استخدام هذا الخيار إذا كنت تستطيع ، وبدلاً من ذلك استخدم متغير البيئة
ج أو المتغير $ PGBINDIR المشفر ، أيضًا بالقرب من الجزء العلوي من البرنامج النصي ، لتعيينه
المسار إلى PostgreSQL المراد استخدامه.

--PSQL = المسار
(إهمال، خيار قد be إزالة in a مستقبل إفراج!) يروي البرنامج النصي حيث
للعثور على برنامج psql. مفيد إذا كان لديك أكثر من إصدار من psql
قابل للتنفيذ على نظامك ، أو إذا لم يكن هناك برنامج psql في مسارك. لاحظ أن هذا
الخيار في كل الأحرف الكبيرة. بشكل افتراضي ، هذا الخيار هو ليس سمح. لتمكينه ، أنت
يجب تغيير NO_PSQL_OPTION $ بالقرب من أعلى البرنامج النصي إلى 0. تجنب استخدام هذا
إذا استطعت ، وبدلاً من ذلك قم بترميز موقع psql الخاص بك إلى متغير $ PSQL ،
أيضًا بالقرب من الجزء العلوي من البرنامج النصي.

- روابط
يقوم بإنشاء ارتباطات رمزية للبرنامج الرئيسي لكل إجراء.

- الإخراج = VAL
يحدد تنسيق الإخراج لاستخدامه في برامج مختلفة. الافتراضي هو
"ناجيوس". الخيارات المتاحة هي "nagios" و "mrtg" و "simple" و "cacti".

--mrtg = VAL
يُستخدم فقط لإخراج MRTG أو الإخراج البسيط ، لبعض الإجراءات المحددة.

--debugoutput = VAL
لإخراج السلسلة الدقيقة التي تم إرجاعها بواسطة psql ، لاستخدامها في التصحيح. القيمة هي واحد أو
المزيد من الأحرف ، والتي تحدد ما إذا كان الإخراج معروضًا أم لا ، حيث "أ" = الكل ، "ج"
= حرج ، 'w' = تحذير ، 'o' = موافق ، و 'u' = غير معروف. يمكن الجمع بين الحروف.

--get_method = VAL
يسمح بتحديد الطريقة المستخدمة لجلب المعلومات لـ "new_version_cp" ،
فحوصات "new_version_pg" و "new_version_bc" و "new_version_box" و "new_version_tnm".
يتم تجربة البرامج التالية ، من أجل الحصول على المعلومات من الويب:
wget، fetch، curl، lynx، links. لفرض استخدام واحد فقط (وبالتالي إزالة
النفقات العامة لمحاولة كل الآخرين حتى واحد من هذه الأعمال) ، أدخل أحد الأسماء مثل
حجة get_method. على سبيل المثال ، قد يدخل مربع BSD السطر التالي بتنسيق
ملف ".check_postgresrc" الخاص بهم:

get_method = جلب

- اللغة = VAL
اضبط اللغة المراد استخدامها لجميع رسائل الإخراج. عادة ، يتم الكشف عن هذا بواسطة
فحص متغيرات البيئة LC_ALL و LC_MESSAGES و LANG ، ولكن مع تحديد ذلك
سيتجاوز الخيار أي اكتشاف من هذا القبيل.

الإجراءات


يقوم البرنامج النصي بتشغيل إجراء واحد أو أكثر. يمكن أن يتم ذلك إما بعلامة --action ، أو بواسطة
باستخدام ارتباط رمزي للملف الرئيسي الذي يحتوي على اسم الإجراء بداخله. ل
على سبيل المثال ، لتشغيل الإجراء "Timesync" ، يمكنك إما إصدار:

check_postgres - الإجراء = المزامنة الزمنية

أو استخدم برنامجًا باسم:

check_postgres_timesync

يتم إنشاء جميع الارتباطات الرمزية من أجلك في الدليل الحالي إذا استخدمت الخيار --symlinks

perl check_postgres - الروابط

إذا كان اسم الملف موجودًا بالفعل ، فلن يتم الكتابة فوقه. إذا كان الملف موجودًا وكان ملف
رابط رمزي ، يمكنك إجباره على الكتابة فوقه باستخدام "--action = build_symlinks_force"

تستغرق معظم الإجراءات أ --تحذير و --حرج الخيار ، مشيرا إلى أي نقطة نغير
من "موافق" إلى "تحذير" ، وأي نقطة ننتقل إلى "الحرجة". لاحظ أن لأن الحرجة هي
يتم التحقق منه دائمًا أولاً ، يعد تعيين التحذير مساويًا للحرج طريقة فعالة
قم بإيقاف تشغيل التحذيرات وإعطاء رسالة حرجة دائمًا.

الإجراءات الحالية المدعومة هي:

أرشيف_بالفعل
("symlink: check_postgres_archive_ready") للتحقق من عدد ملفات WAL ذات الامتداد .جاهز
موجودة في pg_xlog / archive_status الدليل ، الذي تم العثور عليه من ملف دليل البيانات.
يجب تشغيل هذا الإجراء كمستخدم متميز ، من أجل الوصول إلى محتويات
pg_xlog / archive_status الدليل. أقل إصدار لاستخدام هذا الإجراء هو Postgres 8.1.
تشير --تحذير --حرج الخيارات هي ببساطة عدد .جاهز الملفات في
pg_xlog / archive_status الدليل. عادة ، يجب أن تكون هذه القيم منخفضة ، مع تشغيل
آلية الأرشفة ، نريدها عادةً أرشفة ملفات WAL في أسرع وقت ممكن.

إذا فشل أمر الأرشيف ، فسيكون رقم WAL في ملف pg_xlog سوف ينمو الدليل حتى
استنفاد كل مساحة القرص وإجبار PostgreSQL على التوقف فورًا.

مثال 1: تحقق من أن عدد ملفات WAL الجاهزة هو 10 أو أقل على المضيف "بلوتو"

check_postgres_archive_ready - المضيف = بلوتو - حرجة = 10

بالنسبة لمخرجات MRTG ، يُبلغ عن عدد ملفات WAL الجاهزة في السطر 1.

تجميد تلقائي
("symlink: check_postgres_autovac_freeze") يتحقق من مدى قرب كل قاعدة بيانات من
بوستجرس autovacuum_freeze_max_age ضبط. هذا الإجراء سوف يعمل فقط لقواعد البيانات
الإصدار 8.2 أو أعلى. ال --تحذير --حرج يجب التعبير عن الخيارات كـ
النسب المئوية. تتم مقارنة "عمر" المعاملات في كل قاعدة بيانات بـ
إعداد autovacuum_freeze_max_age (200 مليون افتراضيًا) لإنشاء ملف
النسبة المئوية. القيم الافتراضية هي 90% للتحذير و 95% للحرجة. قواعد بيانات
يمكن تصفيتها عن طريق استخدام --يشمل - استثناء والخيارات. راجع "التصفية الأساسية"
القسم لمزيد من التفاصيل.

مثال 1: أعط تحذيرًا عندما تكون أي قواعد بيانات على المنفذ 5432 أعلى من 97٪

check_postgres_autovac_freeze --port = 5432 - تحذير = "97٪"

بالنسبة لمخرجات MRTG ، يتم الإبلاغ عن أعلى نسبة مئوية إجمالية في السطر الأول و
تم الإبلاغ عن أعلى عمر في السطر الثاني. جميع قواعد البيانات التي لديها النسبة من
يتم الإبلاغ عن السطر الأول في السطر الرابع ، مفصولاً برمز أنبوب.

الخلفيات
("symlink: check_postgres_backends") للتحقق من العدد الحالي للاتصالات لواحد أو
المزيد من قواعد البيانات ، ويقارنها اختياريًا بالحد الأقصى المسموح به ، والذي يتم تحديده بواسطة
متغير تكوين Postgres max_connections. --تحذير --حرج الخيارات
يمكن أن تتخذ واحدًا من ثلاثة أشكال. أولاً ، يمكن إعطاء رقم بسيط يمثل
عدد الاتصالات التي سيتم إصدار التنبيه عندها. هذا الاختيار لا يستخدم
max_connections ضبط. ثانيًا ، يمكن إعطاء النسبة المئوية للاتصالات المتاحة.
ثالثًا ، يمكن إعطاء رقم سالب يمثل عدد الاتصالات المتبقية
حتى max_connections تم الوصول إليه. القيم الافتراضية لـ --تحذير --حرج .
"90٪" و "95٪". يمكنك أيضًا تصفية قواعد البيانات باستخدام ملف --يشمل - استثناء
والخيارات. راجع قسم "التصفية الأساسية" للحصول على مزيد من التفاصيل.

لعرض العمليات غير الخاملة فقط ، يمكنك استخدام ملحق - لا شيء جدال. لاحظ أن المستخدم أنت
يتم الاتصال كما يجب أن يكون مستخدمًا متميزًا حتى يعمل هذا بشكل صحيح.

مثال 1: أعط تحذيرًا عندما يصل عدد الاتصالات في شركة المضيف إلى 120 ، و a
حرج إذا وصل إلى 150.

check_postgres_backends --host = quirm - warning = 120 - Critical = 150

مثال 2: أعط أمرًا بالغ الأهمية عندما نصل إلى 75٪ من إعدادات max_connections الخاصة بنا على المضيفين
لانكر أو لانكر 2.

check_postgres_backends - تحذير = '75٪ '- حرج =' 75٪ '- المضيف = لانكر ، لانكري 2

مثال 3: أعط تحذيرًا عندما لا يتبقى سوى 10 فتحات اتصال أخرى على المضيف
البلازميد ، وحرجة عندما يتبقى لدينا 5 فقط.

check_postgres_backends - تحذير = -10 - حرجة = -5 - مضيف = بلازميد

مثال 4: تحقق من جميع قواعد البيانات باستثناء تلك التي تحتوي على كلمة "test" في أسمائها ، ولكن اسمح بتلك القواعد
تسمى "pg_greatest". قم بالاتصال كمنفذ 5432 على أول مضيفين ، وكمنفذ 5433 على
الثالث. نريد دائمًا إلقاء كلمة حرجة عندما نصل إلى 30 اتصالًا أو أكثر.

check_postgres_backends --dbhost = hong، kong --dbhost = fooey --dbport = 5432 --dbport = 5433 - warning = 30 --critical = 30 --exclude = "~ test" - include = "pg_greatest، ~ prod "

بالنسبة لإخراج MRTG ، يتم الإبلاغ عن عدد الاتصالات في السطر الأول والرابع
يعطي السطر اسم قاعدة البيانات ، بالإضافة إلى الحد الأقصى الحالي للاتصالات. إذا كان أكثر من
تم الاستعلام عن قاعدة بيانات واحدة ، أما قاعدة البيانات التي تحتوي على أكبر عدد من الاتصالات فهي الإخراج.

سخام
("symlink: check_postgres_bloat") للتحقق من كمية سخام في الجداول والفهارس. (منتفخ
هو بشكل عام مقدار المساحة الميتة غير المستخدمة المأخوذة في جدول أو فهرس. هذه المساحة
عادةً ما يتم استعادتها باستخدام الأمر VACUUM.) يتطلب هذا الإجراء تلك الإحصائيات
يتم تمكين المجموعة في قواعد البيانات الهدف ، وتتطلب تشغيل ANALYZE
في كثير من الأحيان. ال --يشمل - استثناء خيارات يمكن استخدامها لتصفية أي الجداول
ينظر الى. راجع قسم "التصفية الأساسية" للحصول على مزيد من التفاصيل.

تشير --تحذير --حرج يمكن تحديد الخيارات على أنها أحجام أو نسب مئوية أو كليهما. صالح
وحدات الحجم هي بايت ، كيلو بايت ، ميغا بايت ، جيجابايت ، تيرابايت ، إكسابايت ، بيتابايت ، و
زيتابايت. يمكنك اختصار كل هؤلاء بالحرف الأول. العناصر بدون وحدات هي
يفترض أن تكون "بايت". القيمتان الافتراضيتان هما "1 غيغابايت" و "5 غيغابايت". تمثل القيمة
عدد "البايتات المهدرة" ، أو الفرق بين ما يستخدمه الجدول بالفعل و
الفهرس وما نحسبه.

لاحظ أن هذا الإجراء يحتوي على قيمتين مشفرتين لتجنب الإنذارات الكاذبة على الأجهزة الأصغر
علاقات. يجب أن تحتوي الجداول على 10 صفحات على الأقل ، ويجب أن تحتوي الفهارس على 15 صفحة على الأقل قبل أن تكون كذلك
يعتبر من خلال هذا الاختبار. إذا كنت تريد حقًا تعديل هذه القيم ، يمكنك البحث عن ملف
المتغيرات MINPAGES دولار MINIPAGES دولار في الجزء العلوي من الروتين الفرعي "check_bloat". هؤلاء
يتم تجاهل القيم إذا كان أي منهما - استثناء or --يشمل .

يتم عرض العلاقات العشر الأكثر تضخمًا فقط. يمكنك تغيير هذا الرقم باستخدام
- حدود الخيار لتعيين الحد الخاص بك.

تم استبعاد المخطط المسمى "information_schema" من هذا الاختبار ، حيث أنه يقوم بجداوله فقط
يحتوي على صغير ولا يتغير.

يرجى ملاحظة أن القيم المحسوبة من خلال هذا الإجراء ليست دقيقة ، ويجب استخدامها كـ
إرشادات فقط. تم بذل جهد كبير لتقدير الحجم الصحيح للجدول ، ولكن في
في النهاية ما هو إلا تقدير. حجم الفهرس الصحيح تخمين أكثر من
حجم الجدول الصحيح ، ولكن كلاهما يجب أن يعطي فكرة تقريبية عن مدى انتفاخ الأشياء.

مثال 1: تحذير إذا كان أي جدول في المنفذ 5432 يزيد حجمه عن 100 ميغابايت ، وهو أمر بالغ الأهمية إذا تجاوز 200 ميجابايت
MB

check_postgres_bloat - المنفذ = 5432 - تحذير = '100 M' - حرجة = '200 M'

مثال 2: أعطِ فكرة حاسمة إذا كانت "أوامر" الجدول على "سامي" المضيف تحتوي على أكثر من 10 ميغا من سخام

check_postgres_bloat --host = sami --include = الطلبات - Critical = '10 MB '

مثال 3: أعطِ أمرًا بالغ الأهمية إذا كان الجدول "q4" في "مبيعات" قاعدة البيانات أكثر من 50٪ منتفخًا

check_postgres_bloat --db = المبيعات - تتضمن = q4 - حرجة = '50٪ '

مثال 4: أعط جدولا حرجا إذا كان الجدول منتفخا بنسبة 20٪ يحتوي على أكثر من 150 ميغا بايت من سخام:

check_postgres_bloat - المنفذ = 5432 - حرجة = '20٪ و 150 م '

مثال 5: أعط جدولا حرجا إذا كان الجدول منتفخا بنسبة 40٪ or يحتوي على أكثر من 500 ميغا بايت من سخام:

check_postgres_bloat - المنفذ = 5432 - تحذير = "500 مليون أو 40٪"

بالنسبة لإخراج MRTG ، يعطي السطر الأول أكبر عدد من وحدات البايت المهدرة للجداول ،
ويعطي السطر الثاني أكبر عدد من البايتات المهدرة للفهارس. الرابع
يعطي السطر اسم قاعدة البيانات واسم الجدول ومعلومات اسم الفهرس. إذا أردت أن
إخراج نسبة سخام بدلاً من ذلك (كم مرة أكبر يتم مقارنة العلاقة مع كيف
يجب أن يكون كبيرًا) ، ما عليك سوى تمرير "--mrtg = نسبة".

نقطة تفتيش
("symlink: check_postgres_checkpoint") يحدد المدة المنقضية منذ آخر نقطة تفتيش
تم تشغيله. يجب أن يعمل هذا على نفس الخادم مثل قاعدة البيانات التي يتم التحقق منها (على سبيل المثال
-h العلم لن يعمل). هذا الفحص مخصص للتشغيل على خادم "الاستعداد الدافئ"
معالجة ملفات WAL المشحونة بشكل فعال ، ويهدف إلى التحقق من أن وضع الاستعداد الدافئ لديك
حقا "دافئ". يجب تعيين دليل البيانات ، إما عن طريق متغير البيئة
"PGDATA" ، أو تمرير وسيطة "datadir". تقوم بإرجاع عدد الثواني منذ
تم تشغيل آخر نقطة تفتيش ، على النحو المحدد من خلال تحليل المكالمة إلى "pg_controldata". بسبب
هذا ، يجب أن يكون الملف التنفيذي pg_controldata متاحًا في المسار الحالي. بدلا من ذلك،
يمكنك تحديد "PGBINDIR" كدليل موجود فيه. ومن الممكن أيضًا استخدامه
الخيارات الخاصة --افترض-منتج or --اسم-وضع الاستعداد، إذا كان الوضع الموجود ليس هو
يتوقع المرء ، انبعاث مادة حرجة.

يجب تعيين تحذير أو حجة نقدية واحدة على الأقل.

يتطلب هذا الإجراء الوحدة النمطية Date :: Parse.

بالنسبة إلى MRTG أو الإخراج البسيط ، تُرجع عدد الثواني.

معرف المجموعة
("symlink: check_postgres_cluster-id") يتحقق من توفير معرّف نظام قاعدة البيانات
بواسطة pg_controldata هو نفس آخر مرة قمت فيها بالتحقق. يجب أن يعمل هذا على نفس الخادم
كقاعدة البيانات التي يتم التحقق منها (على سبيل المثال ، لن تعمل العلامة -h). إما
--تحذير أو ال --حرج يجب إعطاء الخيار ، ولكن ليس كلاهما. قيمة كل واحد
معرف الكتلة ، قيمة عددية. يمكنك الركض باستخدام "--critical = 0" الخاص
خيار لمعرفة معرف الكتلة الحالي.

مثال 1: ابحث عن المعرف الأولي

check_postgres_cluster_id --critical = 0 --datadir = / var // lib / postgresql / 9.0 / main

مثال 2: تأكد من أن المجموعة هي نفسها وحذر إذا لم يكن كذلك ، باستخدام النتيجة الواردة أعلاه.

check_postgres_cluster_id - حرجة = 5633695740047915135

بالنسبة لإخراج MRTG ، يتم إرجاع 1 أو 0 للإشارة إلى نجاح فشل المعرف إلى
تطابق. يجب توفير المعرف كوسيطة "--mrtg". السطر الرابع دائما
يعطي المعرف الحالي.

الالتزام
("symlink: check_postgres_commitratio") يتحقق من نسبة الالتزام لجميع قواعد البيانات و
يشكو عندما تكون منخفضة للغاية. ليست هناك حاجة لتشغيل هذا الأمر أكثر من مرة في كل
كتلة قاعدة البيانات. يمكن تصفية قواعد البيانات بامتداد --يشمل - استثناء والخيارات. يرى
قسم "التصفية الأساسية" لمزيد من التفاصيل. يمكن أيضًا تصفيتها بواسطة مالك
قاعدة البيانات مع - بما في ذلك المستخدم - استبعاد المستخدم والخيارات. انظر "اسم المستخدم
قسم التصفية "لمزيد من التفاصيل.

يجب تحديد الخيارات التحذيرية والحرجة كنسب مئوية. لا يوجد
الافتراضات لهذا الإجراء: يجب تحديد التحذير والحرجة. قيمة التحذير
لا يمكن أن تكون أكبر من القيمة الحرجة. الناتج يعيد جميع قواعد البيانات مرتبة حسب
الالتزام ، الأصغر أولاً.

مثال: تحذير إذا كانت أي قاعدة بيانات في علامة المضيف أقل من 90٪ في الالتزام ، وحاسمة
إذا كان أقل من 80٪.

check_postgres_database_commitratio --host = flagg - تحذير = '90٪ '- Critical = '80٪'

بالنسبة لمخرجات MRTG ، تُرجع النسبة المئوية لقاعدة البيانات التي بها التزام أصغر
السطر الأول واسم قاعدة البيانات في السطر الرابع.

صلة
("symlink: check_postgres_connection") ببساطة يتصل ويصدر "SELECT إصدار()
أوراق. لا يأخذ --تحذير or --حرج خيارات.

بالنسبة لمخرج MRTG ، يقوم ببساطة بإخراج 1 (اتصال جيد) أو 0 (اتصال سيئ) في الأول
الخط.

استعلام_مخصص
("symlink: check_postgres_custom_query") تشغيل استعلام مخصص من اختيارك ، ويوزع
النتائج. يتم تمرير الاستعلام نفسه من خلال وسيطة "الاستعلام" ، ويجب أن يكون كذلك
أبقى بسيطًا قدر الإمكان. إذا كان ذلك ممكنًا ، فلفه في عرض أو وظيفة يجب الاحتفاظ بها
الأمور أسهل في إدارتها. يجب أن يقوم الاستعلام بإرجاع عمود أو عمودين. مطلوب ذلك
أحد الأعمدة يسمى "نتيجة" وهو العنصر الذي سيتم التحقق منه مقابل
القيم التحذيرية والحرجة. العمود الثاني لبيانات الأداء وأي اسم
يمكن استخدامها: ستكون هذه "القيمة" داخل قسم بيانات الأداء.

يجب تحديد تحذير أو حجة حاسمة واحدة على الأقل. ما يتم تعيين هذه له يعتمد
على نوع الاستعلام الذي تقوم بتشغيله. هناك أربعة أنواع من الاستعلامات_المخصصة التي يمكن إجراؤها
run ، المحدد بواسطة الوسيطة "valtype". إذا لم يتم تحديد أي شيء ، فسيتم تعيين هذا الإجراء افتراضيًا على
'عدد صحيح'. الأنواع الأربعة هي:

عدد صحيح: هل بسيط مقارنة عدد صحيح. يجب أن يكون العمود الأول عددًا صحيحًا بسيطًا ،
ويجب أن تكون القيم التحذيرية والحرجة هي نفسها.

سلسلة: التحذير والحرجة عبارة عن سلاسل ، ولا يتم تشغيلهما إلا إذا كانت القيمة في
العمود الأول يطابقها تمامًا. هذا حساس لحالة الأحرف.

الوقت : التحذير والحرج أوقات ، ويمكن أن تحتوي على وحدات من الثواني والدقائق ،
ساعات أو أيام. يمكن كتابة كل منها بمفردها أو اختصارها إلى الحرف الأول فقط. لو
لا توجد وحدات معطاة ، يفترض وجود ثواني. يجب أن يكون العمود الأول عددًا صحيحًا
يمثل عدد الثواني للتحقق.

المقاس: التحذير والحرج هما الأحجام ، ويمكن أن تحتوي على وحدات بايت ، كيلو بايت ،
ميغا بايت أو جيجابايت أو تيرابايت أو إكسابايت. يمكن اختصار كل منها إلى الحرف الأول.
إذا لم يتم إعطاء أي وحدات ، فسيتم افتراض البايت. يجب أن يكون العمود الأول عددًا صحيحًا
يمثل عدد البايت المطلوب التحقق منه.

عادة ، يتم تشغيل تنبيه إذا كانت القيم التي تم إرجاعها هي أكبر من أو يساوي
قيمة حرجة أو تحذيرية. ومع ذلك ، فإن خيار --يعكس سيطلق التنبيه إذا كان
القيمة المعادة هي خفض من أو يساوي القيمة الحرجة أو التحذيرية.

مثال 1: تحذير إذا كانت هناك علاقة تزيد عن 100 صفحة باسم "rad" ، ضع عدد الصفحات
داخل قسم بيانات الأداء.

check_postgres_custom_query --valtype = سلسلة -w "rad" - استعلام =
"SELECT relname AS result ، relpages as pages from pg_class حيث relpages> 100"

مثال 2: أعط قيمة حاسمة إذا كانت الدالة "foobar" تعرض رقمًا يزيد عن 5 ميغا بايت:

check_postgres_custom_query - حرجة = '5 ميجا بايت' - نوع القيمة = الحجم - الاستعلام = "SELECT foobar () AS نتيجة"

مثال 2: تحذير إذا كانت الدالة "snazzo" تعرض أقل من 42:

check_postgres_custom_query --critical = 42 --query = "SELECT snazzo () AS نتيجة" - عكسي

إذا توصلت إلى استعلام custom_query مفيد ، ففكر في إرسال تصحيح لهذا البرنامج إلى
تحويله إلى إجراء قياسي يمكن للآخرين استخدامه.

لا يدعم هذا الإجراء MRTG أو الإخراج البسيط حتى الآن.

حجم_قاعدة البيانات
("symlink: check_postgres_database_size") للتحقق من حجم جميع قواعد البيانات والشكاوى
عندما تكون كبيرة جدًا. ليست هناك حاجة لتشغيل هذا الأمر أكثر من مرة لكل قاعدة بيانات
العنقودية. يمكن تصفية قواعد البيانات بامتداد --يشمل - استثناء والخيارات. انظر
قسم "التصفية الأساسية" لمزيد من التفاصيل. يمكن أيضًا تصفيتها بواسطة مالك
قاعدة البيانات مع - بما في ذلك المستخدم - استبعاد المستخدم والخيارات. راجع "تصفية اسم المستخدم"
القسم لمزيد من التفاصيل.

يمكن تحديد خيارات التحذير والحرجة على أنها بايت ، كيلو بايت ، ميغا بايت ،
جيجابايت أو تيرابايت أو إكسابايت. يمكن اختصار كل منها إلى الحرف الأول أيضًا.
إذا لم يتم إعطاء أي وحدة ، فيفترض أن تكون الوحدات بايت. لا توجد افتراضات لهذا
الإجراء: يجب تحديد التحذير والحاسم. لا يمكن أن تكون قيمة التحذير أكبر
من القيمة الحرجة. يُرجع الإخراج جميع قواعد البيانات مرتبة حسب الحجم الأكبر أولاً ،
عرض كل من وحدات البايت الأولية ونسخة "جميلة" من الحجم.

مثال 1: تحذير إذا كان حجم أي قاعدة بيانات على علامة المضيف يزيد عن 1 تيرابايت ، وهي مهمة في حالة تجاوزها
1.1 TB.

check_postgres_database_size --host = flagg - warning = '1 TB' - Critical = '1.1 t'

مثال 2: أعطِ أمرًا هامًا إذا كان قالب قاعدة البيانات 1 على المنفذ 5432 يزيد عن 10 ميغابايت.

check_postgres_database_size --port = 5432 --include = template1 - warning = '10MB' --critical = '10MB'

مثال 3: أعط تحذيرًا إذا انتهت أي قاعدة بيانات على المضيف "tardis" المملوكة للمستخدم "tom"
5 جيجا بايت

check_postgres_database_size --host = tardis --includeuser = tom - warning = '5 GB' --critical = '10 GB '

لإخراج MRTG ، تُرجع الحجم بالبايت لأكبر قاعدة بيانات في السطر الأول ، و
اسم قاعدة البيانات في السطر الرابع.

dbstats
("symlink: check_postgres_dbstats") تقارير المعلومات من عرض pg_stat_database ،
ويخرجها بطريقة صديقة للصبار. لا يتم دعم أي مخرجات أخرى ، مثل الإخراج
معلوماتية ولا تصلح للتنبيهات ، مثل استخدامها مع Nagios. إذا لم يكن هناك خيارات
يتم توفيرها ، يتم إرجاع جميع قواعد البيانات ، واحدة لكل سطر. يمكنك تضمين قاعدة بيانات محددة
باستخدام خيار "تضمين" ، أو يمكنك استخدام خيار "--dbname".

يتم إرجاع أحد عشر عنصرًا في كل سطر ، باسم التنسيق: القيمة ، مفصولة بمفردها
فضاء. العناصر هي:

الخلفيات
عدد الخلفيات التي يتم تشغيلها حاليًا لقاعدة البيانات هذه.

يرتكب
إجمالي عدد عمليات الالتزام لقاعدة البيانات هذه منذ إنشائها أو إعادة تعيينها.

التراجع
العدد الإجمالي لعمليات التراجع لقاعدة البيانات هذه منذ إنشائها أو إعادة تعيينها.

اقرأ
إجمالي عدد كتل القرص التي تمت قراءتها.

ضرب العدد الإجمالي لضربات المخزن المؤقت.

ret إجمالي عدد الصفوف التي تم إرجاعها.

جلب
العدد الإجمالي للصفوف التي تم جلبها.

ins العدد الإجمالي للصفوف المدرجة.

تحديث العدد الإجمالي للصفوف التي تم تحديثها.

del إجمالي عدد الصفوف المحذوفة.

com.dbname
اسم قاعدة البيانات.

لاحظ أن إعادة العناصر وإحضارها وإضافتها وتحديثها وحذفها ستكون دائمًا 0 إذا كان Postgres هو الإصدار 8.2
أو أقل ، لأن هذه الإحصائيات لم تكن متوفرة في تلك الإصدارات.

إذا تم تقديم وسيطة dbname ، فسيتم إرجاع سبعة عناصر إضافية:

com.idxscan
إجمالي عدد عمليات مسح فهرس المستخدم.

com.idxtupread
تم إرجاع العدد الإجمالي لإدخالات فهرس المستخدم.

com.idxtupfetch
إجمالي عدد الصفوف التي تم جلبها بواسطة عمليات المسح البسيطة لفهرس المستخدم.

idxblksread
إجمالي عدد كتل القرص المقروءة لكافة فهارس المستخدم.

idxblkshit
إجمالي عدد مرات الدخول إلى المخزن المؤقت لكافة فهارس المستخدم.

com.seqscan
إجمالي عدد عمليات المسح المتسلسلة مقابل كافة جداول المستخدم.

com.seqtupread
إجمالي عدد المجموعات التي تم إرجاعها من كافة جداول المستخدم.

مثال 1: احصل على الإحصائيات الخاصة بقاعدة بيانات باسم "المنتجات" على المضيف "الصفصاف":

check_postgres_dbstats --dbhost الصفصاف - منتجات dbname

سيكون الإخراج الناتج على هذا النحو (الكل في سطر واحد ، وليس ملفوفًا):

الخلفية: 82 ارتباطات: 58374408 التراجع: 1651 قراءة: 268435543 ضرب: 2920381758 idxscan: 310931294 idxtupread: 2777040927
idxtupfetch: 1840241349 idxblksread: 62860110 idxblkshit: 1107812216 seqscan: 5085305 seq
ret: 0 fetch: 0 ins: 0 upd: 0 del: 0 dbname: willow

المحرّكات المعطّلة
("symlink: check_postgres_disabled_triggers") يتحقق من عدد المشغلات المعطلة
داخل قاعدة البيانات. ال --تحذير --حرج الخيارات هي عدد هذه المشغلات
تم العثور عليها ، وكلاهما افتراضي على "1" ، كما هو الحال في الاستخدام العادي ، يعد تعطيل المشغلات أمرًا خطيرًا
حدث. إذا كانت قاعدة البيانات التي يتم فحصها 8.3 أو أعلى ، فسيتم التحقق من عدد
المشغلات التي تكون في حالة "معطل" (على عكس "دائمًا" أو "نسخة متماثلة"). ال
سيظهر الإخراج اسم الجدول واسم المشغل لكل معطل
اثار.

مثال 1: تأكد من عدم وجود مشغلات معطلة

check_postgres_disabled_triggers

بالنسبة لإخراج MRTG ، يتم إرجاع عدد المشغلات المعطلة في السطر الأول.

مساحة القرص
("symlink: check_postgres_disk_space") يتحقق من مساحة القرص الفعلية المتوفرة التي يستخدمها
بوستجرس. يتطلب هذا الإجراء أن يكون لديك الملف القابل للتنفيذ "/ بن / مدافعالمتاحة للإبلاغ
على أحجام القرص ، كما يجب تشغيله كمستخدم متميز ، حتى يتمكن من فحص ملف
دليل البيانات الإعداد داخل Postgres. ال --تحذير --حرج يتم إعطاء الخيارات
في أي من الأحجام أو النسب المئوية أو كليهما. في حالة استخدام الأحجام ، تكون أنواع الوحدات القياسية هي
المسموح بها: بايت أو كيلو بايت أو جيجابايت أو ميغا بايت أو جيجابايت أو تيرابايت أو إكسابايت. كل
يمكن اختصارها إلى الحرف الأول فقط ؛ لا توجد وحدات على الإطلاق تشير إلى "بايت". ال
القيم الافتراضية هي "90٪" و "95٪".

يتحقق هذا الأمر من الأشياء التالية لتحديد كافة الأقراص المادية المختلفة
تستخدمه Postgres.

دليل البيانات - القرص الذي يوجد به دليل البيانات الرئيسي.

سجل دليل - القرص الذي توجد عليه ملفات السجل.

WAL ملف دليل - القرص الذي توجد عليه سجلات الكتابة المسبقة (مثل pg_xlog المرتبط بالرمز)

المساحات - كل طاولة على قرص منفصل.

يوضح الإخراج الحجم الإجمالي المستخدم والمتاح على كل قرص ، بالإضافة إلى ملف
النسبة المئوية ، مرتبة من أعلى إلى أدنى نسبة مستخدمة. كل عنصر فوق تعيين ملف
النظام: يمكن تضمينها أو استبعادها. راجع قسم "التصفية الأساسية" للمزيد
تفاصيل.

مثال 1: تأكد من عدم وجود نظام ملفات يزيد عن 90٪ لقاعدة البيانات الموجودة على المنفذ 5432.

check_postgres_disk_space - المنفذ = 5432 - تحذير = '90٪ '- حرج = '90٪'

مثال 2: تحقق من أن جميع أنظمة الملفات التي تبدأ بـ / dev / sda أصغر من 10 جيجابايت وأنظمة
11 جيجا بايت (تحذير وحاسم)

check_postgres_disk_space --port = 5432 - تحذير = '10 غيغابايت '- حرجة = '11 غيغابايت' - تتضمن = "~ ^ / dev / sda"

مثال 4: تأكد من عدم وجود نظام ملفات يزيد عن 50٪ لديه أكثر من 15 غيغابايت

check_postgres_disk_space - حرجة = '50٪ و 15 جيجا بايت '

مثال 5: قم بإصدار تحذير إذا كان أي نظام ملفات ممتلئ بنسبة 70٪ or لديه أكثر من 1T

check_postgres_disk_space - تحذير = '1T أو 75'

بالنسبة لإخراج MRTG ، يتم إرجاع الحجم بالبايت الخاص بنظام الملفات في السطر الأول ، ويتم إرجاع ملف
اسم نظام الملفات في السطر الرابع.

fsm_pages
("symlink: check_postgres_fsm_pages") للتحقق من مدى قرب الكتلة من Postgres
max_fsm_pages ضبط. هذا الإجراء سوف يعمل فقط لقواعد البيانات من 8.2 أو أعلى ، وهو
يتطلب وحدة المساهم pg_freespacemap يتم تثبيتها. ال --تحذير --حرج
يجب التعبير عن الخيارات كنسب مئوية. عدد الصفحات المستخدمة في خريطة المساحة الحرة
يتم تحديده من خلال النظر في طريقة العرض pg_freespacemap_relations وتشغيل صيغة
استنادًا إلى الصيغة المستخدمة لإخراج أجزاء صفحات خريطة المساحة الخالية في الفراغ المطول
أمر. القيم الافتراضية هي 85% للتحذير و 95% للحرجة.

مثال 1: أعط تحذيرًا عندما تستخدم مجموعتنا 76٪ من مساحات الصفحات الخالية ،
مع pg_freespacemap المثبتة في قاعدة بيانات روبرت

check_postgres_fsm_pages --dbname = روبرت - تحذير = "76٪"

بينما تحتاج إلى تمرير اسم قاعدة البيانات حيث تم تثبيت pg_freespacemap ، فأنت
تحتاج فقط إلى تشغيل هذا الفحص مرة واحدة لكل مجموعة. أيضا ، التحقق من هذه المعلومات لا يتطلب
الحصول على أقفال خاصة على خريطة المساحة الحرة ، لذا يوصى بعدم تشغيل هذا
تحقق مع فترات قصيرة.

لإخراج MRTG ، تُرجع النسبة المئوية لخريطة المساحة الحرة في السطر الأول والرقم
من الصفحات المستخدمة حاليًا في السطر الثاني.

fsm_relations
("symlink: check_postgres_fsm_relations") للتحقق من مدى قرب الكتلة من Postgres
max_fsm_relations ضبط. سيعمل هذا الإجراء فقط مع قواعد بيانات 8.2 أو أعلى ، و
يتطلب وحدة المساهم pg_freespacemap يتم تثبيتها. ال --تحذير --حرج
يجب التعبير عن الخيارات كنسب مئوية. عدد العلاقات المستخدمة في Free-
يتم تحديد خريطة الفضاء من خلال النظر في طريقة عرض pg_freespacemap_relations. الافتراضي
القيم هي 85% للتحذير و 95% للحرجة.

مثال 1: أعط تحذيرًا عندما تستخدم مجموعتنا 80٪ من علاقات المساحة الحرة ،
مع pg_freespacemap المثبتة في قاعدة البيانات dylan

check_postgres_fsm_relations --dbname = ديلان - تحذير = "75٪"

بينما تحتاج إلى تمرير اسم قاعدة البيانات حيث تم تثبيت pg_freespacemap ، فأنت
تحتاج فقط إلى تشغيل هذا الفحص مرة واحدة لكل مجموعة. أيضا ، التحقق من هذه المعلومات لا يتطلب
الحصول على أقفال خاصة على خريطة المساحة الحرة ، لذا يوصى بعدم تشغيل هذا
تحقق مع فترات قصيرة.

لإخراج MRTG ، تُرجع النسبة المئوية لخريطة المساحة الحرة في السطر الأول ، رقم
العلاقات المستخدمة حاليا في السطر الثاني.

نسبة عدد مرات الدخول
("symlink: check_postgres_hitratio") للتحقق من نسبة الدخول لجميع قواعد البيانات والشكاوى
عندما تكون منخفضة للغاية. ليست هناك حاجة لتشغيل هذا الأمر أكثر من مرة لكل قاعدة بيانات
العنقودية. يمكن تصفية قواعد البيانات بامتداد --يشمل - استثناء والخيارات. انظر
قسم "التصفية الأساسية" لمزيد من التفاصيل. يمكن أيضًا تصفيتها بواسطة مالك
قاعدة البيانات مع - بما في ذلك المستخدم - استبعاد المستخدم والخيارات. راجع "تصفية اسم المستخدم"
القسم لمزيد من التفاصيل.

يجب تحديد الخيارات التحذيرية والحرجة كنسب مئوية. لا يوجد
الافتراضات لهذا الإجراء: يجب تحديد التحذير والحرجة. قيمة التحذير
لا يمكن أن تكون أكبر من القيمة الحرجة. الناتج يعيد جميع قواعد البيانات مرتبة حسب
hitratio ، الأصغر أولا.

مثال: تحذير إذا كانت أي قاعدة بيانات على علامة المضيف أقل من 90٪ في Hitratio ، وحاسمة إذا
أقل من 80٪.

check_postgres_hitratio --host = flagg - warning = '90٪ '- Critical = '80٪'

بالنسبة لمخرجات MRTG ، تُرجع النسبة المئوية لقاعدة البيانات التي تحتوي على أصغر نتيجة في ملف
السطر الأول واسم قاعدة البيانات في السطر الرابع.

hot_standby_delay
("symlink: check_hot_standby_delay") يتحقق من تأخر النسخ المتماثل للدفق عن طريق حساب
دلتا بين موقع xlog الحالي لخادم رئيسي وموقع إعادة تشغيل ملف
العبد متصل بها. يجب أن يكون الخادم التابع في وضع الاستعداد السريع (على سبيل المثال للقراءة فقط) ،
لذلك فإن الإصدار الأدنى لاستخدام هذا الإجراء هو Postgres 9.0. ال --تحذير
--حرج الخيارات هي دلتا بين مواقع xlog. لأن هذه القيم هي بايت
يجب أن تتطابق عمليات الإزاحة في WAL مع حجم المعاملات المتوقع لتطبيقك
لمنع الإيجابيات أو السلبيات الكاذبة.

تعتبر الخيارات الأولى "--dbname" و "--host" و "--port" وما إلى ذلك هي الخيارات الرئيسية ؛ ال
الثاني ينتمي إلى العبد.

يجب أن تستند قيم البايت إلى حجم المعاملات اللازمة للتدفق
قطع الاتصال النسخ المتماثل من السيد بسبب الكثير من التأخير ، التي تحددها Postgres
متغير التكوين wal_keep_segments. بالنسبة للوحدات الزمنية ، الوحدات الصالحة هي "ثواني" ،
"دقائق" أو "ساعات" أو "أيام". يمكن كتابة كل منها بمفردها أو اختصارها إلى فقط
الرسالة الأولى. عند تحديد كليهما ، في النموذج "بايت الوقت '، يجب أن يكون كلا الشرطين
صحيح بالنسبة للعتبة التي يتعين الوفاء بها.

يجب عليك تقديم معلومات حول كيفية الوصول إلى قواعد البيانات من خلال توفير فاصلة مفصولة
قائمة بالمعلمات --dbhost و --dbport ، مثل "--dbport = 5432,5543،XNUMX". إذا لم تعط ،
فشل العمل.

مثال 1: تحذير قاعدة بيانات بها نسخة متماثلة محلية على المنفذ 5433 متأخرة في أي إعادة تشغيل لـ xlog
في جميع

check_hot_standby_delay --dbport = 5432,5433،1 - تحذير = 'XNUMX'

المثال 2: أعط قيمة حرجة إذا كانت النسخة المتماثلة الأخيرة للمعاملة أكثر من 1
دقائق مضت

check_hot_standby_delay --dbhost = رئيسي ، نسخة طبق الأصل 1 - حرجة = '10 دقيقة '

مثال 3: السماح للنسخة المتماثلة 1 بأن تكون قطعة WAL واحدة في الخلف ، إذا كان السيد يرى للحظات
نشاط أكثر مما يمكن لاتصال النسخ المتماثل المتدفق أن يتعامل معه ، أو يتأخر 10 دقائق ،
إذا كان السيد يرى نشاطًا ضئيلًا جدًا ولا يعالج أي معاملات ، ولكن لا
كلاهما ، مما يشير إلى مشكلة دائمة في اتصال النسخ المتماثل.

check_hot_standby_delay --dbhost = رئيسي ، نسخة طبق الأصل 1 - تحذير = '1048576 و 2 دقيقة' - حرجة = '16777216 و 10 دقائق'

Index_size
حجم الجدول
العلاقة_ الحجم
(روابط الرموز: "check_postgres_index_size" ، "check_postgres_table_size" ، و
"check_postgres_relation_size") الإجراءات حجم الجدول Index_size هي ببساطة
اختلافات العلاقة_ الحجم الإجراء ، الذي يتحقق من وجود علاقة نمت أيضًا
كبير. يمكن تصفية العلاقات (بمعنى آخر ، الجداول والفهارس) بامتداد --يشمل
- استثناء والخيارات. راجع قسم "التصفية الأساسية" للحصول على مزيد من التفاصيل. يمكن للعلاقات
يتم تصفيتها أيضًا من قِبل المستخدم الذي يمتلكها ، باستخدام ملف - بما في ذلك المستخدم - استبعاد المستخدم
والخيارات. راجع قسم "تصفية اسم المستخدم" للحصول على مزيد من التفاصيل.

قيم --تحذير --حرج الخيارات هي أحجام الملفات ، وقد تحتوي على وحدات من
بايت أو كيلوبايت أو ميجابايت أو جيجابايت أو تيرابايت أو إكسابايت. يمكن اختصار كل منها
إلى الحرف الأول. إذا لم يتم إعطاء أي وحدات ، فسيتم افتراض البايت. لا يوجد تقصير
القيم: يجب إعطاء كل من التحذير والخيار الحرج. يظهر نص الإرجاع ملف
حجم أكبر علاقة تم العثور عليها.

إذا كان - شووبرف الخيار ممكّن ، الكل سيتم إعطاء العلاقات مع أحجامها.
لمنع ذلك ، يوصى بضبط ملف - حدود الخيار الذي سوف يسبب
طلب البحث لإجراء "ORDER BY size DESC LIMIT (perflimit)".

مثال 1: أعط جدولاً هامًا إذا كان أي جدول أكبر من 600 ميغا بايت على بوريك المضيف.

check_postgres_table_size --critical = '600 MB' - تحذير = '600 MB' --host = burrick

مثال 2: تحذير إذا كان حجم منتجات الطاولة أكبر من 4 جيجا بايت ، وقم بإعطاء قيمة حرجة عند 4.5 جيجا بايت.

check_postgres_table_size --host = burrick - warning = '4 GB' - Critical = '4.5 GB' --include = products

مثال 3: تحذير إذا تجاوز أي فهرس لا تملكه postgres 500 ميجابايت.

check_postgres_index_size --port = 5432 --excludeuser = postgres -w 500MB -c 600MB

لإخراج MRTG ، تُرجع الحجم بالبايت لأكبر علاقة ، واسم
قاعدة البيانات والعلاقة باعتبارها السطر الرابع.

التحليل الأخير
الفراغ الأخير
التحليل التلقائي الأخير
الفراغ الأخير
(الروابط الرمزية: "check_postgres_last_analyze" ، "check_postgres_last_vacuum" ،
"check_postgres_last_autoanalyze" و "check_postgres_last_autovacuum") يتحقق من المدة
لقد كان منذ أن تم تشغيل الفراغ (أو التحليل) آخر مرة على كل جدول في قاعدة بيانات واحدة أو أكثر.
يتطلب استخدام هذه الإجراءات أن تكون قاعدة البيانات الهدف هي الإصدار 8.3 أو أحدث ، أو ما إلى ذلك
الإصدار 8.2 ومتغير التكوين stats_row_level تم تمكين. الجداول
يمكن تصفيتها مع --يشمل - استثناء والخيارات. راجع "التصفية الأساسية"
لمزيد من التفاصيل. يمكن أيضًا تصفية الجداول بواسطة مالكها باستخدام ملف
- بما في ذلك المستخدم - استبعاد المستخدم والخيارات. راجع قسم "تصفية اسم المستخدم" لمزيد من المعلومات
تفاصيل.

الوحدات الخاصة بـ --تحذير --حرج على أنها مرات. الوحدات الصالحة هي ثواني ،
دقائق وساعات وأيام ؛ يمكن اختصار الكل إلى الحرف الأول. إذا لم تكن هناك وحدات
معطى ، يفترض "ثواني". القيمتان الافتراضيتان هما "يوم واحد" و "يومان". يرجى الملاحظة
أن هناك حالات لا يتم فيها ملء هذا الحقل تلقائيًا. إذا كان مؤكدًا
تعطيك الجداول مشاكل ، تأكد من وجود صفوف ميتة للمكنسة الكهربائية ، أو فقط
استبعادهم من الاختبار.

تم استبعاد المخطط المسمى "information_schema" من هذا الاختبار ، حيث أنه يقوم بجداوله فقط
يحتوي على صغير ولا يتغير.

لاحظ أن الإصدارات غير التلقائية ستتحقق أيضًا من الإصدارات التلقائية أيضًا. في أخرى
الكلمات ، باستخدام الفراغ الأخير ، ستبلغ عن الفراغ الأخير ، سواء كان فراغًا عاديًا ،
أو واحد يتم تشغيله بواسطة برنامج autovacuum daemon.

مثال 1: تحذير إذا لم يتم تنظيف أي طاولة بالمكنسة الكهربائية خلال 3 أيام ، وأعطِ نقطة حرجة عند a
أسبوع ، لمضيفة الشيح

check_postgres_last_vacuum - مضيف = الشيح - تحذير = '3d' - حرج = '7d'

مثال 2: مثل ما ورد أعلاه ، ولكن تخطي الجداول التي تنتمي إلى "حواء" المستخدمين أو "مالوري"

check_postgres_last_vacuum - المضيف = الشيح - تحذير = '3d' - حرج = '7d' - استبعاد المستخدمين = حواء ، مالوري

بالنسبة لمخرجات MRTG ، تُرجع (في السطر الأول) أقل مقدار من الوقت بالثواني منذ a
الجدول تم شفطه أو تحليله آخر مرة. يعرض السطر الرابع اسم قاعدة البيانات و
اسم الجدول.

مستمع
("symlink: check_postgres_listener") تأكد من أن شخصًا ما يستمع لواحد أو أكثر
سلاسل محددة (باستخدام نظام LISTEN / NOTIFY) ، من خلال النظر إلى جدول pg_listener.
هناك حاجة إلى واحد فقط من الإنذار أو الحرجة. التنسيق عبارة عن سلسلة بسيطة تمثل ملف
هدف LISTEN ، أو حرف التلدة متبوعًا بسلسلة لفحص التعبير العادي.
لاحظ أن هذا الفحص لن يعمل على إصدارات Postgres 9.0 أو أعلى.

مثال 1: أعط تحذيرًا إذا لم يستمع أحد إلى السلسلة bucardo_mcp_ping على المنافذ
5555 و5556

check_postgres_listener --port = 5555,5556،XNUMX - تحذير = bucardo_mcp_ping

مثال 2: أعط أمرًا حاسمًا إذا لم تكن هناك طلبات LISTEN نشطة تطابق تشغيل "grimm"
قاعدة بيانات أوسكار

check_postgres_listener - دي بي أوسكار - حرجة = ~ جريم

بالنسبة لإخراج MRTG ، يتم إرجاع 1 أو 0 في الأول ، مما يشير إلى النجاح أو الفشل. الاسم
يجب تقديم الإشعار عبر - MRTG الخيار.

أقفال
("symlink: check_postgres_locks") تحقق من العدد الإجمالي للأقفال على واحد أو أكثر
قواعد بيانات. ليست هناك حاجة لتشغيل هذا أكثر من مرة لكل كتلة قاعدة بيانات. يمكن لقواعد البيانات
يتم تصفيتها مع --يشمل - استثناء والخيارات. راجع قسم "التصفية الأساسية"
لمزيد من التفاصيل.

تشير --تحذير --حرج يمكن تحديد الخيارات كأرقام بسيطة ، والتي تمثل
العدد الإجمالي للأقفال ، أو يمكن تقسيمها حسب نوع القفل. أسماء قفل صالحة
هي "إجمالي" أو "انتظار" أو اسم نوع قفل يستخدمه Postgres. هذه الأسماء
غير حساس لحالة الأحرف ولا تحتاج إلى جزء "القفل" في النهاية ، لذا الحصري سيطابق
"ExclusiveLock". التنسيق هو name = number ، مع عناصر مختلفة مفصولة بنقطتين أو
الفاصلة المنقوطة (أو أي رمز آخر).

مثال 1: تحذير إذا كان عدد الأقفال 100 أو أكثر ، وحرج إذا كان 200 أو أكثر ، قيد التشغيل
مضيف جاريت

check_postgres_locks --host = garrett - warning = 100 - حرجة = 200

مثال 2: على أرتيموس المضيف ، حذر من وجود 200 أو أكثر من الأقفال ، وقم بإعطاء علامة إذا حرجة
يوجد أكثر من 250 قفلًا إجماليًا ، أو في حالة وجود أكثر من 20 قفلًا خاصًا ، أو في حالة وجود أكثر من 5 اتصالات
ينتظرون قفل.

check_postgres_locks --host = artemus - warning = 200 --critical = "total = 250: انتظار = 5: حصري = 20"

بالنسبة لمخرجات MRTG ، تُرجع عدد الأقفال في السطر الأول واسم ملف
قاعدة البيانات في السطر الرابع.

ملف تسجيل
("symlink: check_postgres_logfile") يضمن أن ملف السجل في الموقع المتوقع
ويتم تسجيل الدخول إلى. يصدر هذا الإجراء أمرًا يلقي خطأً على كل منهما
قاعدة البيانات التي يتم فحصها ، والتأكد من ظهور الرسالة في السجلات. يقوم بمسح ملف
إعدادات log_ * مختلفة داخل Postgres لمعرفة مكان وجود السجلات. اذا أنت
تستخدم syslog ، فهي تقوم بمسح تقريبي (ولكن ليس مضمونًا) لـ /etc/syslog.conf.
بدلاً من ذلك ، يمكنك توفير اسم ملف السجل بامتداد --ملف تسجيل اختيار. هذا هو
مفيد بشكل خاص إذا كانت السجلات تحتوي على مخطط تناوب مخصص مدفوع ببرنامج خارجي.
تشير --ملف تسجيل يدعم الخيار أحرف الهروب التالية: "٪ Y٪ m٪ d٪ H" ، أي
تمثل السنة والشهر والتاريخ والساعة الحالية على التوالي. دائما الخطأ
تم الإبلاغ عنها كحرجة ما لم يتم تمرير خيار التحذير كقيمة غير صفرية.
بخلاف هذا الاستخدام المحدد ، يجب أن يكون الخياران "- تحذير" و "- حرج" ليس be
مستخدم.

مثال 1: في المنفذ 5432 ، تأكد من كتابة ملف السجل إلى الملف
/home/greg/pg8.2.log

check_postgres_logfile --port = 5432 --logfile = / home / greg / pg8.2.log

المثال 2: نفس ما ورد أعلاه ، لكن تحذيرًا ليس خطيرًا

check_postgres_logfile --port = 5432 --logfile = / home / greg / pg8.2.log -w 1

بالنسبة لإخراج MRTG ، يتم إرجاع 1 أو 0 في السطر الأول ، مما يشير إلى النجاح أو الفشل. في
في حالة الفشل ، سيوفر السطر الرابع مزيدًا من التفاصيل حول الفشل الذي تمت مواجهته.

الإصدار الجديد
("symlink: check_postgres_new_version_bc") للتحقق مما إذا كان إصدار أحدث من Bucardo
البرنامج متاح. يتم الحصول على الإصدار الحالي عن طريق تشغيل "bucardo_ctl --version".
في حالة توفر ترقية رئيسية ، يتم إرجاع تحذير. إذا كانت ترقية المراجعة
متاح ، يتم إرجاع حرجة. (إن بوكاردو سيد العبد ، وسيد السيطرة
نظام النسخ المتماثل لـ Postgres: انظر http://bucardo.org للمزيد من المعلومات). أنظر أيضا
المعلومات الموجودة على خيار "--get_method".

new_version_box
("symlink: check_postgres_new_version_box") للتحقق مما إذا كان إصدار أحدث من معلومات الصندوق
البرنامج متاح. يتم الحصول على الإصدار الحالي عن طريق تشغيل "boxinfo.pl --version".
في حالة توفر ترقية رئيسية ، يتم إرجاع تحذير. إذا كانت ترقية المراجعة
متاح ، يتم إرجاع حرجة. (boxinfo هو برنامج للاستيلاء على المهم
المعلومات من الخادم ووضعها في تنسيق HTML: انظر
http://bucardo.org/wiki/boxinfo للمزيد من المعلومات). انظر أيضا المعلومات الموجودة على
خيار "--get_method".

new_version_cp
("symlink: check_postgres_new_version_cp") للتحقق مما إذا كان هناك إصدار أحدث من هذا البرنامج
(check_postgres) متاح ، عن طريق الحصول على النسخة من ملف نصي صغير على الرئيسي
الصفحة الرئيسية للمشروع. إرجاع تحذير إذا كانت النسخة التي تم إرجاعها لا تفعل ذلك
تطابق الذي تقوم بتشغيله. الفاصل الزمني الموصى به للتحقق هو مرة واحدة في اليوم. انظر أيضا
معلومات عن خيار "--get_method".

new_version_pg
("symlink: check_postgres_new_version_pg") للتحقق من وجود نسخة أحدث من Postgres
لكل قاعدة بيانات متصلة بـ. لاحظ أن هذا يتحقق فقط من المراجعة ، على سبيل المثال الانتقال من
8.3.6 إلى 8.3.7. المراجعات متوافقة دائمًا مع النظام الثنائي بنسبة 100٪ ولا تتضمن تفريغ و
استعادة للترقية. يتم إجراء المراجعات لمعالجة الأخطاء ، لذا قم بالترقية في أسرع وقت ممكن
دائما موصى به. إرجاع تحذير إذا لم يكن لديك أحدث نسخة. إنها
يوصى بتشغيل هذا الفحص مرة واحدة على الأقل يوميًا. انظر أيضا المعلومات الموجودة على
خيار "--get_method".

new_version_tnm
("symlink: check_postgres_new_version_tnm") للتحقق مما إذا كان إصدار أحدث من tail_n_mail
البرنامج متاح. يتم الحصول على الإصدار الحالي عن طريق تشغيل "tail_n_mail --version".
في حالة توفر ترقية رئيسية ، يتم إرجاع تحذير. إذا كانت ترقية المراجعة
متاح ، يتم إرجاع حرجة. (إن tail_n_mail هي أداة لمراقبة السجلات يمكنها الإرسال
البريد عندما تظهر أحداث مثيرة للاهتمام في سجلات Postgres الخاصة بك. ارى:
http://bucardo.org/wiki/Tail_n_mail للمزيد من المعلومات). انظر أيضا المعلومات على
الخيار "--get_method".

pgb_pool_cl_active
pgb_pool_cl_waiting
pgb_pool_sv_active
pgb_pool_sv_idle
pgb_pool_sv_used
pgb_pool_sv_tested
pgb_pool_sv_login
pgb_pool_maxwait
(روابط الرموز: "check_postgres_pgb_pool_cl_active" ، "check_postgres_pgb_pool_cl_waiting" ،
"check_postgres_pgb_pool_sv_active" ، "check_postgres_pgb_pool_sv_idle" ،
"check_postgres_pgb_pool_sv_used" ، "check_postgres_pgb_pool_sv_tested" ،
"check_postgres_pgb_pool_sv_login" و "check_postgres_pgb_pool_maxwait")

يفحص إحصائيات تجمع pgbouncer. كل تجمع لديه مجموعة من اتصالات "العميل" ،
في اشارة الى اتصالات من عملاء خارجيين ، واتصالات "الخادم" ، في اشارة الى
اتصالات بـ PostgreSQL نفسها. إجراءات check_postgres ذات الصلة مسبوقة بـ "cl_"
و "sv_" على التوالي. اتصالات العميل النشطة هي تلك الاتصالات المرتبطة حاليًا
مع اتصال خادم نشط. قد تكون اتصالات العميل أيضًا "قيد الانتظار" ، مما يعني أنها
لم يتم تخصيص اتصال الخادم. اتصالات الخادم "نشطة" (مرتبطة
إلى عميل) ، "خامل" (جاهز للاتصال بعميل لربطه) ، "مستخدم" (فقط
غير مرتبط بعميل ، ولم يتم إرجاعه بعد إلى التجمع الخامل) ، "تم اختباره" (قيد الاختبار حاليًا
تم اختباره) و "تسجيل الدخول" (في عملية تسجيل الدخول). تُظهر قيمة maxwait مدة الانتظار
ثوانٍ كان ينتظر أقدم اتصال عميل منتظر.

pgbouncer_backends
("symlink: check_postgres_pgbouncer_backends") للتحقق من العدد الحالي للاتصالات
لواحد أو أكثر من قواعد البيانات من خلال pgbouncer ، ويقارنها اختياريًا بالحد الأقصى
مسموح به ، والذي يتم تحديده بواسطة متغير تكوين pgbouncer max_client_conn.
--تحذير --حرج يمكن أن تتخذ الخيارات واحدًا من ثلاثة أشكال. أولاً ، يمكن لرقم بسيط
يتم إعطاؤه ، والذي يمثل عدد الاتصالات التي سيتم إصدار التنبيه عندها.
هذا الاختيار لا يستخدم max_connections ضبط. الثانية ، النسبة المئوية المتاحة
يمكن إعطاء اتصالات. ثالثًا ، يمكن إعطاء رقم سالب يمثل
عدد الاتصالات المتبقية حتى max_connections تم الوصول إليه. القيم الافتراضية لـ
--تحذير --حرج هي "90٪" و "95٪". يمكنك أيضًا تصفية قواعد البيانات باستخدام
هيه --يشمل - استثناء والخيارات. راجع قسم "التصفية الأساسية" للحصول على مزيد من التفاصيل.

لعرض العمليات غير الخاملة فقط ، يمكنك استخدام ملحق - لا شيء جدال. لاحظ أن المستخدم أنت
يتم الاتصال كما يجب أن يكون مستخدمًا متميزًا حتى يعمل هذا بشكل صحيح.

مثال 1: أعط تحذيرًا عندما يصل عدد الاتصالات في شركة المضيف إلى 120 ، و a
حرج إذا وصل إلى 150.

check_postgres_pgbouncer_backends --host = quirm - warning = 120 - Critical = 150 -p 6432 -u pgbouncer

مثال 2: أعط أمرًا بالغ الأهمية عندما نصل إلى 75٪ من إعدادات max_connections الخاصة بنا على المضيفين
لانكر أو لانكر 2.

check_postgres_pgbouncer_backends - تحذير = '75٪ '- نقد = '75٪' - المضيف = لانكري ، لانكري 2 -p 6432 -u pgbouncer

مثال 3: أعط تحذيرًا عندما لا يتبقى سوى 10 فتحات اتصال أخرى على المضيف
البلازميد ، وحرجة عندما يتبقى لدينا 5 فقط.

check_postgres_pgbouncer_backends - warning = -10 - Critical = -5 --host = plasmid -p 6432 -u pgbouncer

بالنسبة لإخراج MRTG ، يتم الإبلاغ عن عدد الاتصالات في السطر الأول والرابع
يعطي السطر اسم قاعدة البيانات ، بالإضافة إلى max_client_conn الحالي. إذا كان هناك أكثر من واحد
تم الاستعلام عن قاعدة البيانات ، وكان الناتج هو الذي يحتوي على أكبر عدد من الاتصالات.

pgbouncer_checksum
("symlink: check_postgres_pgbouncer_checksum") يتحقق من أن جميع إعدادات pgBouncer
نفس آخر مرة راجعت فيها. يتم ذلك عن طريق إنشاء مجموع اختباري لقائمة مرتبة
لتحديد الأسماء وقيمها. لاحظ أنه لا يجب عليك تحديد اسم قاعدة البيانات
سوف تلقائيا إلى pgbouncer. إما --تحذير أو ال --حرج خيار
ولكن ليس كلاهما. قيمة كل واحد هو المجموع الاختباري ، 32 حرفًا
قيمة سداسية عشرية. يمكنك الركض باستخدام الخيار "--critical = 0" الخاص لمعرفة ملف
المجموع الاختباري الحالي.

يتطلب هذا الإجراء الوحدة النمطية Digest :: MD5.

مثال 1: ابحث عن المجموع الاختباري الأولي لتهيئة pgbouncer على المنفذ 6432 باستخدام
المستخدم الافتراضي (عادة postgres)

check_postgres_pgbouncer_checksum --port = 6432 - Critical = 0

مثال 2: تأكد من عدم تغيير أي إعدادات وتحذير إذا كان الأمر كذلك ، باستخدام المجموع الاختباري من
في الاعلى.

check_postgres_pgbouncer_checksum --port=6432 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

بالنسبة لإخراج MRTG ، يتم إرجاع 1 أو 0 للإشارة إلى نجاح فشل المجموع الاختباري في التطابق.
يجب توفير المجموع الاختباري كوسيطة "--mrtg". يعطي السطر الرابع دائمًا الامتداد
المجموع الاختباري الحالي.

pgagent_jobs
("symlink: check_postgres_pgagent_jobs") يتحقق من أن جميع وظائف pgAgent التي
تم تنفيذه في الفترة الزمنية السابقة بنجاح. يتم ذلك عن طريق التحقق من
أي خطوات لها نتيجة غير صفرية.

يمكن تحديد إما "- تحذير" أو "- حرجة" ، أو كليهما ، كأوقات ، وستكون الوظائف
التحقق من الإخفاقات في الفترات الزمنية المحددة قبل الوقت الحالي. صالح
الوحدات هي ثواني ودقائق وساعات وأيام ؛ يمكن اختصار الكل إلى الحرف الأول.
إذا لم يتم إعطاء أي وحدات ، فسيتم افتراض "الثواني".

مثال 1: أعط أهمية بالغة عندما تفشل أي مهمة تم تنفيذها في اليوم الأخير.

check_postgres_pgagent_jobs - حرجة = 1 يوم

مثال 2: أعط تحذيرًا عند فشل أي وظائف تم تنفيذها في الأسبوع الماضي.

check_postgres_pgagent_jobs - تحذير = 7 د

مثال 3: أعط أمرًا بالغ الأهمية للوظائف التي فشلت في آخر ساعتين وتحذير من
الوظائف التي فشلت في آخر 4 ساعات:

check_postgres_pgagent_jobs - حرجة = ساعتان - تحذير = 2 ساعات

جاهز
("symlink: check_postgres_prepared_txns") تحقق من عمر أي منتج جاهز
المعاملات. لاحظ أن معظم الأشخاص لن يستخدموا المعاملات المعدة ، لأنهم جزء منها
من جزأين الالتزام ومعقدة للحفاظ عليها. كما لا ينبغي الخلط بينها
البيانات المعدة ، وهو ما يفكر فيه معظم الناس عندما يسمعون الاستعداد. ال
القيمة الافتراضية للتحذير هي ثانية واحدة ، للكشف عن أي استخدام للمعاملات المعدة ، والتي
ربما يكون خطأ في معظم الأنظمة. عدد الثواني التحذيرية والحرجة أ
تم فتح المعاملة المعدة قبل إعطاء تنبيه.

مثال 1: أعط تحذيرًا عند اكتشاف أي معاملات معدة:

check_postgres_prepared_txns -w 0

مثال 2: أعط أمرًا هامًا إذا تم فتح أي معاملة معدة لفترة أطول من 10
ثوانٍ ، ولكن اترك حتى 360 ثانية لقاعدة البيانات "shrike":

check_postgres_prepared_txns --critical = 10 --exclude = shrike
check_postgres_prepared_txns --critical = 360 --include = shrike

بالنسبة لإخراج MRTG ، يتم إرجاع عدد الثواني التي تم فيها فتح المعاملة الأقدم على أنها
السطر الأول ، وقاعدة البيانات التي أتت من السطر الأخير.

query_runtime
("symlink: check_postgres_query_runtime") للتحقق من الوقت الذي يستغرقه تشغيل استعلام معين ،
من خلال تنفيذ "شرح تحليل" ضدها. ال --تحذير --حرج الخيارات هي
الحد الأقصى من الوقت الذي يجب أن يستغرقه الاستعلام. الوحدات الصالحة هي الثواني والدقائق والساعات ؛
يمكن اختصار أي منها إلى الحرف الأول. إذا لم يتم إعطاء أي وحدات ، فسيتم افتراض "الثواني".
يجب إعطاء كل من التحذير والخيار الحاسم. اسم العرض أو الوظيفة
ليتم تشغيلها يجب أن يتم تمريرها إلى --اسم الاستعلام اختيار. يجب أن تتكون من كلمة واحدة
(أو schema.word) ، مع أقواس اختيارية في النهاية.

مثال 1: أعط قيمة حاسمة إذا فشلت الوظيفة المسماة "speedtest" في التشغيل في 10 ثوانٍ أو
أقل.

check_postgres_query_runtime - اسم الاستعلام = 'speedtest ()' - حرجة = 10 - تحذير = 10

بالنسبة لإخراج MRTG ، يُعلن عن الوقت بالثواني لإكمال الاستعلام في السطر الأول.
السطر الرابع يسرد قاعدة البيانات.

وقت_الاستعلام
("symlink: check_postgres_query_time") للتحقق من طول طلبات البحث الجارية في واحد أو أكثر
قواعد بيانات. ليست هناك حاجة لتشغيل هذا أكثر من مرة على نفس كتلة قاعدة البيانات. ملحوظة
أن هذا يستبعد بالفعل الاستعلامات "الخاملة في المعاملة". يمكن أن تكون قواعد البيانات
تمت تصفيته باستخدام ملف --يشمل - استثناء والخيارات. راجع قسم "التصفية الأساسية"
لمزيد من التفاصيل. يمكنك أيضًا التصفية حسب المستخدم الذي يقوم بتشغيل الاستعلام بامتداد - بما في ذلك المستخدم
- استبعاد المستخدم والخيارات. راجع قسم "تصفية اسم المستخدم" للحصول على مزيد من التفاصيل.

قيم --تحذير --حرج الخيارات عبارة عن فترات زمنية ، والافتراضية إلى "2
دقيقة و 5 دقائق على التوالي. الوحدات الصالحة هي "ثواني" أو "دقائق" أو "ساعات" أو
'أيام'. يمكن كتابة كل منها بمفردها أو اختصارها إلى الحرف الأول فقط. إذا لم يكن هناك وحدات
عند إعطائها ، يُفترض أن تكون الوحدة ثوانٍ.

يتطلب هذا الإجراء Postgres 8.1 أو أفضل.

مثال 1: أعط تحذيرًا إذا كان أي استعلام يعمل لمدة أطول من 3 دقائق ، و a
حرجة إذا كانت أطول من 5 دقائق.

check_postgres_query_time --port = 5432 - تحذير = '3 دقائق' - حرجة = '5 دقائق'

مثال 2: باستخدام القيم الافتراضية (2 و 5 دقائق) ، تحقق من جميع قواعد البيانات باستثناء تلك
بدءًا من "النموذج".

check_postgres_query_time --port = 5432 --exclude = ~ ^ template

مثال 3: تحذير إذا كان لدى المستخدم استعلام يعمل لمدة تزيد عن 20 ثانية

check_postgres_query_time --port = 5432 --includeuser = don - warning = 20s

لإخراج MRTG ، تُرجع الطول بالثواني لأطول استعلام قيد التشغيل في الأول
خط. يعطي السطر الرابع اسم قاعدة البيانات.

تكرار_رو
("symlink: check_postgres_replicate_row") التحقق من عمل النسخ المتماثل الرئيسي والعبد
لعبد واحد أو أكثر.

تعتبر الخيارات الأولى "--dbname" و "--host" و "--port" وما إلى ذلك هي الخيارات الرئيسية ؛
الاستخدامات اللاحقة هي العبيد. القيم أو --تحذير --حرج الخيارات
من الوحدات الزمنية ، ويجب توفير وحدة واحدة على الأقل (بدون قيم افتراضية). الوحدات الصالحة هي "ثواني" ،
"دقائق" أو "ساعات" أو "أيام". يمكن كتابة كل منها بمفردها أو اختصارها إلى فقط
الرسالة الأولى. إذا لم يتم إعطاء أي وحدات ، فمن المفترض أن تكون الوحدات ثوان.

يقوم هذا الفحص بتحديث صف واحد على الشريحة الرئيسية ، ثم يقيس المدة التي يستغرقها ذلك
تطبق على العبيد. للقيام بذلك ، تحتاج إلى اختيار جدول يتم نسخه ، بعد ذلك
ابحث عن صف يمكن تغييره ، ولن يتم تغييره بأي عملية أخرى. أ
سيتم تغيير عمود معين من هذا الصف من قيمة إلى أخرى. يتم تغذية كل هذا
إلى خيار "repinfo" ، ويجب أن تحتوي على الخيارات التالية ، مفصولة بفواصل:
اسم الجدول ، المفتاح الأساسي ، معرف المفتاح ، العمود ، القيمة الأولى ، القيمة الثانية.

مثال 1: يقوم Slony بتكرار جدول باسم "الطلبات" من المضيف "alpha" إلى المضيف "beta" ،
في "مبيعات" قاعدة البيانات. المفتاح الأساسي للجدول يسمى id ، وسنقوم بذلك
اختبر الصف بمعرف 3 (وهو أمر تاريخي ولم يتغير أبدًا). يوجد عمود
المسماة "salesrep" والتي سنقوم بالتبديل من قيمة "slon" إلى "nols" للتحقق منها
النسخ المتماثل. نريد توجيه تحذير إذا لم يحدث النسخ في غضون 10
ثواني.

check_postgres_replicate_row - المضيف = alpha --dbname = sales --host = beta
--dbname = المبيعات - تحذير = 10 - معلومات الإصلاح = الطلبات ، المعرف ، 3 ، salesrep ، slon ، nols

مثال 2: يقوم بوكاردو بتكرار جدول باسم "الإيصال" من المضيف "الأخضر" إلى المضيفين
"أحمر" و "أزرق" و "أصفر". قاعدة البيانات لكلا الجانبين "عامة". قواعد بيانات الرقيق
تعمل على المنفذ 5455. يسمى المفتاح الأساسي "إيصال_إيصال" ، الصف الذي نريد استخدامه
بقيمة 9 ، والعمود الذي نريد تغييره للاختبار يسمى "المنطقة". حسنا
قم بالتبديل بين "الشمال" و "الجنوب" لقيمة هذا العمود ، ورمي علامة if الحرجة
التغيير ليس على جميع العبيد الثلاثة في غضون 5 ثوانٍ.

check_postgres_replicate_row - المضيف = أخضر - المنفذ = 5455 - المضيف = أحمر ، أزرق ، أصفر
- الحرجة = 5 - معلومات الإصلاح = الاستلام ، معرّف الاستلام ، 9 ، المنطقة ، الشمال ، الجنوب

بالنسبة لإخراج MRTG ، يتم إرجاع الوقت الذي يستغرقه النسخ المتماثل في السطر الأول بالثواني
ينهي. يتم تعيين الحد الأقصى للوقت على 4 دقائق و 30 ثانية: إذا لم يتم النسخ المتماثل
مكان في ذلك الوقت الطويل ، تم إلقاء خطأ.

نفس المخطط
("symlink: check_postgres_same_schema") التحقق من تطابق قاعدتي بيانات أو أكثر
بقدر مخططهم (ولكن ليس البيانات الموجودة داخله). هذا مفيد بشكل خاص لصنع
تأكد من أن عبيدك لم يتم تعديلهم أو إتلافهم بأي شكل من الأشكال عند استخدام السيد للعبيد
تكرار. على عكس معظم الإجراءات الأخرى ، فإن هذا ليس له تحذير أو معايير حرجة - ال
قواعد البيانات إما متزامنة أو ليست كذلك. إذا كانت مختلفة ، قائمة مفصلة ب
يتم عرض الاختلافات.

قد ترغب في استبعاد أو تصفية بعض الاختلافات. طريقة القيام بذلك هي إضافة
سلاسل إلى خيار "التصفية". لاستبعاد نوع كائن ، استخدم "noname" ، حيث "name"
هو نوع الكائن ، على سبيل المثال ، "noschema". لاستبعاد كائنات من نوع معين بواسطة ملف
تعبير عادي مقابل أسمائهم ، استخدم "noname = regex". انظر الأمثلة أدناه للحصول على
فهم أفضل.

تشمل أنواع الكائنات التي يمكن تصفيتها ما يلي:

المستخدم
مخطط
جدول
عرض
مؤشر
تسلسل
قيود
يثير
وظيفة

يمنع خيار التصفية "noposition" التحقق من موضع الأعمدة داخل ملف
الجدول.

يمنع خيار التصفية "nofuncbody" المقارنة بين نصوص كافة الوظائف.

يمنع خيار التصفية "noperm" مقارنة أذونات الكائن.

لتوفير قاعدة البيانات الثانية ، ما عليك سوى إلحاق الاختلافات بالقاعدة الأولى من خلال الاتصال بـ
حجة الاتصال المناسبة. على سبيل المثال ، لمقارنة قواعد البيانات على المضيفين ألفا و
برافو ، استخدم "--dbhost = alpha، bravo". انظر أيضا إلى الأمثلة أدناه.

إذا تم تقديم مضيف واحد فقط ، فمن المفترض أننا نقوم بإعداد تقرير "مستند إلى الوقت". ال
في المرة الأولى التي يتم فيها تشغيل هذا ، يتم حفظ لقطة لجميع العناصر الموجودة في قاعدة البيانات على المستوى المحلي
ملف. عند تشغيله مرة أخرى ، تتم قراءة تلك اللقطة وتصبح "قاعدة البيانات رقم 2" وهي
مقارنة بقاعدة البيانات الحالية.

لاستبدال الملف المخزن القديم بالإصدار الجديد ، استخدم الوسيطة --replace.

لتمكين اللقطات في نقاط زمنية مختلفة ، يمكنك استخدام وسيطة "--suffix" لعملها
أسماء الملفات الفريدة لكل شوط. انظر الأمثلة أدناه.

مثال 1: تحقق من أن قاعدتي بيانات على المضيفين نجمة وسطر هي نفسها:

check_postgres_same_schema --dbhost = نجمة ، خط

مثال 2: مثل السابق ، لكن استبعد أي محفزات بكلمة "slony" في أسمائها

check_postgres_same_schema --dbhost = نجمة ، خط - عامل التصفية = "notrigger = slony"

مثال 3: كما كان من قبل ، ولكن استبعد كل الفهارس أيضًا

check_postgres_same_schema --dbhost = نجمة ، سطر - عامل التصفية = "notrigger = slony noindexes"

مثال 4: تحقق من الاختلافات في قاعدة البيانات "battlelestar" في المنافذ المختلفة

check_postgres_same_schema --dbname = battlestar --dbport = 5432,5544،XNUMX

مثال 5: قم بإنشاء ملف لقطة يومية وأسبوعية

check_postgres_same_schema --dbname = cylon --suffix = يوميًا
check_postgres_same_schema --dbname = cylon --suffix = أسبوعيًا

مثال 6: قم بإجراء مقارنة تاريخية ، ثم استبدل الملف

check_postgres_same_schema --dbname = cylon --suffix = يوميًا - استبدال

تسلسل
("symlink: check_postgres_sequence") للتحقق من مقدار المساحة المتبقية على كل التسلسلات في
قاعدة البيانات. يتم قياس ذلك كنسبة مئوية من إجمالي القيم الممكنة التي تم استخدامها
لكل تسلسل. ال --تحذير --حرج يجب التعبير عن الخيارات كـ
النسب المئوية. القيم الافتراضية هي 85% للتحذير و 95% للحرجة. يمكنك
استخدم - تشمل و - تستبعد للتحكم في التسلسل الذي سيتم فحصه. لاحظ أن هذا
تحقق من حساب غير عادي القيمة الدنيا زيادة by القيم ، ولكن لا يهم إذا كان
تم ضبط التسلسل على دورة أم لا.

يعطي ناتج Nagios اسم التسلسل ، والنسبة المئوية المستخدمة ، والرقم
من "المكالمات" اليسرى ، مما يشير إلى عدد المرات التي يمكن فيها استدعاء nextval في هذا التسلسل
قبل الوصول إلى القيمة القصوى.

يُرجع إخراج MRTG أعلى نسبة مئوية عبر جميع التسلسلات في السطر الأول ،
واسم كل تسلسل بهذه النسبة المئوية في السطر الرابع ، مفصولاً بعلامة "|"
(أنبوب) إذا كان هناك أكثر من تسلسل في هذه النسبة المئوية.

مثال 1: أعط تحذيرًا إذا كانت أي تسلسلات تقترب من 95٪ ممتلئة.

check_postgres_sequence --dbport = 5432 - تحذير = 95٪

مثال 2: تحقق من أن التسلسل المسمى "orders_id_seq" ليس أكثر من نصفه ممتلئًا.

check_postgres_sequence --dbport = 5432 - Critical = 50٪ - include = orders_id_seq

settings_checksum
("symlink: check_postgres_settings_checksum") يتحقق من أن جميع إعدادات Postgres
نفس آخر مرة راجعت فيها. يتم ذلك عن طريق إنشاء مجموع اختباري لقائمة مرتبة
لتحديد الأسماء وقيمها. لاحظ أنه قد يكون لدى مستخدمين مختلفين في نفس قاعدة البيانات
مجاميع اختبارية مختلفة ، بسبب تغيير استخدام المستخدم ، وبسبب حقيقة أن المستخدمين المتميزين يرون المزيد
إعدادات من المستخدمين العاديين. إما --تحذير أو ال --حرج يجب أن يكون الخيار
معطى ، ولكن ليس كلاهما. قيمة كل واحد هو المجموع الاختباري ، وهو رقم سداسي عشري مكون من 32 حرفًا
القيمة. يمكنك تشغيل الخيار الخاص "--critical = 0" لمعرفة ملف
اختباري.

يتطلب هذا الإجراء الوحدة النمطية Digest :: MD5.

مثال 1: ابحث عن المجموع الاختباري الأولي لقاعدة البيانات على المنفذ 5555 باستخدام المستخدم الافتراضي
(عادة postgres)

check_postgres_settings_checksum --port = 5555 - حرجة = 0

مثال 2: تأكد من عدم تغيير أي إعدادات وتحذير إذا كان الأمر كذلك ، باستخدام المجموع الاختباري من
في الاعلى.

check_postgres_settings_checksum --port=5555 --warning=cd2f3b5e129dc2b4f5c0f6d8d2e64231

بالنسبة لإخراج MRTG ، يتم إرجاع 1 أو 0 للإشارة إلى نجاح فشل المجموع الاختباري في التطابق.
يجب توفير المجموع الاختباري كوسيطة "--mrtg". يعطي السطر الرابع دائمًا الامتداد
المجموع الاختباري الحالي.

slony_status
("symlink: check_postgres_slony_status") يتحقق من حالة كتلة سلوني بواسطة
النظر في نتائج عرض sl_status لسلوني. يتم إرجاع هذا كرقم
ثواني من "وقت التأخر". ال --تحذير --حرج يجب التعبير عن الخيارات كأوقات.
القيم الافتراضية هي 60 ثواني للتحذير و 300 ثواني للحرجة.

الحجة الاختيارية --مخطط أشار إلى المخطط الذي تم تثبيت Slony تحته. لو أنه
لم يتم تقديم مخطط قاعدة البيانات تلقائيًا في كل مرة يتم فيها تشغيل هذا الفحص.

مثال 1: أعط تحذيرًا إذا تأخر أي سلوني بأكثر من 20 ثانية

check_postgres_slony_status - تحذير 20

مثال 2: أعط أمرًا حاسمًا إذا كان Slony ، المثبت ضمن المخطط "_slony" ، أكبر من 10
دقائق متخلفة

check_postgres_slony_status - المخطط = _سلوني - حرج = 600

المزامنة الزمنية
("symlink: check_postgres_timesync") يقارن وقت النظام المحلي مع الوقت المبلغ عنه
من خلال قاعدة بيانات واحدة أو أكثر. ال --تحذير --حرج تمثل الخيارات عدد
ثوانٍ بين النظامين قبل إعطاء تنبيه. إذا لم يتم تحديد أي منهما ، فإن
يتم استخدام القيم الافتراضية ، وهي "2" و "5". لا يمكن أن تكون قيمة التحذير أكبر من
القيمة الحرجة. نظرًا للطبيعة غير الدقيقة لهذا الاختبار ، فإن قيم "0" أو "1" ليست كذلك
الموصى بها.

تعرض السلسلة التي تم إرجاعها فرق التوقيت بالإضافة إلى الوقت على كل جانب مكتوبًا
خارج.

مثال 1: تحقق من أن قواعد البيانات على المضيفين عنخ وموربورك وكلاتش لا تزيد عن 3
ثوانٍ من التوقيت المحلي:

check_postgres_timesync - المضيف = عنخ ، موربورك ، كلاتش - حرجة = 3

بالنسبة لمخرجات MRTG ، يتم إرجاع أحد السطر الأول بفارق عدد الثواني بين
بالتوقيت المحلي ووقت قاعدة البيانات. يُرجع السطر الرابع اسم قاعدة البيانات.

txn_idle
("symlink: check_postgres_txn_idle") للتحقق من عدد ومدة "الخمول في
المعاملات "في قاعدة بيانات واحدة أو أكثر. ليست هناك حاجة لتشغيل هذا أكثر من مرة
على نفس كتلة قاعدة البيانات. يمكن تصفية قواعد البيانات باستخدام --يشمل
- استثناء والخيارات. راجع قسم "التصفية الأساسية" أدناه للحصول على مزيد من التفاصيل.

تشير --تحذير --حرج يتم إعطاء الخيارات كوحدات زمنية أو أعداد صحيحة موقعة أو
أعداد صحيحة للوحدات الزمنية ، ويجب توفير كليهما (لا توجد قيم افتراضية). وحدات صالحة
هي "ثواني" أو "دقائق" أو "ساعات" أو "أيام". يمكن كتابة كل منها على حدة أو مختصرة
إلى الحرف الأول فقط. إذا لم يتم إعطاء أي وحدات والأرقام غير موقعة ، فإن الوحدات
من المفترض أن تكون ثوان.

يتطلب هذا الإجراء Postgres 8.3 أو أفضل.

مثال 1: أعط تحذيرًا إذا كان أي اتصال خاملاً في المعاملة لأكثر من 15
ثواني:

check_postgres_txn_idle --port = 5432 - تحذير = '15 ثانية '

مثال 2: أعط تحذيرًا إذا كان هناك 50 معاملة أو أكثر

check_postgres_txn_idle - المنفذ = 5432 - تحذير = '+ 50'

مثال 3: أعط أمرًا بالغ الأهمية إذا كانت 5 اتصالات أو أكثر خاملة في المعاملة لأكثر من ذلك
من 10 ثوانٍ:

check_postgres_txn_idle --port = 5432 - حرجة = '5 لمدة 10 ثوانٍ'

لإخراج MRTG ، تُرجع الوقت بالثواني أطول معاملة خاملة كانت
ادارة. يعرض السطر الرابع اسم قاعدة البيانات ومعلومات أخرى حول
أطول صفقة.

txn_time
("symlink: check_postgres_txn_time") للتحقق من طول المعاملات المفتوحة في واحدة أو أكثر
قواعد بيانات. ليست هناك حاجة لتشغيل هذا الأمر أكثر من مرة لكل كتلة قاعدة بيانات.
يمكن تصفية قواعد البيانات باستخدام ملف --يشمل - استثناء والخيارات. راجع قسم "أساسيات
لمزيد من التفاصيل "تصفية". يمكن أيضًا تصفية مالك المعاملة من خلال
استخدام لل - بما في ذلك المستخدم - استبعاد المستخدم والخيارات. راجع قسم "تصفية اسم المستخدم"
لمزيد من التفاصيل.

القيم أو --تحذير --حرج الخيارات هي وحدات زمنية ، ويجب توفيرها
(بلا ​​تقصير). الوحدات الصالحة هي "ثواني" أو "دقائق" أو "ساعات" أو "أيام". قد يكون كل منها
مكتوبة بصيغة المفرد أو مختصرة للحرف الأول فقط. إذا لم يتم إعطاء وحدات ، فإن
من المفترض أن تكون الوحدات ثواني.

يتطلب هذا الإجراء Postgres 8.3 أو أفضل.

مثال 1: أعط أمرًا هامًا إذا تم فتح أي معاملة لأكثر من 10 دقائق:

check_postgres_txn_time --port = 5432 - حرجة = '10 دقائق '

مثال 1: تحذير إذا كان "المستودع" لدى المستخدم معاملة مفتوحة لأكثر من 30 ثانية

check_postgres_txn_time --port-5432 - تحذير = 30 ثانية - تضمين المستخدم = المستودع

بالنسبة لمخرجات MRTG ، تُرجع الحد الأقصى للوقت بالثواني الذي تم فيه فتح معاملة في
السطر الأول. يعطي السطر الرابع اسم قاعدة البيانات.

txn_wraparound
("symlink: check_postgres_txn_wraparound") للتحقق من مدى الاقتراب من التفاف المعاملة الأول
أو يتم الحصول على المزيد من قواعد البيانات. ال --تحذير --حرج الخيارات تشير إلى الرقم
من المعاملات المنجزة ، ويجب أن تكون عددًا صحيحًا موجبًا. إذا لم يتم إعطاء أي من الخيارين ، فإن
يتم استخدام القيم الافتراضية 1.3 و 1.4 مليار. ليست هناك حاجة لتشغيل هذا الأمر أكثر
من مرة لكل كتلة قاعدة بيانات. لمزيد من المناقشة التفصيلية عن ماهية هذا الرقم
يمثل وماذا تفعل حيال ذلك ، يرجى زيارة الصفحة
<http://www.postgresql.org/docs/current/static/routine-vacuuming.html# فراغ مقابل التفاف>

يمكن أن يكون للتحذير والقيم الحرجة شرطات سفلية في الرقم من أجل الوضوح ، مثل Perl
لا.

مثال 1: تحقق من القيم الافتراضية لقاعدة بيانات المضيف المحلي

check_postgres_txn_wraparound --host = localhost

مثال 2: تحقق من المنفذ 6000 وأدخل نقطة حرجة عند الوصول إلى 1.7 مليار معاملة:

check_postgres_txn_wraparound --port=6000 --critical=1_700_000_000

لإخراج MRTG ، تُرجع أكبر عدد من المعاملات لجميع قواعد البيانات في السطر الأول ،
بينما يشير السطر 4 إلى قاعدة البيانات هذه.

الإصدار
("symlink: check_postgres_version") للتحقق من أن الإصدار المطلوب من Postgres هو
ركض. ال --تحذير --حرج الخيارات (مطلوب واحد فقط) يجب أن تكون بالتنسيق
XY or س ص ع أين X هو رقم الإصدار الرئيسي ، Y هو رقم الإصدار الثانوي ، و Z is
المراجعة.

مثال 1: أعط تحذيرًا إذا كانت قاعدة البيانات الموجودة على المنفذ 5678 ليست من الإصدار 8.4.10:

check_postgres_version - المنفذ = 5678 -w = 8.4.10

مثال 2: أعط تحذيرًا إذا كانت أي قواعد بيانات في وادي المضيف أو الحبوب أو أشعة الشمس ليست 8.3:

check_postgres_version -H الوادي ، الحبوب ، أشعة الشمس - حرجة = 8.3

بالنسبة لمخرجات MRTG ، يُبلغ عن 1 أو 0 يشير إلى النجاح أو الفشل في السطر الأول. ال
يشير السطر الرابع إلى الإصدار الحالي. يجب توفير الإصدار عبر "--mrtg"
الخيار.

والملفات
("symlink: check_postgres_wal_files") للتحقق من عدد ملفات WAL الموجودة في pg_xlog
الدليل ، الذي تم العثور عليه من ملف دليل البيانات، أحيانًا كرابط رمزي لآخر
القرص المادي لأسباب تتعلق بالأداء. يجب تشغيل هذا الإجراء كمستخدم متميز ، من أجل
الوصول إلى محتويات pg_xlog الدليل. الإصدار الأدنى لاستخدام هذا الإجراء هو
Postgres 8.1 تحديث ال --تحذير --حرج الخيارات هي ببساطة عدد الملفات الموجودة في ملف
pg_xlog الدليل. ما هو الرقم الذي سيتم تعيينه لتختلف ، ولكن يجب وضع إرشادات عامة
رقم أعلى بقليل مما هو موجود عادة ، لحل المشكلات مبكرًا.

عادةً ، يتم إغلاق ملفات WAL ثم إعادة استخدامها ، ولكنها معاملة مفتوحة طويلة الأمد ، أو ملف
خاطئ أرشيف_الأمر البرنامج النصي ، قد يتسبب في إنشاء Postgres لعدد كبير جدًا من الملفات. أخيرا،
سيؤدي هذا إلى نفاد مساحة القرص الذي يستخدمونه ، وعند هذه النقطة سوف يقوم Postgres بذلك
اغلق.

مثال 1: تحقق من أن عدد ملفات WAL هو 20 أو أقل على المضيف "بلوتو"

check_postgres_wal_files - المضيف = بلوتو - الحرجة = 20

بالنسبة لمخرجات MRTG ، يُبلغ عن عدد ملفات WAL في السطر 1.

إعادة بناء الروابط
إعادة بناء_الروابط_القوى
لا يتطلب هذا الإجراء أي وسيطات أخرى ، ولا يتصل بأي قواعد بيانات ، ولكن ببساطة
ينشئ ارتباطات رمزية في الدليل الحالي لكل إجراء في النموذج
check_postgres_. إذا كان الملف موجودًا بالفعل ، فلن يتم الكتابة فوقه. لو
الإجراء هو إعادة بناء_روابط_الروابط ، ثم ستتم الكتابة فوق الروابط الرمزية. الخيار
--symlinks هي طريقة أقصر لقول --action = rebild_symlinks

أساسي التصفية


الخيارات --يشمل - استثناء يمكن دمجها لتحديد الأشياء التي يتم فحصها ،
اعتمادا على العمل. يمكن تصفية اسم قاعدة البيانات عند استخدام ما يلي
الإجراءات: الخلفية ، حجم قاعدة البيانات ، الأقفال ، وقت الاستعلام ، txn_idle ، و txn_time. اسم ال
يمكن تصفية العلاقة عند استخدام الإجراءات التالية: bloat ، index_size ،
table_size ، و connection_size ، و last_vacuum ، و last_autovacuum ، و last_analyze ، و
التحليل التلقائي الأخير. يمكن تصفية اسم الإعداد عند استخدام settings_checksum
عمل. يمكن تصفية اسم نظام الملفات عند استخدام إجراء disk_space.

إذا تم توفير خيار التضمين فقط ، فسيتم التحقق فقط من الإدخالات المتطابقة.
ومع ذلك ، إذا أعطيت كل من الاستبعاد والتضمين ، فسيتم الاستبعاد أولاً ، والإدراج
بعد ذلك ، لإعادة الأشياء التي ربما تم استبعادها. على حد سواء --يشمل - استثناء يمكن
يتم تقديمها عدة مرات و / أو كقوائم مفصولة بفواصل. سوف تتطابق علامة التلدة البادئة مع
الكلمة التالية كتعبير عادي.

لمطابقة مخطط ، قم بإنهاء مصطلح البحث بنقطة واحدة. يمكن استخدام علامة التلدة البادئة
للمخططات كذلك.

كن حذرًا عند استخدام التصفية: قاعدة تضمين في الخلفية ، على سبيل المثال ، may
الإبلاغ عن أي مشاكل ليس فقط لأن قاعدة البيانات المطابقة لا تحتوي على خلفيات ، ولكن لأنك أنت
أخطأ في كتابة اسم قاعدة البيانات!

أمثلة:

يتحقق فقط من العناصر المسماة pg_class:

- تضمين = pg_class

يتحقق فقط من العناصر التي تحتوي على الأحرف "pg_":

- بما في ذلك = ~ pg_

تحقق فقط من العناصر التي تبدأ بـ "pg_":

- بما في ذلك = ~ ^ pg_

استبعاد العنصر المسمى "اختبار":

- استبعاد = اختبار

استبعاد جميع العناصر التي تحتوي على اختبار الحروف:

- استبعاد = ~ اختبار

استبعاد كافة العناصر في مخطط "pg_catalog":

- استبعاد = "pg_catalog."

استبعاد جميع العناصر التي تحتوي على الأحرف "ace" ، مع السماح للعنصر "faceoff":

- استبعاد = ~ ace --include = faceoff

استبعد جميع العناصر التي تبدأ بالأحرف "pg_" ، والتي تحتوي على الأحرف "slon" ، أو
والتي تسمى "sql_settings" أو "الخضراء". تحقق على وجه التحديد من العناصر التي تحتوي على الحروف
"prod" في أسمائهم ، وتحقق دائمًا من العنصر المسمى "pg_relname":

- استبعاد = ~ ^ pg_ ، ~ slon ، sql_settings - استبعاد = أخضر - تضمين = ~ prod ، pg_relname

USER اسم التصفية


الخيارات - بما في ذلك المستخدم - استبعاد المستخدم يمكن استخدامها في بعض الإجراءات لفحصها فقط
كائنات قاعدة البيانات المملوكة (أو غير المملوكة) لمستخدم واحد أو أكثر. ان - بما في ذلك المستخدم خيار
يتفوق دائمًا على - استبعاد المستخدم اختيار. يمكنك إعطاء كل خيار أكثر من مرة لـ
عدة مستخدمين ، أو يمكنك تقديم قائمة مفصولة بفواصل. الإجراءات التي يتم استخدامها حاليًا
هذه الخيارات هي:

حجم_قاعدة البيانات
التحليل الأخير
التحليل التلقائي الأخير
الفراغ الأخير
الفراغ الأخير
وقت_الاستعلام
العلاقة_ الحجم
txn_time

أمثلة:

تحقق فقط من العناصر التي يملكها المستخدم المسمى greg:

- includeuser = greg

تحقق فقط من العناصر التي يمتلكها watson أو Crick:

--includeuser = واتسون ، كريك

تحقق فقط من العناصر التي يمتلكها كريك أو فرانكلين أو واتسون أو ويلكينز:

--includeuser = watson --includeuser = franklin --includeuser = crick ، ​​wilkins

تحقق من جميع العناصر باستثناء تلك التي تنتمي إلى user scott:

- excludeuser = سكوت

الاختبار MODE


للمساعدة في إعداد الأشياء ، يمكن تشغيل هذا البرنامج في "وضع الاختبار" بتحديد
--اختبار اختيار. سيؤدي هذا إلى إجراء بعض الاختبارات الأساسية للتأكد من أن قواعد البيانات يمكن أن تكون كذلك
، وأنه تم استيفاء بعض المتطلبات الأساسية لكل إجراء ، مثل ما إذا كان المستخدم
مستخدم متميز ، إذا كان إصدار Postgres جديدًا بدرجة كافية ، وإذا تم تمكين stats_row_level.

استخدم check_postgres_new_version_bcp عبر الإنترنت باستخدام خدمات onworks.net


خوادم ومحطات عمل مجانية

قم بتنزيل تطبيقات Windows و Linux

أوامر لينكس

Ad