Ansible 插件 操作介绍

一、Ansible 插件 之 【统计任务处理时间】

在做性能优化之前首先需要做的是收集一些统计数据,这样才能为后面做的性能优化提供数据支持,对比优化前后的结果。非常不错的是,在 github 发现一个 Ansible 任务计时插件“ansible-profile”,安装这个插件后会显示 ansible-playbook 执行每一个任务所花费的时间。

** 在ansible2.2版本以上,ansible自带了/usr/lib/python2.6/site-packages/ansible/plugins/callback/profile_tasks.py文件,所以,只需在callback_whitelist开启这个插件,从而不需要下载这个文件,就可以实现统计任务处理时间的功能。**

Github 地址:https://github.com/jlafon/ansible-profile

这个插件安装很简单,只需要简单的三个命令即可完成安装。在你的 playbook 文件的目录下创建一个目录,目录名 callback_plugins 然后将下载的 profile_tasks.py 文件放到该目录下。

cd /etc/ansible

mkdir callback_plugins

cd callback_plugins

wget https://raw.githubusercontent.com/jlafon/ansible-profile/master/callback_plugins/profile_tasks.py

ansible 2.0版本需要在ansible.cfg 中加入

callback_whitelist = profile_tasks

现在,执行 ansible-playbook 命令就会看到 playbook 中每个 tasks 的用时情况。

Paste_Image.png

在这里,我设置了 2 个 task,1 个 task sleep2 秒,另 1 个 task sleep4秒,在 PLAY RECAP 处会汇总所有 task 执行消耗的时间,并按照耗费时间排序。

2、Ansible 插件 之 【CMDB】

从facts收集信息,生成主机概述

安装

wget https://github.com/fboender/ansible-cmdb/releases/download/1.17/ansible-cmdb-1.17.tar.gz

tar zxf ansible-cmdb-1.17.tar.gz

cd ansible-cmdb-1.17

make install

使用

生成所有主机得facts信息

ansible -m setup --tree out/ all

生成web页面

ansible-cmdb out/ > overview.html

Paste_Image.png

默认模板采用html_fancy,文件存放在/usr/local/lib/ansible-cmdb/ansiblecmdb/data/tpl/html_fancy.tpl

如果facts用了本地缓存,-f指定缓存目录即可。

ansible-cmdb -f /path/to/facts/dir > overview.html

以资产列表得形式统计出ansible主机信息。
ansible-cmdb -t txt_table --columns name,os,ip,mem,cpus out/

Paste_Image.png

输出csv格式的主机信息

ansible-cmdb -t csv -i hosts out/

Paste_Image.png

输出sql文件,导入数据到mysql或者SQLite

ansible-cmdb -t sql -i hosts out/

学习介绍>>

  1. Ansible入门

2.自动化运维工具Ansible精讲

### 回答1: Ansible是一个用于自动化的IT管理工具,它可以帮助管理者轻松配置、管理和维护计算机系统。它通过简单的代码来控制系统,允许管理者自动化配置、部署和管理应用程序。Ansible还可以用于安装和配置应用程序、网络和服务,以及进行系统管理任务,例如备份和恢复等。 ### 回答2: Ansible是一种开源的自动化工具,用于自动化IT任务的执行和管理。它是基于Python编写的,可以通过SSH协议与远程主机进行通信,实现对多台主机的批量管理。 Ansible使用简单的YAML格式语言来描述任务和配置,无需在被管理的主机上安装任何客户端或代理,只需要通过SSH连接到目标主机。这使得Ansible的安装和部署非常方便,同时降低了系统维护的负担。 Ansible的主要特点包括: 1. 简单易用:Ansible使用YAML格式的Playbook来定义任务和配置,具有很好的可读性。用户只需编写简单的Playbook脚本来描述任务的执行流程,无需编写复杂的脚本或编程语言。 2. 高效可靠:Ansible采用SSH协议与被管理的主机通信,可以同时管理上千台主机,执行任务的效率非常高。同时,Ansible具有自动化错误处理和回滚机制,确保任务的可靠性和一致性。 3. 多平台支持:Ansible支持多种操作系统和平台,包括Linux、Windows、网络设备等。用户可以使用相同的Playbook脚本管理不同平台的主机,提高了跨平台管理的效率。 4. 模块化架构:Ansible提供了丰富的模块库,可以实现众多常见任务的自动化,如软件包管理、服务启停、系统配置等。用户也可以自己编写模块来满足特定需求。 5. 可扩展性:Ansible具有很好的扩展性,用户可以自定义插件、扩展功能来满足特定需求。同时,Ansible与其他工具(如Docker、Kubernetes)的集成也非常方便。 总之,Ansible是一款强大而易用的自动化工具,可以大大简化IT任务的管理和执行过程,提高工作效率,降低运维成本。 ### 回答3: Ansible 是一种开源的自动化工具,用于配置管理、应用程序部署以及任务自动化。它采用简单易懂的语法和模块化设计,可以帮助管理员轻松自动化各种复杂的部署和管理操作Ansible 的核心思想是基于 YAML 语言的描述性配置文件,这使得配置管理变得相对简单和直观。用户可以使用 YAML 文件定义目标主机、任务和配置项等信息,同时可以通过 Ansible 的模块库实现各种系统管理操作,比如安装软件、配置文件修改、服务启停等。Ansible 的模块库涵盖了操作系统、网络设备、云平台等各个方面,极大地方便了用户管理不同类型的主机。 Ansible 的另一个重要特点是基于 SSH 协议进行通信和操作,无需在目标主机上部署任何代理或客户端,这极大地减少了系统配置的复杂性。用户只需事先配置好 SSH 连接,就可以在控制主机上运行 Ansible 的命令,实现对目标主机的远程操作Ansible 还提供了丰富的特性,如批量操作、变量定义、条件判断、循环控制等,可以灵活地组织和管理任务。它还支持任务的串行执行和并行执行,用户可以根据实际需求选择最适合的方式。 与其他自动化工具相比,Ansible 的学习曲线相对较低。它不需要特定的编程技能,只需要掌握一些简单的 YAML 语法。此外,Ansible 还有一个庞大的社区和活跃的用户群体,用户可以轻松地获取帮助和学习资源。 总之,Ansible 是一种强大而简单的自动化工具,可以帮助管理员高效地进行配置管理和应用程序部署,减少手工操作的工作量,提高运维效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值