运维前线:一线运维专家的运维方法、技巧与实践2.3 Puppet及Facter介绍

简介:

2.3 Puppet及Facter介绍


本节所要讲的不是重复造轮子,而是如何有效地利用开源工具构建自己的平台。首先我们来看看CMDBuild操作界面,如图2-4所示。

 

图2-4 CMDBuild操作界面

从图2-4中可以看出,CMDB的信息收集可以是多种多样、共融共存的:

(1)通过一些Agent客户端收集信息,然后注册到中心服务器数据库。

(2)通过监控系统收集,比如Zabbix、Nagios、IPMI等。

(3)通过配置管理工具收集,比Puppet、SaltStack、Ansible等。

我在本文中使用配置管理工具Puppet的Facts来进行信息收集,最主要的原因是,目前我使用的是Puppet来管理所有的机器,因此使用Facts最方便、简单、快捷,成本低而且效率高,如果读者使用的是Ansible或其他配置管理工具来做管理,本文中所介绍的方法也可以通用。

2.3.1 什么是Puppet

通常定义:Puppet是一个跨平台的集中化配置管理系统,它使用自身的描述语言,可管理配置文件、用户、Cron、软件包、系统服务等,Puppet把这些统称为“资源”。Puppet设计的目标就是简化对这些资源的安装、配置、管理,以及妥善处理资源之间的依赖关系。

2.3.2 为什么是Puppet

Puppet能够帮助系统管理员方便、快速地管理所有机器,目前Puppet已经能够支持所有的客户端,主流的有RedHat、CentOS、Gentoo、Debian、Ubuntu、Solaris、SuSe、Mac OS X、FreeBSD、OpenBSD、Windows,等等。

支持的资源众多:目前Puppet支持的资源有很多,其中常用的包括File、Package、Exec、Service、Group、Host、Router、Yumrepo、User、Cron、SSHKey等,更多的相关信息和使用方法可以参考https://docs.puppetlabs.com/references/latest/type.html。

第三方模块众多:目前Puppet的第三方模块众多,基本包含了我们所能使用的全部软件模块,例如Mysql、Django、Java、PHP、Nginx、Apche、Openstack、SSH、Tomcat、Jboss、Yum等。

2.3.3 什么是Facter

Facter是Puppet跨平台的系统性能分析库。它能发现并报告每个节点的信息,在Puppet代码中是以变量的形式出现的。它返回的是每个Agent的fact信息,这些信息包括主机名、IP地址、操作系统、内存大小及其他的系统配置选项,这些fact信息在Puppet Agent运行的时候进行收集并传递给Master,同时被自动创建为可以被Puppet使用的变量。

2.3.4 Facter的特点

Facter最大的作用就是收集服务器系统信息,包括主机名、IP地址、操作系统、内存大小及其他的系统配置选项。这些系统配置选项正是CMDB所需要的基础核心数据。

我们先来看看Facter收集的系统数据,下面将列举一些常用的系统数据,具体信息如下。

(1)Facter获取fqdn信息,在Facter中fqdn=hostname + domain:

$ facter fqdn

puppet.domain.com

(2)Facter获取IP地址:

$ facter ipaddress

10.20.122.100

(3)Facter获取MAC地址:

$ facter macaddress

00:1A:4A:25:E2:10

(4)Facter获取空闲内存大小:

$ facter memoryfree

1.61G

(5)Facter获取内存大小:

$ facter memorysize

1.83G

(6)Facter获取操作系统:

$ facter operatingsystem

CentOS

(7)Facter获取CPU信息:

$ facter processors

{"models"=>["Intel Core 2 Duo P9xxx (Penryn Class Core 2)", "Intel Core 2 Duo P9xxx (Penryn Class Core 2)"], "physicalcount"=>2, "count"=>2}

(8)Facter获取机器运行时间:

$ facter uptime

1 day

2.3.5 Facter变量

Facter目前的最新版本为3.4.1(截至本章写作时),支持的变量有131个,所支持的变量可以在官方网站http://docs.puppetlabs.com/facter/latest/core_facts.html中查看。Facter所支持的变量可以按使用频率简单划分为常用类型和不常用类型,具体如图2-5所示。

 

图2-5 Facter变量分类图

相关文章
|
2月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
3月前
|
存储 运维 安全
运维知识沉淀工具深度解析:从结构设计到落地实践全拆解
运维知识沉淀工具助力团队将零散经验结构化存储,实现问题处理路径标准化、知识复用化。通过标签、模板与自动化调取机制,让每次处理都留下可复用资产,提升团队协同效率与系统稳定性。
|
5月前
|
人工智能 运维 关系型数据库
数据库运维:mysql 数据库迁移方法-mysqldump
本文介绍了MySQL数据库迁移的方法与技巧,重点探讨了数据量大小对迁移方式的影响。对于10GB以下的小型数据库,推荐使用mysqldump进行逻辑导出和source导入;10GB以上可考虑mydumper与myloader工具;100GB以上则建议物理迁移。文中还提供了统计数据库及表空间大小的SQL语句,并讲解了如何使用mysqldump导出存储过程、函数和数据结构。通过结合实际应用场景选择合适的工具与方法,可实现高效的数据迁移。
984 1
|
2月前
|
机器学习/深度学习 人工智能 运维
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
这篇文章系统性地阐述了 AI 原生时代下,面向技术风险领域的智能体系统(DeRisk)的架构设计、核心理念、关键技术演进路径与实践落地案例。
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
|
4月前
|
运维 监控 负载均衡
高效运维实践:常见问题的应对策略与实践经验
本文探讨了运维工作中的五大核心挑战及应对策略,涵盖负载均衡优化、数据库性能提升、系统监控预警、容器化与微服务运维等方面,旨在帮助企业提升系统稳定性与运维效率。
|
8月前
|
数据采集 机器学习/深度学习 人工智能
智能运维在IT管理中的实践与探索
【10月更文挑战第21天】 本文深入探讨了智能运维(AIOps)技术在现代IT管理中的应用,通过分析其核心组件、实施策略及面临的挑战,揭示了智能运维如何助力企业实现自动化监控、故障预测与快速响应,从而提升整体运维效率与系统稳定性。文章还结合具体案例,展示了智能运维在实际环境中的显著成效。
442 133
|
4月前
|
运维 监控 安全
从实践到自动化:现代运维管理的转型与挑战
本文探讨了现代运维管理从传统人工模式向自动化转型的必要性与路径,分析了传统运维的痛点,如效率低、响应慢、依赖经验等问题,并介绍了自动化运维在提升效率、降低成本、增强系统稳定性与安全性方面的优势。结合技术工具与实践案例,文章展示了企业如何通过自动化实现运维升级,推动数字化转型,提升业务竞争力。
|
1月前
|
人工智能 运维 监控
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
运维安全还能靠“人盯人”?别闹了,聊聊自动化处理的真功夫
118 17
|
6月前
|
数据采集 机器学习/深度学习 人工智能
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
运维人的“福音”?AI 驱动的自动化网络监控到底香不香!
589 0
|
3月前
|
人工智能 运维 安全
运维老哥的救星?AI 驱动的自动化配置管理新趋势
运维老哥的救星?AI 驱动的自动化配置管理新趋势
245 11

热门文章

最新文章

推荐镜像

更多