Ansible 插件 操作介绍
字数 1002 2025-08-18 11:38:08
Ansible插件操作详解
一、Ansible任务计时插件(profile_tasks)
功能概述
profile_tasks插件用于统计Ansible playbook中每个任务的执行时间,为性能优化提供数据支持。
安装与配置
方法一:使用Ansible自带插件(2.2+版本)
- Ansible 2.2及以上版本已自带此插件
- 文件路径:
/usr/lib/python2.6/site-packages/ansible/plugins/callback/profile_tasks.py - 只需在ansible.cfg中启用:
callback_whitelist = profile_tasks
方法二:手动安装(适用于所有版本)
- 创建插件目录:
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
使用效果
- 执行playbook时会显示每个task的用时情况
- 在PLAY RECAP处会汇总所有task执行消耗的时间
- 时间统计会按照耗费时间排序
示例输出
PLAY RECAP *********************************************************************
task1 : sleep 2s (实际耗时: 2.05s)
task2 : sleep 4s (实际耗时: 4.02s)
二、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
使用方法
1. 生成所有主机的facts信息
ansible -m setup --tree out/ all
2. 生成Web页面
ansible-cmdb out/ > overview.html
3. 使用本地缓存
ansible-cmdb -f /path/to/facts/dir > overview.html
4. 以资产列表形式统计
ansible-cmdb -t txt_table --columns name,os,ip,mem,cpus out/
5. 输出CSV格式
ansible-cmdb -t csv -i hosts out/
6. 输出SQL文件(可导入MySQL/SQLite)
ansible-cmdb -t sql -i hosts out/
模板信息
- 默认模板:
html_fancy - 模板位置:
/usr/local/lib/ansible-cmdb/ansiblecmdb/data/tpl/html_fancy.tpl
输出示例
- HTML格式:美观的网页形式展示主机信息
- 文本表格:简洁的表格形式展示指定列信息
- CSV格式:适合导入电子表格软件
- SQL格式:可直接导入数据库
三、关键点总结
-
profile_tasks插件:
- 用于性能分析和优化
- 高版本Ansible自带,低版本需手动安装
- 需在ansible.cfg中启用
-
CMDB插件:
- 多功能资产信息收集工具
- 支持多种输出格式(HTML、文本、CSV、SQL)
- 可使用本地缓存提高效率
- 支持自定义列显示
-
共同特点:
- 都基于Ansible facts收集信息
- 都能帮助管理员更好地了解系统状态
- 都支持自定义配置
通过这两个插件,可以显著提升Ansible的管理效率和可视化程度,特别是在大规模环境中尤为有用。