Ansible CMDB
|
IP
|
系统版本
|
软件版本
|
功能
|
|
192.168.8.12/24
|
CentOS Linux release 7.3.1611 (Core)
|
ansible 2.4.2.0 ansible-cmdb.py v1.27
|
ansible-cmdb
|
|
192.168.8.14/24
|
CentOS Linux release 7.3.1611 (Core)
|
应用服务
|
|
1
|
yum install -y ansible
|
|
1
2
3
|
wget https://github.com/fboender/ansible-cmdb/releases/download/1.27/ansible-cmdb-1.27-2.noarch.rpm
yum install -y ./ansible-cmdb-1.27-2.noarch.rpm
|
|
1
2
3
|
mkdir out
ansible -m setup --tree out/ all
|
|
1
|
ansible-cmdb out/ > overview.html
|

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
Usage: ansible-cmdb.py [option] <dir> > output.html
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-t TEMPLATE, --template=TEMPLATE
Template to use. Default is 'html_fancy'
-i INVENTORY, --inventory=INVENTORY
Inventory to read extra info from
-f, --fact-cache <dir> contains fact-cache files
-p PARAMS, --params=PARAMS
Params to send to template
-d, --debug Show debug output
-q, --quiet Don't report warnings
-c COLUMNS, --columns=COLUMNS
Show only given columns
--exclude-cols=EXCLUDE_COLUMNS
Exclude cols from output
|
- 主机所属的所有组
- 主机变量:每个主机都可以选择的键/值对,可以再剧本中使用。通过 ansible cmdb 扫描它们并将它添加到 ‘hostvars’ 部分下发县的 facts。
|
1
|
ansible-cmdb -i ./hosts out/ > overview.html
|
- groups:主机所属的 Ansible 组的列表
- dtap:主机是否是开发、测试、验收或者生产系统
- comment:主机的注释
- ext_id:主机的外部唯一标识符
|
1
2
3
|
[cmdb]
192.168.8.12 dtap=test comment="New database server"
192.168.8.14 dtap=dev comment="Old database server"
|
|
1
|
ansible-cmdb -t html_fancy_split out/ overview.html
|
|
1
|
ansible-cmdb -t/home/fboender/my_template out/> my_template.html
|
|
1
|
ansible-cmdb -t html_fancy -p local_js=1,collapsed=1 out> overview.html
|
- html_fancy:一个办好所有主机的动态的现代 HTML 页面
- html_fancy_split:一个动态的现代 HTML 页面,每个细节都包含在一个单独的文件中
- txt_table:一个快速文件 table 摘要,其中包含一些最少的信息
- json:转储所有包括组、变量、自定义信息(JSON格式)的主机
- csv:CSV 模板输出主机的 CSV 文件
- markdown:Markdown 模板以 Markdown 格式生成主机信息
- 收费:SQL 模板生成一个可以加载到 SQLite 或者 MySQL 数据库的 .sql 文件
- local_js=0|1:从本地磁盘(default=0)加载资源。如果设置,将从本地磁盘加载资源,而不是通过网络加载资源。
- collapsed=0|1:控制默认情况下是否折叠主机信息。值为1,将通过 defaultcontrols 对所有主机进行 collapse 处理。默认情况下,1的值将 collapse 所有主机信息。(default=’0’)
- host_details=0|1:渲染主机详细信。(default=1)
- skip_empty=0|1:跳过没有收集事实的主机(无法接通等)。(default=0)
|
1
|
ansible-cmdb -t html_fancy_split out/
|
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
ansible-cmdb -t sql out/ > cmdb.sql
[root@centos7 ~]# head cmdb.sql
DROP TABLE IF EXISTS hosts;
CREATE TABLE hosts (
name VARCHAR(255),
fqdn VARCHAR(255),
main_ip VARCHAR(15),
os_name VARCHAR(80),
os_version VARCHAR(40),
system VARCHAR(40),
kernel VARCHAR(40),
arch_hardware VARCHAR(12),
echo"CREATE DATABASE ansiblecmdb" | mysql
mysql ansiblecmdb <cmdb.sql
|
|
1
2
3
|
[defaults]
fact_caching=jsonfile
fact_caching_connection =/path/to/facts/dir
|
|
1
|
ansible-cmdb -f/path/to/facts/dir> overview.html
|
|
1
2
3
4
5
|
[root@centos7 ~]# ansible-cmdb -t txt_table --columns name,os,ip,mem,cpus out/
Name OS IP Mem CPUs
------------ --------------- --------------- --- ----
192.168.8.14 CentOS 7.3.1611 192.168.139.151 2g 2
192.168.8.12 CentOS 7.3.1611 192.168.139.129 2g 2
|
Ansible CMDB的更多相关文章
- Ansible工作架构和原理
特性 模块块化调用持定的模块,完成持定任务 有Paramiko,PyYAML,Jinja2(模板语言)三个关键模块 支持自定义模块 基于Python语法头现 部署简单,基于python和SSH(默认已 ...
- Ansible 插件 之 【CMDB】【转】
Github地址: https://github.com/fboender/ansible-cmdb 从facts收集信息,生成主机概述 安装 wget https://github.com/fboe ...
- 资产管理 cmdb之ansible 获取服务器硬件、软件等信息
cmdb抓取服务信息的方式有很多种,可以使用自动化工具saltstack.ansible.puppet,或者使用其它模块直接ssh远程连接抓取服务器信息.这里记录一下用ansible的API接口调用s ...
- 从CMDB动态获取服务器列表,按照Ansible的约定
目标效果: [root@ansible ~]# python query.py --list{ "test": [ "10.1.2.1", "10.1 ...
- 自动化运维工具之 Ansible 介绍及安装使用
一.初识Ansible 介绍: Absible 使用 模块(Modules)来定义配置任务.模块可以用标准脚本语言(Python,Bash,Ruby,等等)编写,这是一个很好的做法,使每个模块幂等.A ...
- Ansible@一个有效的配置管理工具--Ansible configure management--翻译(十二)
如果没有书面授权,请勿转载 第五章 自己定义模块 External inventories In the first chapter we saw how Ansible needs an inven ...
- Ansible详解(一)
简介 Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用.配置.编排task(持续交付.无宕机更新等).主版 ...
- Ansible - 简介和应用自动化基础实践
installAnsible简介和应用自动化基础实践 一.引入: 1.1 如官方定义,Ansible is The simplest way to automate apps and IT infr ...
- Ansible学习总结(1)
---恢复内容开始--- 1. Ansible概述 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric) ...
随机推荐
- php生成html静态文件
现在的动态网站存在很多性能上的弊端,seo优化会存在一定的瓶颈,现在将动态的网站代码转换为html静态文件,是浏览器通过html间接的读取动态网站源文件,这对其网站加载速度还是seo优化有着举足轻重的 ...
- STL-空间配置器、迭代器、traits编程技巧
目录 内存分配和释放 对象的构造和析构 traits要解决的问题 内嵌类别声明解决非指针迭代器的情况 使用模板特例化解决普通指针的情况 迭代器相应类别 内存分配和释放 STL中有两个分配器,一级分配器 ...
- 【转】php7对redis的扩展及redis主从搭建
一:redis安装 1:下载并安装 cd /home/software wget http://download.redis.io/releases/redis-3.2.3.tar.gz ta ...
- Error: Cannot find module '@babel/runtime/core-js/object/keys'(npm start报错)
1.问题描述: 在npm start启动react项目的时候,会出现Cannot find module '@babel/runtime/core-js/object/keys'的报错: 打开:项目根 ...
- mysql5.7 group by语法 1055
先来看如下语句,查询默认存在的引擎表 之前使用的MySQL版本为5.7以下,根据support进行分组执行语句如下 添加跟分组support无关的字段engine 没有任何问题 现在使用的版本是5.7 ...
- spring boot + druid + mybatis + atomikos 多数据源配置 并支持分布式事务
文章目录 一.综述 1.1 项目说明 1.2 项目结构 二.配置多数据源并支持分布式事务 2.1 导入基本依赖 2.2 在yml中配置多数据源信息 2.3 进行多数据源的配置 三.整合结果测试 3.1 ...
- 汇编入门三-CPU工作原理
本文为读书笔记,个人总结与摘抄自<汇编语言 第二版> 1.CPU从内存中读取数据,首先要获得存储单元的地址. 2.指明进行的操作,如存储或者读写 所以,CPU要进行操作总结为: 1.存储单 ...
- ASP.NET Core Web API中使用Swagger
本节导航 Swagger介绍 在ASP.NET CORE 中的使用swagger 在软件开发中,管理和测试API是一件重要而富有挑战性的工作.在我之前的文章<研发团队,请管好你的API文档& ...
- RocketMQ(7)---RocketMQ顺序消费
RocketMQ顺序消费 如果要保证顺序消费,那么他的核心点就是:生产者有序存储.消费者有序消费. 一.概念 1.什么是无序消息 无序消息 无序消息也指普通的消息,Producer 只管发送消息,Co ...
- PHP中var_dump、&&和GLOBALS的爱恨纠缠
var_dump函数:用来打印显示一个变量的内容与结构: &&:定义一个可变变量.php中,在定义变量时,需要在前面加上一个“&”符号,当加上两个“&&”符号时 ...