云网牛站
所在位置:首页 > Linux云服务器 > 在Linux系统中安装及使用Ansible-cmdb的方法

在Linux系统中安装及使用Ansible-cmdb的方法

2019-02-14 15:25:39作者:叶云稿源:云网牛站

本文介绍在Linux操作系统中安装及使用Ansible-cmdb的方法,可以从源发行包中安装Ansible-cmdb,也可以使用Python pip包管理器方式安装。

在Linux系统中安装及使用Ansible-cmdb的方法

 

方法1:使用pip安装Ansible-cmdb

在使用此方法安装Ansible-cmdb之前,需要在服务器上安装pip,参考在Ubuntu 18.04系统中安装pip并使用pip命令一文。

1、在CentOS上安装pip

在你选择的终端上运行以下命令以安装pip:

sudo yum -y install epel-release

sudo yum install python-pip

sudo pip install --upgrade pip

2、在Fedora上安装pip

添加epel存储库并安装pip:

sudo dnf install epel-release

sudo dnf install python-pip

sudo pip install --upgrade pip

3、在Ubuntu/Fedora上安装pip

使用该命令:

sudo apt install python-pip

sudo pip install --upgrade pip

4、在Arch Linux/Manjaro上安装pip

使用pacman包管理器:

sudo pacman -S python-pip

sudo pip install --upgrade pip

安装pip后,下载并安装ansible-cmdb:

sudo pip install ansible-cmdb

还可以通过Pip升级Ansible-cmdb:

sudo pip install --upgrade ansible-cmdb

5、对于macOS用户,你可以使用brew:

brew install ansible-cmdb

 

方法2:从源安装Ansible-cmdb

Clone来自Github的源代码:

git clone https://github.com/fboender/ansible-cmdb.git

切换到ansible-cmdb目录并运行make install

cd ansible-cmdb

sudo make install

样本输出如下:

umask 0022 && mkdir -p /usr/local/lib/ansible-cmdb

umask 0022 && mkdir -p /usr/local/man/man1

umask 0022 && cp -a src/* /usr/local/lib/ansible-cmdb

umask 0022 && cp -r lib/* /usr/local/lib/ansible-cmdb

umask 0022 && cp LICENSE /usr/local/lib/ansible-cmdb

umask 0022 && cp README.md /usr/local/lib/ansible-cmdb

umask 0022 && gzip -9 -c contrib/ansible-cmdb.man.1 > /usr/local/man/man1/ansible-cmdb.man.1.gz

umask 0022 && ln -s /usr/local/lib/ansible-cmdb/ansible-cmdb /usr/local/bin/ansible-cmdb

 

使用Ansible-cmdb的方法

要查看ansible-cmdb命令的帮助用法,请执行--help选项,即

# ansible-cmdb --help

Usage: ansible-cmdb.py [option] <dir> > output.html

以下是具体选项内容:

在Linux系统中安装及使用Ansible-cmdb的方法

首先为你的主机生成Ansible输出:

mkdir cmdb-output

ansible -m setup --tree cmdb-output/ all

你也可以指定要运行的用户和密码:

ansible -m setup --user=root --tree cmdb-output/ all --ask-pass

或特定主机组:

ansible -m setup --user=root --tree cmdb-output/ db-servers --ask-pass

接下来,在生成的cmdb-output/目录上调用ansible-cmdb以生成CMDB概述页面:

ansible-cmdb cmdb-output/ > ansible-cmdb-overview.html

默认情况下,使用html_fancy模板,该模板生成包含所有主机概述的输出,并提供每个主机的详细信息部分。

要明确指定使用精美模板进行输出生成,请使用:

ansible-cmdb --template html_fancy cmdb-output/ > ansible-cmdb-overview.html

你现在可以在浏览器中打开overview.html以查看结果:

在Linux系统中安装及使用Ansible-cmdb的方法

要使用自定义清单文件,请使用-i指定其路径:

$ ansible-cmdb -i ./hosts cmdb-output/ > overview.html

如果该位置存在host_vars和group_vars目录,则会自动包含它们。

附:可用模板介绍

Ansible-cmdb目前提供开箱即用的以下模板:

html_fancy:包含所有主机的动态,现代HTML页面。

html_fancy_split:一个动态的现代HTML页面,每个主机的详细信息都在一个单独的文件中。

txt_table:具有一些最小信息的可用主机的快速文本表摘要。

json:转储所有主机,包括JSON格式的组,变量和自定义信息。

csv:CSV模板输出主机的CSV文件。

markdown:Markdown模板以Markdown格式生成主机信息。

sql:SQL模板生成一个.sql文件,可以加载到SQLite或MySQL数据库中。

使用txt_table模板和打印列:

$ ansible-cmdb -t txt_table --columns name,os,ip,mem,cpus cmdb-output/

在Linux系统中安装及使用Ansible-cmdb的方法

获取json输出:

ansible-cmdb -t json cmdb-output/ > cmdb.json

至此,基本使用Ansible-cmdb的方法讲完了。

 

相关主题

在Ubuntu 18.04系统中安装Ansible 2.7.5的方法

精选文章
热门文章