- با استفاده از این ماژول میتوان دستور ping را برای تمام یا گروهی خاص از خادمهای تحت مدیریت اجرا کرد.
- عدم دریافت بستههای ICMP reply به منزلهی خاموش بودن یا در دسترس نبودن خادم است. (در حالی که ممکن است دریافت و ارسال بستههای ICMP توسط دیوار آتش مسدود شده باشد.)
- به عنوان مثال کد زیر باعث میشود تا :
- با استفاده از ماژول پینگ از تمامی خادمهای تحت مدیریت آزمایش اتصال گرفته شود.
|
1 2 3 4 5 6 7 8 |
--- - name: PlayBook <span style="color: #ff0000;">hosts</span>: all <span style="color: #ff0000;"> gather_facts</span>: no tasks: - name: run ping modules ping: ... |
- با استفاده از پارامتر hosts مشخص کردیم که پروندهی PlayBook بر روی چه خادمها یا گروههایی اجرا شود.
- استفاده از آرگومان یا مقدار all برای پارامتر hosts به منزلهی انتخاب تمام گروهها و خادمهای تحت مدیریت است.
- با استفاده از پارامتر gather_facts و آرگومان no مشخص کردیم که جمع آوری اطلاعات از خادمها صورت نگیرد.
- نکته: حتما به رعایت فاصلهها توجه کنید. (از کلید TAB استفاده نکنید.)
- به مواردی که به صورت رنگی مشخص شده است، دقت کنید.
- به منظور اجرای پروندهی PlayBook به شکل زیر عمل کنید :
|
1 |
# ansible-playbook playbook.yaml |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 8 9 10 11 |
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- به صورت زیر استفاده نمود.
|
1 2 3 |
# ansible-playbook playbook.yaml -v or # ansible-playbook playbook.yaml -vv |
- در صورتی که کد بالا به صورت موفقیت آمیز اجرا شده باشد، خروجیای مشابه زیر دریافت خواهید کرد :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Using /etc/ansible/ansible.cfg as config file PLAY [PlayBook] ************************************************************************************************************************************************* TASK [run ping modules] ******************************************************************************************************************************************** ok: [172.16.0.248] => {"changed": false, "ping": "<span style="color: #ff0000;">pong</span>"} ok: [172.16.0.245] => {"changed": false, "ping": "<span style="color: #ff0000;">pong</span>"} ok: [172.16.0.247] => {"changed": false, "ping": "<span style="color: #ff0000;">pong</span>"} 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. باشد.
- به منظور مطالعهی بیشتر لینکهای زیر پیشنهاد میشود :
|
1 |
https://docs.ansible.com/ansible/latest/modules/ping_module.html |
- آزمایش شده بر روی Ansible نسخهی 2.5.1
- آزمایش شده بر روی سیستم عامل Ubuntu 18.04