Ansible 插件 操作介绍
字数 1002 2025-08-18 11:38:08

Ansible插件操作详解

一、Ansible任务计时插件(profile_tasks)

功能概述

profile_tasks插件用于统计Ansible playbook中每个任务的执行时间,为性能优化提供数据支持。

安装与配置

方法一:使用Ansible自带插件(2.2+版本)

  1. Ansible 2.2及以上版本已自带此插件
  2. 文件路径:/usr/lib/python2.6/site-packages/ansible/plugins/callback/profile_tasks.py
  3. 只需在ansible.cfg中启用:
    callback_whitelist = profile_tasks
    

方法二:手动安装(适用于所有版本)

  1. 创建插件目录:
    cd /etc/ansible
    mkdir callback_plugins
    cd callback_plugins
    
  2. 下载插件文件:
    wget https://raw.githubusercontent.com/jlafon/ansible-profile/master/callback_plugins/profile_tasks.py
    
  3. 对于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收集信息,生成主机概述,以多种格式展示资产信息。

安装步骤

  1. 下载安装包:
    wget https://github.com/fboender/ansible-cmdb/releases/download/1.17/ansible-cmdb-1.17.tar.gz
    
  2. 解压并安装:
    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

输出示例

  1. HTML格式:美观的网页形式展示主机信息
  2. 文本表格:简洁的表格形式展示指定列信息
  3. CSV格式:适合导入电子表格软件
  4. SQL格式:可直接导入数据库

三、关键点总结

  1. profile_tasks插件

    • 用于性能分析和优化
    • 高版本Ansible自带,低版本需手动安装
    • 需在ansible.cfg中启用
  2. CMDB插件

    • 多功能资产信息收集工具
    • 支持多种输出格式(HTML、文本、CSV、SQL)
    • 可使用本地缓存提高效率
    • 支持自定义列显示
  3. 共同特点

    • 都基于Ansible facts收集信息
    • 都能帮助管理员更好地了解系统状态
    • 都支持自定义配置

通过这两个插件,可以显著提升Ansible的管理效率和可视化程度,特别是在大规模环境中尤为有用。

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中启用: 方法二:手动安装(适用于所有版本) 创建插件目录: 下载插件文件: 对于Ansible 2.0版本,需在ansible.cfg中添加: 使用效果 执行playbook时会显示每个task的用时情况 在PLAY RECAP处会汇总所有task执行消耗的时间 时间统计会按照耗费时间排序 示例输出 二、Ansible CMDB插件 功能概述 从facts收集信息,生成主机概述,以多种格式展示资产信息。 安装步骤 下载安装包: 解压并安装: 使用方法 1. 生成所有主机的facts信息 2. 生成Web页面 3. 使用本地缓存 4. 以资产列表形式统计 5. 输出CSV格式 6. 输出SQL文件(可导入MySQL/SQLite) 模板信息 默认模板: 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的管理效率和可视化程度,特别是在大规模环境中尤为有用。