1. 程式人生 > >ansible模塊介紹之ios_facts

ansible模塊介紹之ios_facts

local com 空間 def 用戶名 color pass 分享圖片 gis

一、模塊簡介

  收集運行IOS系統的(此處指思科的ios)的遠端設備信息

二、模塊參數

auth_pass   #特權密碼,如果參數authorize=no,則不會檢索此密碼,如果任務task不指定,則默認使用環境變量ANSIBLE_NET_AUTH_PASS代替
authorize   #是否進入特權模式,yes是;no不是。如果任務task不指定,則默認使用環境變量ANSIBLE_NET_AUTHORIZE 代替
gather_subset   #限定取的子集範圍,可跟範圍:all(所有設備信息),config(配置信息),hardware(硬件信息),interfaces(接口信息),默認是!config不收集配置信息
provider #包含連接詳情的對象,此處稱它位母參數,可接如下子參數 auth_pass #與上面效果一致 authorize #與上面效果一致 host #【必填】指定遠程設備的ip地址或名字,用於傳輸的目的地址 username #遠程設備登錄用戶名 password #遠程設備登錄密碼 port #ssh的端口,默認22 ssh_keyfile #指定用於與遠程設備認證用的ssh密鑰,填寫的是密鑰存放在本地路徑,如果任務task不指定,則默認使用環境變量ANSIBLE_NET_SSH_KEYFILE代替
timeout #超時時間,默認10s

三、模塊使用註意事項

   暫無

四、模塊使用實例

  需求1:收集遠端設備硬件信息(使用ad-hoc方式)

  命令:ansible 192.168.62.41 -c local -m ios_facts -a "auth_pass=cisco authorize=yes gather_subset=hardware" -u cisco -k

  結果:

技術分享圖片

  需求2:收集遠端設備硬件信息(使用playbook方式)

  步驟1:創建ios_facts_info.yaml文件

  步驟2:編輯vim ios_facts_info.yaml文件(此處使用vim是因為他可以對yaml的關鍵字高亮顯示,對於排除格式錯誤有很大幫助),並保存

---
  - hosts: 192.168.62.41
    connection: local

    tasks:
      - name: use ios_facts to gather info
        ios_facts:
            gather_subset: hardware
            authorize: yes
            auth_pass: cisco
            provider:
              username: cisco
              password: cisco
              host: 192.168.62.41
        register: facts_output
        
      - name: debug the result
        debug:
            msg: "{{facts_output}}"

  步驟3:執行劇本 ansible-playbook ios_facts_info.yaml

技術分享圖片

技術分享圖片

五、模塊返回內容字段介紹

ansible_net_all_ipv4_addresses  # 設備上所有ipv4的地址,返回值list列表形式
ansible_net_all_ipv6_addresses  # 設備上所有ipv6的地址,返回值list列表形式
ansible_net_config  # 設備上的配置信息,返回值是string字符串
ansible_net_filesystems # 設備上的文件系統,返回值是list列表形式,如,unix系統
ansible_net_filesystems_info  #設備上的文件信息的哈希值,返回值是dict字典形式,如空閑和總空間
ansible_net_gather_subset   #收集設備上的子集範圍,返回值list列表形式,eg:["hardware", "default", "interfaces", "config"]
ansible_net_hostname      #顯示設備主機名,返回值string字符串
ansible_net_image         #設備正在運行的鏡像文件全路徑,返回值是string字符串
ansible_net_interfaces    #設備上的接口配置信息,返回值是dict字典
ansible_net_memfree_mb    #設備的可用存儲空間,單位Mb,返回值integer數值形式
ansible_net_memtotal_mb   #設備的總共存儲空間,單位Mb,返回值integer數值形式
ansible_net_model         #設備型號,返回值string字符串
ansible_net_serialnum     #設備序列號,返回值string字符串
ansible_net_stacked_models  #每臺設備的堆疊產品型號,返回值list列表
ansible_net_stacked_serialnums  #堆疊設備的每一臺序列號,返回值list列表
ansible_net_version     #設備系統版本,返回值string字符串

ansible模塊介紹之ios_facts