Ansible自動化運維中的Setup收集模塊應用詳解

作者主頁:點擊!?

Ansible專欄:點擊!

創作時間:2024年5月22日13點14分


💯趣站推薦💯

前些天發現了一個巨牛的🤖人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家,人工智能,?機器算法等......??點擊跳轉網頁!icon-default.png?t=N7T8https://www.captainbed.cn/sis

Setup模塊是Ansible中最常用的模塊之一,用于收集有關目標主機的各種信息,這些信息被稱為Facts。Facts信息涵蓋了操作系統、硬件、軟件、網絡配置等方面,可以用于各種自動化運維任務。

🎆Setup模塊的作用優點

  1. 簡單易用:使用Setup模塊非常簡單,只需在Playbook中添加一個setup任務即可開始收集目標主機的信息。這種簡單易用的特性使得即使是初學者也能快速上手。

  2. 全面的信息收集:Setup模塊能夠收集各種系統信息,包括硬件、操作系統、網絡、內存、CPU等方面的信息。這使得管理員可以全面了解目標主機的狀態,為系統管理和故障排查提供了有力支持。

  3. 實時性:Setup模塊是在每次Playbook運行時實時收集信息的,因此你可以始終獲取到目標主機的最新狀態。這有助于及時發現并解決系統問題,確保系統的可靠性和穩定性。

  4. 可定制性:你可以根據需要定制Setup模塊的行為,只收集你感興趣的信息,從而避免收集大量無用的數據,減少數據傳輸和處理的開銷。

  5. 與條件執行結合:收集到的信息可以與條件執行結合使用,從而實現根據不同主機狀態執行不同任務的靈活性。這種靈活性使得你可以根據系統狀態采取相應的措施,實現更智能的自動化運維。

  6. 與其他模塊集成:Setup模塊與其他Ansible模塊無縫集成,可以與模塊如Template、Copy、File等結合使用,實現根據收集到的信息動態生成配置文件、更新文件內容等功能。

🥈Facts含義

在Ansible中,Facts是指由Ansible自動收集的關于目標主機(也稱為受管節點)的各種信息。這些信息包括硬件、操作系統、網絡、內存、CPU等方面的數據。當Ansible執行Playbook時,它會默認執行一個名為"Gather Facts"的任務,該任務會在目標主機上運行一個特殊的模塊(通常是setup模塊),以收集各種系統信息,并將這些信息存儲在內存中。

參數

Facts信息含義
ansible_all_ipv4_addresses所有目標主機的 IPv4 地址列表。
ansible_all_ipv6_addresses所有目標主機的 IPv6 地址列表。
ansible_date_time系統時間。
ansible_kernel內核版本。
ansible_default_ipv4默認網關的 IPv4 地址。
ansible_default_ipv6默認網關的 IPv6 地址。
ansible_distributionLinux 系統發行版本,例如 CentOS、Ubuntu、等。
ansible_nodename主機名。
ansible_pkg_mgr包管理器,例如 yum、apt、dpkg 等。
ansible_python_versionPython 版本。
ansible_processor_coresCPU核數。
ansible_processor_count邏輯 CPU 核心數,包括超線程。
ansible_cpu_infoCPU 信息字典,包含 CPU 頻率、架構等信息。
ansible_mem_total總內存容量。
ansible_mem_free可用內存容量。
ansible_mem_used已使用內存容量。

??實例

1. 收集所有Facts信息
- name: 收集所有Facts信息hosts: alltasks:- name: 收集所有Facts信息setup:

該Playbook會連接到所有目標主機,并收集所有Facts信息。

2. 收集特定Facts信息
- name: 收集特定Facts信息hosts: alltasks:- name: 收集硬件信息setup:gather_subset: hardware- name: 收集網絡信息setup:gather_subset: network- name: 收集Fact信息setup:gather_subset: fact- name: 收集配置信息setup:gather_subset: config- name: 不收集任何Facts信息setup:gather_subset: none

該Playbook會分別收集硬件信息、網絡信息、Fact信息、配置信息,以及不收集任何Facts信息

3. Facts信息收集的參數
- name: 設置Facts信息收集的參數hosts: alltasks:- name: 設置Facts信息收集的超時時間為 120 秒setup:gather_timeout: 120- name: 將Facts信息存儲在 /tmp/facts.d 目錄中setup:fact_path: /tmp/facts.d- name: 覆蓋 host_uuid Facts信息setup:gather_overrides:ansible_facts:host_uuid: "my-uuid"- name: 收集子目錄中的Facts信息setup:gather_subdirs: yes- name: 指定Facts信息收集的配置文件setup:gather_profile: default- name: 收集CLI Facts信息setup:gather_cli_facts: yes

該Playbook會設置Facts信息收集的超時時間、存儲路徑、覆蓋特定Facts信息、收集子目錄信息、指定配置文件、以及收集CLI Facts信息。

😶?🌫?實驗操作

實驗目的通過一臺ansible服務器來查看服務器的信息

幫助手冊

ansible-doc setup

1.掃描主機信息
[root@ansible ~]# ansible host1 -m setup  掃描host1的主機各種各樣的詳細信息太詳細了
  • host 1:這是您要管理的目標計算機的主機名或IP地址。
  • -m setup:指定要運行的模塊。在本例中,它是“setup”模塊,負責收集有關目標主機的事實(信息)。

運行此命令時會發生什么?

1.Ansible嘗試使用配置的方法(默認情況下通常是SSH)建立到目標主機“host1”的連接。

2.如果連接成功,Ansible會在目標主機上執行“setup”模塊

  • 設置模塊收集有關目標主機的各種信息,例如:
  • 操作系統詳細信息(版本、名稱等)
    • Hardware information (CPU cores, memory, etc.)
    • 安裝的軟件包
    • 網絡配置(IP地址、接口等)
  • 這些信息被收集并發送回Ansible控制機。
  • 這些信息存儲為Ansible Facts,可用于Ansible Playbook中的后續任務。
2.ip地址信息
[root@ansible ~]# ansible host1 -m setup -a 'filter=ansible_all_ipv4_addresses'

如何調用cpu信息呢大家去試試吧

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15062.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15062.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15062.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

服務器沒有圖形界面沒有顯示器怎么辦

可以用vnc。 vnc是開元的。什么是vnc? 使用vnc 下載vnc和vncserver命令。 每生成一個圖形界面就叫做開啟session會話。 vnc相關命令: start a new session: vncserver。 如果沒有會話,一般從:1開始 端口5901 vncserver :2 #指定會話為:2 端…

WinForm+SQL Server+.NET開發菜鳥驛站管理系統

完整效果看嗶哩嗶哩,有需要其他系統,可以私信

Leecode熱題100---55:跳躍游戲(貪心算法)

題目: 給你一個非負整數數組 nums ,你最初位于數組的 第一個下標 。數組中的每個元素代表你在該位置可以跳躍的最大長度。 判斷你是否能夠到達最后一個下標,如果可以,返回 true ;否則,返回 false 。 貪心算…

Spring中的三級緩存和循環依賴

三級緩存 在 Spring 中,Bean 的創建過程涉及到三級緩存。這三級緩存分別是 singletonObjects、earlySingletonObjects 和 singletonFactories。它們在 Spring 容器啟動時用于存儲正在創建的 Bean 實例。 在 Spring 源碼中,三級緩存涉及到了 DefaultSin…

python02 循環與容器

一、if的條件判斷 1-1 if elif else 判斷年齡屬于哪個年齡段 # 判斷學生 core input(請輸入成績) ? if int(core) >90 :print(優秀) elif int(core) >70 and int(core) <90:print(中等) elif int(core) >60 and int(core) <70:print(及格) else:print(不及…

20240521在Ubuntu20.04下編譯RK3588的IPC方案的編譯環境問題makeinfo: not found

20240521在Ubuntu20.04下編譯RK3588的IPC方案的編譯環境問題makeinfo: not found 2024/5/21 20:52 viewproviewpro-ThinkBook-16-G5-IRH:~/RK3588_IPC_SDK$ sudo apt-get install texinfo viewproviewpro-ThinkBook-16-G5-IRH:~$ viewproviewpro-ThinkBook-16-G5-IRH:~$ md5su…

【Basic】Linux Labs

文章目錄 前言一、Linux Labs二、知識點ssh介紹ssh的主要功能SSH的工作原理SSH的常見用法 解題感悟 前言 由于我參加了網絡安全的比賽(被迫)… but我毛都不會&#xff0c;所以我只能臨時抱佛腳… 順便把學習的過程記錄下來&#xff0c;歡迎收看小白0基礎ctf踩坑分享 一、Linux…

【正點原子Linux連載】 第四十六章 M.2硬盤驅動實驗摘自【正點原子】ATK-DLRK3568嵌入式Linux驅動開發指南

1&#xff09;實驗平臺&#xff1a;正點原子ATK-DLRK3568開發板 2&#xff09;平臺購買地址&#xff1a;https://detail.tmall.com/item.htm?id731866264428 3&#xff09;全套實驗源碼手冊視頻下載地址&#xff1a; http://www.openedv.com/docs/boards/xiaoxitongban 第四十…

【selenium】自動化測試chrome webdriver驅動下載網址,V123版本以上

Hi&#xff0c;大家好&#xff0c;今天和大家分享下最新的selenium自動化測試&#xff0c;chrome瀏覽器驅動下載的最新地址 chrome webdriver下載網址&#xff0c;適用于瀏覽器版本V123以上

結構型模式 (Python版)

代理模式 from abc import ABC, abstractmethod# 買的行為&#xff08;抽象類&#xff09; class Buy(ABC):abstractmethoddef buy_ticket(self):pass# 男人&#xff08;具體類&#xff09; class Man(Buy):# 男人買票def buy_ticket(self):print("Man 買票成功&#xff…

【輸入示例100,999 輸出示例4】水仙花數

// “水仙花數”是指一個三位正整數&#xff0c;其各位上的數字的立方和等于該數本身。如:1^35^33^3153&#xff0c;因此153是一個水仙花數。輸入兩個三位正整數a和b(其中a<b)&#xff0c;求[a,b]范圍內水仙花數的個數。 //輸入示例100,999 //輸出示例4 #include <stdio.…

AI爆文寫作:如果你有一篇文章爆了,正確的做法是:自己抄襲自己,重復發,還可以繼續爆!

爆款總是相似的&#xff0c;如果你有一篇文章爆了&#xff0c;正確的做法&#xff0c;就是重復發&#xff0c;讓它繼續爆下去。 以前我在小紅書看到一個人&#xff0c;將一篇自己火的筆記&#xff0c;連續發了5次&#xff0c;每次點贊數據都不錯。 公眾號文章也是一樣的。 我…

Gin與OpenAPI(Swagger)的使用

一、背景 1、swagger與openapi Swagger&#xff1a; 一種用于描述RESTFUL API的規范&#xff0c;它提供了一種簡單的來描述API的請求和相應參數、錯誤碼、返回數據類型等信息&#xff0c;是開發者可以方便了解API使用方式。 官網: https://swagger.io/ OpenAPI : 始于 …

gazebo仿真不起飛——QGC地面站查看下是否參數正確

檢查方法&#xff1a;打開QGC地面站查看是否能夠切入定點模式&#xff0c;不能的話查看定位數據來源參數

uniapp(微信小程序)退出小程序方法

一、描述 場景是&#xff1a;當用戶不予授權的時候&#xff0c;不允許使用該小程序&#xff0c;在用戶點擊取消之后&#xff0c;應該關閉當前小程序&#xff0c;不讓他繼續使用。 二、代碼 uni.exitMiniProgram({success: function() {console.log(退出小程序成功);},fail: …

鴻蒙HarmonyOS實戰-Stage模型(信息傳遞載體Want)

&#x1f680;前言 應用中的信息傳遞是為了實現各種功能和交互。信息傳遞可以幫助用戶和應用之間進行有效的溝通和交流。通過信息傳遞&#xff0c;應用可以向用戶傳遞重要的消息、通知和提示&#xff0c;以提供及時的反饋和指導。同時&#xff0c;用戶也可以通過信息傳遞向應用…

FPGA 第4章 攝像頭Bayer轉rgb

參考文獻 彩色MT9V034攝像頭 Bayer轉rgb FPGA實現 https://www.cnblogs.com/hqz68/p/10413896.html 文章目錄 前言Bayer轉rgb算法解析 總結 前言 Bayer格式是相機內部的原始數據, 一般后綴名為.raw。 對于彩色圖像,一般是三原色數據&#xff0c;rgb格式。但是攝像頭一個像素…

【linux-IMX6ULL-LED字符驅動框架完善】

目錄 1.簡介&#xff12;.前置知識2.1 重要函數及結構體2.2 程序框架流程 3. 代碼詳解&#xff1a; 1.簡介 在上節&#xff0c;我對linux-IMX6ULL-字符設備驅動簡單框架實驗進行了說明和構建&#xff0c;但是也存在幾個問題&#xff1b; 需要手動指定設備號&#xff0c;不能自…

TCP 與 UDP

0. tcp 與 udp 的 異同特性 TCPUDPname傳輸控制協議用戶數據報協議面向連接&#xff1f; 需要 傳輸數據前建立連接傳輸完畢后斷開連接不需要可靠的傳輸數據&#xff1f; 可靠 有確認機制&#xff08;三次握手&#xff09; 有確認、窗口、重傳、擁塞控制的機制保證數據可靠傳輸…

itertools拼裝迭代器

itertools拼裝迭代器 連接多個迭代器 內置的itertools模塊有一些函數可以把多個迭代器連城一個使用。 chain chain可以把多個迭代器從頭到尾連成一個迭代器。 import itertoolsit itertools.chain([1, 2, 3], [4, 5, 6]) print(list(it))>>> [1, 2, 3, 4, 5, 6]…