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.rhkb.cn/news/336007.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ABB 控制柜

1,主计算机:相当于电脑的主机,用于存放系统和数据,需要24V直流电才能工作。执行用户编写的程序,控制机器人进行响应的动作。主计算机有很多接口,比如与编程PC连接的服务网口、用于连接示教器的网口、连接轴…

揭秘网络编程:同步与异步IO模型的实战演练

摘要 ​ 在网络编程领域,同步(Synchronous)、异步(Asynchronous)、阻塞(Blocking)与非阻塞(Non-blocking)IO模型是核心概念。尽管这些概念在多篇文章中被广泛讨论,它们的抽象性使得彻底理解并非易事。本文旨在通过具体的实验案例,将这些抽象…

深入解析Web前端三大主流框架:Angular、React和Vue

Web前端三大主流框架分别是Angular、React和Vue。下面我将为您详细介绍这三大框架的特点和使用指南。 Angular 核心概念: 组件(Components): 组件是Angular应用的构建块,每个组件由一个带有装饰器的类、一个HTML模板、一个CSS样式表组成。组件通过输入(@Input)和输出(…

【Python】解决Python报错:TypeError: %d format: a number is required, not str

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

.NET 直连SAP HANA数据库

前言 上个项目碰到的需求,IT部门要求直连SAP的HANA数据库,以只读的权限读取SAP部门开发的CDS视图,是个有点复杂的工程,需要从成品一直往前追溯到原材料的产地,和交货单、工单、采购订单有相当程度上的关联 IT部门要求…

会议管理系统(含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 会议管理系统拥有两种角色 管理员:部门管理、员工管理、会议管理、会议室管理、预订会议、添加员工、注册员工审批等 用户:个人通知中心、预订会议、查看所有会议…

错误记录:从把项目从Tomcat8.5.37转到Tomcat10.1.7

错误信息:在本地Servlet项目里没有报错,但是浏览器跳转该servlet时报错 型 异常报告 消息 实例化Servlet类[com.wangdao.lx.MyServlet1]异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 jakarta.servlet.ServletExceptio…

四川汇聚荣聚荣科技有限公司是正规的吗?

在当今社会,随着科技的飞速发展,越来越多的科技公司如雨后春笋般涌现。然而,在这个信息爆炸的时代,如何判断一家公司是否正规成为了许多人关注的焦点。本文将围绕“四川汇聚荣聚荣科技有限公司是否正规”这一问题展开讨论&#xf…

Spring框架学习笔记(五):JdbcTemplate 和 声明式事务

基本介绍&#xff1a;通过 Spring 框架可以配置数据源&#xff0c;从而完成对数据表的操作。JdbcTemplate 是 Spring 提供的访问数据库的技术。将 JDBC 的常用操作封装为模板方法 1 JdbcTemplate 使用前需进行如下配置 1.1 在maven项目的pom文件加入以下依赖 <dependencies…

最新区块链论文录用资讯CCF B—DASFAA 2024 共3篇

Conference&#xff1a;International Conference on Database Systems for Advanced Applications (DASFAA) CCF level&#xff1a;CCF B Categories&#xff1a;数据库&#xff0f;数据挖掘&#xff0f;内容检索 Year&#xff1a;2024 Conference time&#xff1a;July …

认识K8s集群的声明式资源管理方法

前言 Kubernetes 集群的声明式资源管理方法是当今云原生领域中的核心概念之一&#xff0c;使得容器化应用程序的部署和管理变得更加高效和可靠。本文将认识了解 Kubernetes 中声明式管理的相关理念、实际应用以及优势。 目录 一、管理方法介绍 1. 概述 2. 语法格式 2.1 管…

Qt 配置Eigen矩阵库 - 并简单测试

Qt 配置Eigen矩阵库 - 并简单测试 引言一、在Qt中配置Eigen二、低通Demo源码三、参考链接以及其他 引言 Eigen是一个开源的C模板库&#xff0c;提供了线性代数和矩阵运算的功能。它被设计为一个高性能、可扩展和易用的库&#xff0c;可以用于科学计算、机器学习和计算机图形学等…

dubbo复习:(4) 和springboot 整合时,客户端负载均衡的配置

需要在DubboReference注解指定loadbalance属性。示例如下&#xff1a; package cn.edu.tju.service;import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Ser…

使用NuScenes数据集生成ROS Bag文件:深度学习与机器人操作的桥梁

在自动驾驶、机器人导航及环境感知的研究中&#xff0c;高质量的数据集是推动算法发展的关键。NuScenes数据集作为一项开源的多模态自动驾驶数据集&#xff0c;提供了丰富的雷达、激光雷达&#xff08;LiDAR&#xff09;、摄像头等多种传感器数据&#xff0c;是进行多传感器融合…

Discuz!X3.4论坛网站公安备案号怎样放到网站底部?

Discuz&#xff01;网站的工信部备案号都知道在后台——全局——站点信息——网站备案信息代码填写&#xff0c;那公安备案号要添加在哪里呢&#xff1f;并没有看到公安备案号填写栏&#xff0c;今天驰网飞飞和你分享 1&#xff09;工信部备案号和公安备案号统一填写到网站备案…

服务器感染了. rmallox勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 近年来&#xff0c;随着信息技术的飞速发展&#xff0c;网络安全问题日益凸显。其中&#xff0c;勒索病毒作为一种严重的网络威胁&#xff0c;对个人和企业数据造成了巨大的威胁。本文将重点介绍.rmallox勒索病毒的特点、传播途径以及应对策略&#xff0c;旨…

压力测试JMeter

压力测试JMeter 1 下载JMeter1.1 测试计划1.2 JMeter Address Already in use 错误解决1.3 java 内存模型1.4 jconsole与jvisualvm1.5 优化方向1.6 Nginx动静分离 1 下载JMeter 官网地址&#xff1a;https://jmeter.apache.org/download_jmeter.cgi 运行apache-jmeter-5.6.3\…

firebase如何自定义上传日志

我们可以很轻松的得到2个代码&#xff1a; Firebase.crashlytics.log(str) Firebase.crashlytics.recordException(ex)这就是firebase提供的自定义日志和excption上传的方法。 但是如果你认为log函数调用后&#xff0c;直接就能查看到日志就错了。 我们在这个page是找不到日志…

如何找出真正的交易信号?Anzo Capital昂首资本总结7个

匕首是一种新兴的价格走势形态&#xff0c;虽然不常见&#xff0c;但具有较高的统计可靠性。它通常预示着趋势的持续发展。该模式涉及到同时参考两个不同的时间周期进行交易&#xff0c;一个是短期&#xff0c;另一个是长期&#xff0c;比如一周时间框架与一天时间框架、一天时…

字母的大小写转换

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在Python中&#xff0c;字符串对象提供了lower()方法和upper()方法进行字母的大小写转换&#xff0c;即可用于将大写字母转换为小写字母或者将小写字…