Dalam panduan ini, kita akan membahas apa itu modul debug Ansible, parameter apa saja yang didukung dalam modul debug dan terakhir bagaimana menggunakan modul debug dengan setiap parameter di playbook Ansible dengan contoh di Linux.
Jika Anda belum menyiapkan Ansible, lihat guides berikut.
Install Dan Konfigurasi Ansible Di LinuxPengaturan Lab Ansible Otomatis Dengan Vagrant Dan Virtualbox Di LinuxContents
Apa Itu Modul Debug Ansible?1. Modul Debug Dengan Parameter Pesan2. Modul Debug Dengan Parameter Var3. Modul Debug Dengan Parameter VerbosityConclusionApa Itu Modul Debug yang Mungkin?
Modul debug yang memungkinkan digunakan untuk mencetak ekspresi dan variabel saat menjalankan buku pedoman. Secara default, ketika Anda menjalankan playbook, Anda tidak akan mendapatkan nilai output, tetapi Anda akan mendapatkan status (Misalnya diubah, diabaikan, dll.). Menggunakan modul debug, Anda dapat mencetak variabel atau ekspresi apa pun. Anggap ini sebagai pernyataan cetak Anda dalam bahasa pemrograman apa pun. Modul
Debug mendukung tiga parameter seperti yang tercantum di bawah ini:
msgvarVerbosity1. Modul Debug Dengan Parameter Pesan
Di bawah ini adalah kerangka untuk permainan yang akan digunakan di seluruh panduan ini. Ganti host sesuai dengan lingkungan Anda.
name: Bekerja Dengan modul debug host: m2 gathering_facts: false
Saya telah membuat dua tugas. Di keduanya, modul debug tugas menerima argumen melalui parameter msg. Satu-satunya perbedaan antara kedua tugas adalah bahwa pada parameter msg tugas pertama hadir di baris yang sama dengan nama modul debug. Di baris kedua, nama modul tugas dan parameter pesan berada di baris terpisah dan dimaksudkan.
tasks: # Modul dan argumen di baris yang sama - nama: Debug pertama debug: msg="Halo Pengguna OSTechnix" # Modul dan argumen di baris terpisah - nama: Debug kedua debug: msg: "Anda sedang melihat panduan modul debug"
Anda dapat menjalankan pemeriksaan sintaks atau menjalankan buku pedoman menggunakan perintah berikut.
$ ansible-playbook --syntax-check .yml$ ansible-playbook .yml
Keduanya tugas mencetak pesan ke konsol saat menjalankan buku pedoman yang dapat diverifikasi dari output tugas berikut.
TASK [Debug pertama] *********************** ************************************************** ************************************************** ******** ok: [rocky.anslab.com] => { "msg": "Halo Pengguna OSTechnix" } TUGAS [Debug kedua] ************** ************************************************** ************************************************** **************** ok: [rocky.anslab.com] = > { "msg": "Anda sedang melihat panduan modul debug" }
Anda juga dapat menggunakan nilai Daftar dan kamus untuk mencetak sebagai pesan. Sintaks untuk daftar nilai dan pemetaan kamus adalah sebagai berikut.
# Pesan debug Baris Daftar - nama: Pesan debug daftar debug: msg: - India - Australia - Jepang # Pesan debug kamus - nama: Dict pesan debug debug: msg: Negara: India Negara: TN
Lihat output di bawah ini. Anda dapat melihat output dicetak dengan representasi sintaksis python untuk daftar dan kamus.
TASK [Pesan debug daftar] ************************* ************************************************** ************************************************ ok: [berbatu. anslab.com] => { "msg": [ "India", "Australia", "Jepang" ] } TUGAS [Pesan debug dict] ****************** ************************************************** ************************************************** ***** ok: [rocky.anslab.com] => { "msg": { "Country": "India", "State": "TN" } }
Anda juga dapat mencetak nilai variabel menggunakan parameter msg. Jika Anda melihat tugas di bawah ini, saya telah membuat dua variabel bernama UBUNTU_VERSION dan RELEASE. Saya mencetak kedua nilai variabel menggunakan parameter msg.
- nama: Variabel pencetakan vars: UBUNTU_VERSION: 22.04 RELEASE: APRIL 2022 debug: # msg: {{ UBUNTU_VERSION }} Versi terbaru Ubuntu adalah {{ UBUNTU_VERSION }} dan itu rilis pada {{ RELEASE }} msg: "{{ UBUNTU_VERSION }}"
Output:
TASK [Variabel pencetakan] *************************** ************************************************** ************************************************ Oke: [rocky.anslab.com] => { "msg": "Versi terbaru Ubuntu adalah 22.04 dan dirilis pada APRIL 2022" }
Poin penting yang perlu diperhatikan di sini adalah, ketika nama variabel Anda muncul sebagai kata pertama, maka Anda harus melampirkan seluruh baris dengan tanda kutip ganda. Selalu disarankan untuk menggunakan tanda kutip ganda saat bekerja dengan parameter msg.
msg: {{ UBUNTU_VERSION }} dirilis pada {{ RELEASE }} # AKAN GAGAL: "{{ UBUNTU_VERSION }} dirilis pada {{ RELEASE }}" # TERTUTUP DI QUOTES2. Modul Debug Dengan Parameter Var
Jika Anda ingin mencetak variabel sendiri tanpa string seperti yang kita lakukan di bagian terakhir, maka Anda dapat menggunakan parameter var dan meneruskan nama variabel sebagai argumen.
Saat menggunakan modul msg, Anda harus menggunakan kurung kurawal ganda untuk mencetak nilai variabel. Tetapi menggunakan parameter var, Anda dapat meneruskan nama variabel tanpa tanda kurung atau tanda kutip.
- name: Printing variable vars: UBUNTU_VERSION: 22.04 RELEASE: APRIL 2022 debug: # msg: {{ UBUNTU_VERSION }} Versi terbaru Ubuntu adalah { { UBUNTU_VERSION }} dan dirilis pada {{ RELEASE }} msg: "{{ UBUNTU_VERSION }}"
Output:
TASK [Menggunakan Var] ******************** ************************************************** ************************************************** ************* oke: [rocky.anslab.com] => { "UBUNTU_VERSION": 22.04 }3. Modul Debug Dengan Parameter Verbositas
Ansible mendukung empat tingkat verbositas. Secara default verbositas diatur ke nol. Untuk mencetak pesan, Anda harus meningkatkan verbositas menggunakan -v flag.
$ ansible all -m shell -a "uptime" -v # LEVEL 1$ ansible all -m shell -a "uptime" -vv # LEVEL 2$ ansible all -m shell -a "uptime" -vvv # LEVEL 3$ memungkinkan all -m shell -a "uptime" -vvvv # LEVEL 4
Ketika Anda menjalankan playbook, Anda dapat mengatur tingkat verbositas untuk suatu tugas menggunakan modul debug. Dalam hal ini Anda tidak akan melihat output pesan debug di terminal kecuali Anda menggunakan flag -v saat memicu playbook.
- nama: Variabel pencetakan vars: UBUNTU_VERSION: 22,04 RELEASE: APRIL 2022 debug: var: UBUNTU_VERSION verbositas: 2
Dalam tugas di atas Saya telah mengatur tingkat verbositas menjadi dua. Lihatlah output di bawah ini, Anda dapat melihat output dicetak sebagai "melompati" untuk tugas ini.
$ ansible-playbook TUGAS [Variabel pencetakan] ***************** ************************************************** ************************************************** ******** melewatkan: [rocky.anslab.com]
Anda dapat meneruskan tanda -v ke buku pedoman Anda. Ini akan memberi tahu alasan yang dilewati.
$ ansible-playbook -v TUGAS [Variabel pencetakan] ****************************** ************************************************** ********************************************* melewatkan: [berbatu. anslab.com] => {"skipped_reason": "Ambang verbositas tidak terpenuhi."}
Karena saya telah menyetel verbositas menjadi dua, saya harus menggunakan flag -vv untuk mencetak pesan. Demikian pula menurut tingkat verbositas yang Anda atur dalam tugas, Anda harus menggunakan tingkat yang sesuai dari flag -v saat menjalankan playbook.
$ ansible-playbook -vv TASK [Variabel pencetakan] ********** ************************************************** ************************************************** *************** jalur tugas: /home/vagrant/ansible_lab/vagrant_lab_sync/playbooks/2_debug_module/debug_with_verbosity.yml:8 ok: [rocky.anslab.com] => { "msg ": "Ubuntu versi terbaru adalah 22.04 dan dirilis pada APRIL 2022" } META: run handlers META: run handlersConclusion
Dalam panduan ini, kita telah membahas apa itu modul debug Ansible, bagaimana cara kerjanya dan bagaimana menggunakan modul debug di Mungkin dengan masing-masing contoh.