本文介绍在Linux操作系统中安装及使用Ansible-cmdb的方法,可以从源发行包中安装Ansible-cmdb,也可以使用Python pip包管理器方式安装。
方法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 以下是具体选项内容:
首先为你的主机生成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以查看结果:
要使用自定义清单文件,请使用-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/
获取json输出: ansible-cmdb -t json cmdb-output/ > cmdb.json 至此,基本使用Ansible-cmdb的方法讲完了。
相关主题 |