Ansible 插件 操作介绍

时间:2022-06-11 13:39:23

一、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精讲