zc.monitor

البرمجيات قطة:
zc.monitor
تفاصيل البرنامج:
الإصدار: 0.3.1
تاريخ إيداع: 14 Apr 15
المطور: Jim Fulton
ترخيص: حرر
شعبية: 1

Rating: nan/5 (Total Votes: 0)

وzc.monitor هو الخادم الذي يوفر واجهة سطر الأوامر لطلب بت مختلفة من المعلومات على & nbsp؛. الخادم هو zc.ngi يقوم، لذلك يمكننا استخدام البنية التحتية للاختبار zc.ngi لإثبات ذلك.
على & nbsp؛ >>> zc.ngi.testing استيراد
على & nbsp؛ >>> zc.monitor استيراد
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
يدعم خادم مجموعة من الأوامر للمد. فإنه يبحث عن الأوامر كما يدعى zc.monitor.interfaces.IMonitorPlugin "المرافق العامة"، كما تم تعريفها من خلال حزمة zope.component.
لرؤية هذا، سنقوم بإنشاء المساعد مرحبا:
على & nbsp؛ >>> مواطنه مرحبا (اتصال، اسم = 'العالم'):
على & nbsp؛ ... "" "قل مرحبا
على & nbsp؛ ...
على & nbsp؛ ... توفير اسم إذا كنت لم يكن في العالم.
على & nbsp؛ ... "" "
على & nbsp؛ ... connection.write ("! مرحبا٪ الصورة، لطيفة لتلبية يا ن" اسم٪)
وتسجيله:
على & nbsp؛ >>> zc.monitor.register (مرحبا)
عندما كنا تسجيل الأوامر، لا نستطيع ان نقدم اسما. لرؤية هذا، سنقوم بتسجيل مرحبا مرة أخرى:
على & nbsp؛ >>> zc.monitor.register (مرحبا، 'مرحبا')
الآن نحن يمكن أن تعطي الأمر مرحبا بخادم:
على & nbsp؛ >>> connection.test_input ('مرحبا ن')
على & nbsp؛ مرحبا العالم، لطيفة لتلبية يا!
على & nbsp؛ -> CLOSE
يمكننا تمرير اسم:
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('مرحبا جيم ن')
على & nbsp؛ مرحبا جيم، لطيفة لتلبية يا!
على & nbsp؛ -> CLOSE
خادم يأتي مع عدد قليل من الأوامر الأساسية. دعونا تسجيلهم حتى نتمكن من معرفة ما يفعلونه. سنستخدم واجهة تسجيل simplfied:
على & nbsp؛ >>> zc.monitor.register_basics ()
الأول هو مساعدة القيادة. إعطاء مساعدة دون المدخلات، ويعطي قائمة من الأوامر المتوفرة:
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('مساعدة ن')
على & nbsp؛ المدعومة الأوامر:
على & nbsp؛ مرحبا - قل مرحبا
على & nbsp؛ مساعدة - الحصول على مساعدة حول أوامر الخادم
على & nbsp؛ مرحبا - قل مرحبا
على & nbsp؛ تفاعلية - تشغيل الوضع التفاعلي الشاشة ل
على & nbsp؛ الإقلاع عن التدخين - إنهاء الشاشة
على & nbsp؛ -> CLOSE
يمكننا الحصول على مساعدة مفصلة عن طريق تحديد اسم الأمر:
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('مساعدة ن')
على & nbsp؛ مساعدة للمساعدة:
على & nbsp؛
على & nbsp؛ الحصول على مساعدة حول أوامر الخادم
على & nbsp؛
على & nbsp؛ افتراضيا، تتم طباعة قائمة من الأوامر وملخصات. تزود
على & nbsp؛ اسم أمر للحصول على وثائق مفصلة للأمر.
على & nbsp؛
على & nbsp؛ -> CLOSE
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('مساعدة مرحبا ن')
على & nbsp؛ لمساعدة مرحبا:
على & nbsp؛
على & nbsp؛ ويقول مرحبا
على & nbsp؛
على & nbsp؛ توفير اسم إذا كنت لم يكن في العالم.
على & nbsp؛
على & nbsp؛ -> CLOSE
مفاتيح الأمر التفاعلي الشاشة في وضع التفاعلي. كما رأينا أعلاه، ورصد وعادة ما يستجيب إلى أمر واحد ثم إغلاق الاتصال. في "واسطة التفاعلية"، لا يتم إغلاق الاتصال حتى يتم استخدام الأمر الإقلاع عن التدخين. هذا يمكن أن يكون مفيدا عند الوصول إلى جهاز العرض عن طريق التلنت للتشخيص.
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('تفاعلي ن')
على & nbsp؛ الوضع التفاعلي جرا. استخدام "استقال" للخروج.
على & nbsp؛ >>> connection.test_input ('مساعدة التفاعلية ن')
على & nbsp؛ لمساعدة تفاعلية:
على & nbsp؛
على & nbsp؛ بدوره على الوضع التفاعلي الشاشة ل
على & nbsp؛
على & nbsp؛ عادة، ورصد انبعاثات الاتصال بعد أمر واحد.
على & nbsp؛ عن طريق إدخال طريقة تفاعلية، ورصد لن تنتهي اتصال
على & nbsp؛ حتى تقوم بإدخال "استقال" القيادة.
على & nbsp؛
على & nbsp؛ في الوضع التفاعلي، سطر فارغ يكرر الأمر الماضي.
على & nbsp؛
على & nbsp؛ >>> connection.test_input ('مساعدة استقال ن')
على & nbsp؛ لمساعدة الإقلاع عن التدخين:
على & nbsp؛
على & nbsp؛ إنهاء الشاشة
على & nbsp؛
على & nbsp؛ هذه ليست سوى المفيد حقا في الوضع التفاعلي (انظر "التفاعلية"
على & nbsp؛ الأوامر).
على & nbsp؛
لاحظ أن نتيجة الأوامر لم تنته مع "-> CLOSE"، والذي كان قد أشار إلى اتصال مغلق.
تلاحظ أيضا أن وضع تفاعلي يسمح لك لتكرار الأوامر.
على & nbsp؛ >>> connection.test_input ('مرحبا ن')
على & nbsp؛ مرحبا العالم، لطيفة لتلبية يا!
على & nbsp؛ >>> connection.test_input (' ن')
على & nbsp؛ مرحبا العالم، لطيفة لتلبية يا!
على & nbsp؛ >>> connection.test_input ('مرحبا جيم ن')
على & nbsp؛ مرحبا جيم، لطيفة لتلبية يا!
على & nbsp؛ >>> connection.test_input (' ن')
على & nbsp؛ مرحبا جيم، لطيفة لتلبية يا!
الآن سوف نستخدم إنهاء لإغلاق الاتصال.
على & nbsp؛ >>> connection.test_input ('استقال ن')
على & nbsp؛ وداعا.
على & nbsp؛ -> CLOSE
وأخيرا، ومن الجدير بالذكر أن الاستثناءات سوف تولد traceback على الاتصال.
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('مرحبا جيم 42 ن') # doctest: + القطع
على & nbsp؛ Traceback (المكالمات الأخيرة الأخيرة):
على & nbsp؛ ...
على & nbsp؛ TypeError: مرحبا () يأخذ في معظم الحجج 2 (3 المعطاة)
على & nbsp؛
على & nbsp؛ -> CLOSE
حلقات القيادة
باستخدام وضع "المزيد"، يمكن أن الأوامر إشارة أنهم يريدون للمطالبة بجميع إدخال المستخدم في المستقبل. سنقوم بتنفيذ سبيل المثال سخيفة لإثبات كيف يعمل.
وفيما يلي الأوامر التي تنفذ آلة حاسبة.
على & nbsp؛ '.' >>> PROMPT =
على & nbsp؛ >>> مواطنه أحسب (اتصال، * وسائط):
على & nbsp؛ ... إذا وسائط وسائط [0] == 'استقال':
على & nbsp؛ ... العودة zc.monitor.QUIT_MARKER
على & nbsp؛ ...
على & nbsp؛ ... إذا سائط:
على & nbsp؛ ... connection.write (. شارع (حدة التقييم ('' انضمام (وسائط))))
على & nbsp؛ ... connection.write (' ن')
على & nbsp؛ ...
على & nbsp؛ ... connection.write (PROMPT)
على & nbsp؛ ... العودة zc.monitor.MORE_MARKER
إذا كان لنا أن تسجيل هذا الأمر ...
على & nbsp؛ >>> zc.monitor.register (أحسب)
... يمكننا أن تحتج عليه ونحصل على موجه.
على & nbsp؛ >>> اتصال = zc.ngi.testing.TextConnection ()
على & nbsp؛ >>> الخادم = zc.monitor.Server (اتصال)
على & nbsp؛ >>> connection.test_input ('أحسب ن')
ونبسب؛.
إذا كنا ثم إعطائها المزيد من المدخلات نحصل على نتيجة بالإضافة إلى موجه آخر.
على & nbsp؛ >>> connection.test_input ('2 + 2 ن')
على & nbsp؛ 4
ونبسب؛.
على & nbsp؛ >>> connection.test_input ('4 * 2 ن')
على & nbsp؛ 8
ونبسب؛.
مرة واحدة ننتهي يمكننا أن نقول للآلة حاسبة لنذهب.
على & nbsp؛ >>> connection.test_input ('استقال ن')
على & nbsp؛ -> CLOSE
بدء الخادم
على & nbsp؛ >>> وقت الواردات
على & nbsp؛ >>> zope.testing.loggingsupport الواردات، وقطع الأشجار
على & nbsp؛ >>> loghandler = zope.testing.loggingsupport.InstalledHandler (
على & nbsp؛ ... لا شيء، ومستوى = logging.INFO)
على & nbsp؛ >>> zc.monitor.start (9644)
على & nbsp؛ (''، 9644)
على & nbsp؛ >>> loghandler الطباعة
على & nbsp؛ INFO zc.ngi.async.server
على & nbsp؛ الاستماع على (''، 9644)
على & nbsp؛ >>> zc.monitor.last_listener.close ()
على & nbsp؛ >>> zc.monitor.last_listener = بلا
على & nbsp؛ >>> time.sleep (0.1)
على & nbsp؛ >>> loghandler.clear ()
على & nbsp؛ >>> zc.monitor.start (('127.0.0.1'، 9644))
على & nbsp؛ ('127.0.0.1'، 9644)
على & nbsp؛ >>> loghandler الطباعة
على & nbsp؛ INFO zc.ngi.async.server
على & nbsp؛ الاستماع على ('127.0.0.1'، 9644)
على & nbsp؛ >>> zc.monitor.last_listener.close ()
على & nbsp؛ >>> zc.monitor.last_listener = بلا
على & nbsp؛ >>> time.sleep (0.1)
ربط ميناء 0:
على & nbsp؛ >>> ADDR = zc.monitor.start (0)
على & nbsp؛ >>> ADDR == zc.monitor.last_listener.address
على & nbsp؛ صحيح
على & nbsp؛ >>> zc.monitor.last_listener.close ()
على & nbsp؛ >>> zc.monitor.last_listener = بلا
على & nbsp؛ >>> time.sleep (0.1)
تحاول rebind إلى منفذ قيد الاستخدام:
على & nbsp؛ >>> loghandler.clear ()
على & nbsp؛ >>> zc.monitor.start (('127.0.0.1'، 9644))
على & nbsp؛ ('127.0.0.1'، 9644)
على & nbsp؛ >>> zc.monitor.start (('127.0.0.1'، 9644))
على & nbsp؛ خطأ
على & nbsp؛ >>> loghandler الطباعة
على & nbsp؛ INFO zc.ngi.async.server
على & nbsp؛ الاستماع على ('127.0.0.1'، 9644)
على & nbsp؛ zc.ngi.async.server تحذير
على & nbsp؛ غير قادر على الاستماع على ('127.0.0.1'، 9644)
على & nbsp؛ تحذير الجذر
على & nbsp؛ غير قادر على بدء الخادم zc.monitor لأن عنوان ("127.0.0.1"، 9644) قيد الاستخدام.
على & nbsp؛ >>> zc.monitor.last_listener.close ()
على & nbsp؛ >>> zc.monitor.last_listener = بلا
على & nbsp؛ >>> time.sleep (0.1)
على & nbsp؛ >>> loghandler.uninstall ()

ما هو الجديد في هذا الإصدار:

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

ما هو الجديد في الإصدار 0.3.0:

وأضاف واجهة تسجيل مبسطة.

المتطلبات:

بيثون

برامج مماثلة

GKnews
GKnews

2 Jun 15

Uptimed
Uptimed

14 Apr 15

OSSEC HIDS
OSSEC HIDS

19 Feb 15

pciutils
pciutils

17 Feb 15

البرامج الأخرى من المطور Jim Fulton

zc.zope3recipes
zc.zope3recipes

14 Apr 15

zc.resumelb
zc.resumelb

20 Feb 15

zc.s3uploadqueue
zc.s3uploadqueue

20 Feb 15

تعليقات ل zc.monitor

لم يتم العثور على التعليقات
إضافة تعليق
بدوره على الصور!