Using ping module in ansible PlayBook


  • با استفاده از این ماژول می‌توان دستور ping را برای تمام یا گروهی خاص از خادم‌های تحت مدیریت اجرا کرد.
  • عدم دریافت بسته‌های ICMP reply به منزله‌ی خاموش بودن یا در دسترس نبودن خادم است. (در حالی که ممکن است دریافت و ارسال بسته‌های ICMP توسط دیوار آتش مسدود شده باشد.)

  • به عنوان مثال کد زیر باعث می‌شود تا :
    • با استفاده از ماژول پینگ از تمامی خادم‌های تحت مدیریت آزمایش اتصال گرفته شود.
---
- name: PlayBook
  hosts: all
  gather_facts: no
  tasks:
  - name: run ping modules
    ping:
...
  • با استفاده از پارامتر hosts مشخص کردیم که پرونده‌ی PlayBook بر روی چه خادم‌ها یا گروه‌هایی اجرا شود.
  • استفاده از آرگومان یا مقدار all برای پارامتر hosts به منزله‌ی انتخاب تمام گروه‌ها و خادم‌های تحت مدیریت است.
  • با استفاده از پارامتر gather_facts و آرگومان no مشخص کردیم که جمع آوری اطلاعات از خادم‌ها صورت نگیرد.
  • نکته: حتما به رعایت فاصله‌ها توجه کنید. (از کلید TAB استفاده نکنید.)
  • به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
  • به منظور اجرای پرونده‌ی PlayBook به شکل زیر عمل کنید :
# ansible-playbook playbook.yaml
  • در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجی‌ای مشابه زیر دریافت خواهید کرد :
PLAY [PlayBook] *************************************************************************************************************************************************

TASK [run ping modules] ********************************************************************************************************************************************
ok: [172.16.0.247]
ok: [172.16.0.248]
ok: [172.16.0.245]

PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245               : ok=1    changed=0    unreachable=0    failed=0
172.16.0.247               : ok=1    changed=0    unreachable=0    failed=0
172.16.0.248               : ok=1    changed=0    unreachable=0    failed=0
  • همان طور که مشاهده می‌کنید، به صورت پیش‌فرض خروجی ماژول چاپ نشده است.
  • برای چاپ خروجی ماژول می‌توان از سویچ v- یا vv- به صورت زیر استفاده نمود.
# ansible-playbook playbook.yaml -v
or
# ansible-playbook playbook.yaml -vv
  • در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجی‌ای مشابه زیر دریافت خواهید کرد :
Using /etc/ansible/ansible.cfg as config file

PLAY [PlayBook] *************************************************************************************************************************************************

TASK [run ping modules] ********************************************************************************************************************************************
ok: [172.16.0.248] => {"changed": false, "ping": "pong"}
ok: [172.16.0.245] => {"changed": false, "ping": "pong"}
ok: [172.16.0.247] => {"changed": false, "ping": "pong"}

PLAY RECAP *********************************************************************************************************************************************************
172.16.0.245               : ok=1    changed=0    unreachable=0    failed=0
172.16.0.247               : ok=1    changed=0    unreachable=0    failed=0
172.16.0.248               : ok=1    changed=0    unreachable=0    failed=0
  • نکته: پسوند پرونده‌ی PlayBook می‌تواند به صورت yaml. یا yml. باشد.

  • به منظور مطالعه‌ی بیشتر لینک‌های زیر پیشنهاد می‌شود :
https://docs.ansible.com/ansible/latest/modules/ping_module.html

  • آزمایش شده بر روی Ansible نسخه‌ی 2.5.1
  • آزمایش شده بر روی سیستم عامل Ubuntu 18.04

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *