找回密码
 注册
查看: 561|回复: 3

ansible-cmdb使用方法 安装流程

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2023-3-27 15:00:01 | 显示全部楼层 |阅读模式

Running from github source:

$ cd ansible-cmdb
3 I, M) H' \. o4 q" U$ export PYTHONPATH=lib
/ e& Z) D. ~7 @( ^$ src/ansible-cmdb examples/out > ~/cmdb.html
0 k$ f# y9 l% `- V; L
+ U) |$ [8 q: K- I+ P) D5 @2 q  t$ src/ansible-cmdb -i examples/hosts examples/out > ~/cmdb.html
' p7 Z, O* W0 r2 Q: v) a; X7 Z9 S3 _: h2 \
$ src/ansible-cmdb -p local_js=1 -i examples/hosts examples/out > ~/cmdb.html
/ v0 N2 m2 s3 w* D; p9 m  @6 c. o8 d& A* h" B; k$ [) I

: u* k% C+ y. S: Y: M; k4 Y

Installing from github source:

$ cd ansible-cmdb$ sudo python ./setup.py install$ ansible-cmdb ansible-cmdb/examples/out > ~/cmdb.html$ ansible-cmdb -i ansible-cmdb/examples/hosts ansible-cmdb/examples/out > ~/cmdb.html$ ansible-cmdb -p local_js=1 -i ansible-cmdb/examples/hosts ansible-cmdb/examples/out > ~/cmdb.html$ sudo pip uninstall mako$ sudo pip uninstall pyyaml$ sudo pip uninstall ansible-cmdb$ sudo rm /usr/local/bin/ansible-cmdb

Installing from source tarbal:

$ tar -vxzf ansible-cmdb-*.tar.gz! R' j& |2 @+ X) W- p
1 O& B$ ?: {' T- k% P
$ cd ansible-cmdb-*
- g% G7 c4 O* Z+ [' P
2 D. s4 |$ x3 _: A) Q/ b$ sudo make install
4 ?% T7 `* }5 d- ]) c3 A1 G
! {! ~/ O+ k# R. i9 R: t' M* E! y6 z" i# X$ ansible-cmdb out > ~/cmdb.html' \2 v4 b" ?% v% H

+ Y; L9 l% S8 v/ T0 n2 }$ ansible-cmdb -i hosts out > ~/cmdb.html
4 B0 K4 t% ~& x6 \& r" Y4 b0 Z  z2 H; P9 R
$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html4 h0 `& f' r6 `
3 T* y2 A5 U0 L$ x! Z0 W: b% ^
$ cd ansible-cmdb-*
& R# J! I% V0 A* c7 D* K4 r9 U) l, ~; @$ O" `% E3 f2 a2 R
$ sudo make uninstall
& J- a( y5 @' }( u& M! N+ S( c# `0 i; o$ x7 @, b2 O  ~
3 ]  _5 O2 [! R- a0 w7 J; K

Installing from .deb file:


  ]3 B' b9 Y) C0 e, ^* V6 z! l

$ dpkg -i -i ansible-cmdb-*.deb. K5 Q4 {' ^) @" Y1 R6 H  i/ q
6 n$ l, Q' r5 i% l3 Y
$ ansible-cmdb out > ~/cmdb.html
' |* O- P6 I: I# @) Y# ]% {! K4 U7 H6 C8 d" ^: t
$ ansible-cmdb -i hosts out > ~/cmdb.html/ H& f6 f  M+ a# p3 c7 p+ T4 |
% i5 g+ e& P( Z
$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html
) ^% F5 O2 Z/ ~9 X0 z& s/ `8 F& p9 N1 B; Y' j! ?3 f7 {. O. Q
$ sudo dpkg --purge ansible-cmdb
% Q8 N$ i7 ~# s* Q, Z! K: ^  r
8 X) V0 E2 p) Z4 y9 h
0 h) \' [& I( Q$ h

Installing from .rpm file:

$ sudo yum install ansible-cmdb*.rpm
6 a  n* C: J! Q1 |+ ?6 J# n& b
5 |& Q, W8 {: S1 k6 ^# h" v- {$ ansible-cmdb out > ~/cmdb.html( e4 i3 q6 K: h" {3 b

8 D: ~: u" D7 g; P* `9 F" A/ U, G$ ansible-cmdb -i hosts out > ~/cmdb.html, A4 ?+ E  D7 H2 y1 M
" o* [% ^& c/ k& Q/ ?
$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html
2 P4 k/ q# J  w1 W- b3 f& m# a* U9 ^* Q9 v" Y. t" j, z, A
$ sudo yum uninstall ansible-cmdb
; @% Y6 K9 d6 N* f. n- D, s+ p* G% r8 E
License

Ansible-cmdb is licensed under the GPLv3:

This program is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program.  If not, see <http://www.gnu.org/licenses/>.For the full license, see the LICENSE file.% A8 u  O& O8 J. [
7 v* W% D7 Q% `8 U  P: `

9 c. }) G$ ^% N0 k  V
6 h/ s1 l; ]6 o' u3 @
2 ^/ E7 L6 T- ]3 O3 Z
  f7 w; M# e* F- T; f! D5 T( ]
$ L/ Y! Q' n, d5 x6 `( z( }' h3 q6 z. T9 P
# o. T3 B7 |, W( ~7 k

2 f: }; u* J+ H; C- X8 f: G
9 @2 X( B# q4 f
0 z0 O  R5 i* `/ o6 a4 _( z+ j9 D0 D# P

9 i7 o# ^& b6 P: q- [
0 ~) ^; h' H/ H! S3 Q. tRunning from github source:0 J) |) H8 p% w2 o# D1 d" x
, a, \$ H! l( D, P1 }
$ cd ansible-cmdb
& f5 `- L$ Q4 c. W5 G$ export PYTHONPATH=lib/ j" H, w) `4 R
$ src/ansible-cmdb examples/out > ~/cmdb.html; k1 i( D6 Y8 S; t
$ src/ansible-cmdb -i examples/hosts examples/out > ~/cmdb.html
. G0 b: N2 T/ X( W( K$ src/ansible-cmdb -p local_js=1 -i examples/hosts examples/out > ~/cmdb.html" Z7 L1 I) P9 _! L
Installing from github source:9 n7 X4 f9 x  s. `9 y, z# i

6 @& ~( _" t8 P$ cd ansible-cmdb
+ C9 @- K; i2 {6 g$ sudo python ./setup.py install9 y3 r) e) i$ ^  g
$ ansible-cmdb ansible-cmdb/examples/out > ~/cmdb.html
% E7 N/ h* ^# j  I4 S" v$ ansible-cmdb -i ansible-cmdb/examples/hosts ansible-cmdb/examples/out > ~/cmdb.html* }9 W5 O+ V: `2 S# s
$ ansible-cmdb -p local_js=1 -i ansible-cmdb/examples/hosts ansible-cmdb/examples/out > ~/cmdb.html2 Q* M$ p2 r6 G* k$ `  H
$ sudo pip uninstall mako
% G* V+ B3 d) z# _5 c' A$ sudo pip uninstall pyyaml
! R, _0 n8 |7 k3 j; E$ sudo pip uninstall ansible-cmdb
( I8 ~' y8 |/ e$ sudo rm /usr/local/bin/ansible-cmdb
& B% p, i+ h4 d' ]* ^. j8 |7 h+ xInstalling from source tarbal:
' ]4 n3 {$ [" M: r6 ^/ O' b
, E% p; Q5 z3 _# }$ l  f$ tar -vxzf ansible-cmdb-*.tar.gz. @9 m9 U8 N$ W! A) M, |
$ cd ansible-cmdb-*
+ t2 \7 ?% c4 @) o: v' d8 S$ sudo make install
& H9 P; Z' f- r: a1 a( N$ ansible-cmdb out > ~/cmdb.html6 `( G; P2 w0 T5 }" H) ~
$ ansible-cmdb -i hosts out > ~/cmdb.html$ T* D3 ]6 v$ N( Q8 }+ H' y8 z1 R
$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html0 c. j5 c4 u$ ?# q% i# ]6 v
$ cd ansible-cmdb-*
% R% A9 U, y$ N0 I4 [% Q1 ~6 F, U$ sudo make uninstall* R& @. ^9 W% V3 _
Installing from .deb file:+ W  d7 c% N) Y
" f$ X7 X# c! D( }
$ dpkg -i -i ansible-cmdb-*.deb
- e; S5 d3 p  X! I4 v$ ansible-cmdb out > ~/cmdb.html5 Y% }, @! x; r* K6 m8 d
$ ansible-cmdb -i hosts out > ~/cmdb.html
, ?, o) x1 W0 f. p$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html
( c0 k5 h/ B. ^$ sudo dpkg --purge ansible-cmdb
; b1 r! X; e& _& c" b4 h+ r0 A1 aInstalling from .rpm file:7 L1 z/ T7 B" r; T) Y/ j

5 b( u1 }  X1 x7 X- R# e6 E$ sudo yum install ansible-cmdb*.rpm
. n  g! J" Y" k$ ansible-cmdb out > ~/cmdb.html2 E* T; {# ^& U( K! b) ~% p
$ ansible-cmdb -i hosts out > ~/cmdb.html
& o9 z8 _0 \" g$ L& n9 d$ ansible-cmdb -p local_js=1 -i hosts out > ~/cmdb.html
5 }7 u2 A7 Z  y, p$ sudo yum uninstall ansible-cmdb, M9 l0 p& s8 R' q$ `2 U: ?
License
$ R6 m0 ]+ x. O+ i% KAnsible-cmdb is licensed under the GPLv3:
7 {: R0 F+ R1 Z1 ^+ @* n$ `$ l* U/ q6 V" n
This program is free software: you can redistribute it and/or modify
4 A0 D* Y! m  I% K& x7 o# k2 {) rit under the terms of the GNU General Public License as published by
0 S5 F2 @, M, U) e" b' bthe Free Software Foundation, either version 3 of the License, or* ]; h% n+ V3 @* @
(at your option) any later version.1 I- m8 y. K) l/ [0 s2 p
, d% n( `3 N# e. s& l0 r/ [1 f6 l  m
This program is distributed in the hope that it will be useful,- A4 a2 Q" @* l/ [' \3 _1 L
but WITHOUT ANY WARRANTY; without even the implied warranty of' I: |6 q6 Q; b! B% a4 o" H0 h
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the/ O4 {3 t! N0 E  L7 R" o( e, S
GNU General Public License for more details.
1 L- T; h# w; C& F* `4 ^
- d2 c/ a' D+ q: B% y% x7 q  iYou should have received a copy of the GNU General Public License7 q& a8 w3 Y/ H. e8 }9 R
along with this program.  If not, see <http://www.gnu.org/licenses/>.
( |. f, q2 Q( H- L( Y7 s" W, w5 G' V' r: f* ?- ?, V0 D
For the full license, see the LICENSE file.8 u! {$ V8 t& B/ M' \
3 @, ], C9 E  N- m4 G8 X7 X

* ?( ^1 B3 s- @: e# R% f+ B
4 l: u8 F7 `) T
6 ~! x  r3 J. b2 A7 [' \( j8 k" [" s5 B/ e5 ?

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2023-3-27 15:00:02 | 显示全部楼层
[root@jumpserver3 ~]# ansible -m setup --tree out/  -i inventory all
( ?, h" O- u7 a使用ansible的setup模块收集数据生成文本文件,并存放到out目录下7 ~8 v) `1 I  G( P

! S. x2 T1 `; W0 @5 ~8 Eansible -i hosts -m setup --tree out/ all
. D( b$ Q6 A# D8 j
  ^" H" q6 y* f9 u6 @$ e6 r- o9 t
4 J# |* a- Q) ?9 w[root@jumpserver3 ~]# ansible-cmdb out/ > overview.html % u3 [% }+ W* x& z. \; b( b
; [+ N6 \0 R2 L# I. E' D+ K
[root@jumpserver3 ~]# ansible-cmdb -c name,groups,vcpus,mem_usage,disk_usage  out/  >overview-list.html + d! @1 S/ k4 Q

) O1 P) O, n( P, |9 A' @% `" @# K0 _. d4 v( H
ansible-cmdb -t /usr/local/lib/ansible-cmdb/ansiblecmdb/data/tpl/csv.tpl  out/ > cmdb.csv

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2023-3-27 15:00:03 | 显示全部楼层
[root@jumpserver3 ~]# ansible -m setup -t html_fancy_split --tree  out/  -i inventory all

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2023-4-19 14:26:15 | 显示全部楼层
如果facts用了本地缓存,-f 指定缓存目录即可。
4 T+ x: H/ |3 L# y/ X6 ^& Z  x
' N, a" F3 M9 A" b. M4 [3 {# R$ `' T8 D$ ?+ M4 t3 S/ F! k
ansible-cmdb -f /path/to/facts/dir > overview.html4 c9 O7 x/ Y1 {
以资产列表得形式统计出ansible主机信息。2 h3 V( G: H" H" v

- O/ X; ]! r0 J+ B) ?- Z1 f# E9 e$ [4 ~: c1 X, Z( D2 u' g0 J
# ansible-cmdb -t txt_table --columns name,os,ip,mem,cpus out/  P8 K0 w$ p1 w
Name       OS          IP              Mem  CPUs  
$ S* k" Q5 }: N7 J---------  ----------  --------------  ---  ----  % Q$ o9 v, r) P6 D) z4 n8 p
localhost  CentOS 7.6  192.168.77.130  1g   1  
4 s+ Z# v4 ~; E  r, \输出csv格式的主机信息。
% q/ i1 l2 `$ q/ Q1 s: J
$ ]  m- M; X& l, Z7 {3 J/ b! d  }/ x' ]* o3 |
# ansible-cmdb -t csv out/            
6 A: z" i2 }! |& H/ e"Name","OS","IP","Arch","Mem","MemFree","MemUsed","CPUs","Virt","Disk avail"
  b% R8 X" g5 M/ y"localhost","CentOS 7.6","192.168.77.130","x86_64/x86_64","1g","0g","1g","1","VMware/guest","28.0g, 0.0g") ^: V( n0 G" ~7 c( ?  ?
输出sql文件,导入数据到mysql或者SQLite。* y6 l/ {% G3 r. Z- ~1 r
) `1 ]  m* L+ t1 x- k2 X0 i

$ H, L5 x4 s  G2 c# ansible-cmdb -t sql out/
/ c% l0 A1 C/ X- uDROP TABLE IF EXISTS hosts;7 w5 D" m, A+ M4 T+ Z# k
CREATE TABLE hosts (
' R' _+ O  H6 R! x# d8 p    name VARCHAR(255),; A/ h) i$ W! R
    fqdn VARCHAR(255),/ X& L. y, X, p! M# r2 D  e2 p. B
    main_ip VARCHAR(15),
; l) H4 M3 l* Y5 S6 I6 `% }    os_name VARCHAR(80),
2 @$ r' z2 y, e( N/ W7 u    os_version VARCHAR(40),8 b% r9 d1 B! E6 H3 _7 c- Z
    system VARCHAR(40),
8 v  u- C& i' h8 w) V0 u1 k; p    kernel VARCHAR(40),* O5 s' i& m# m( M" ]
    arch_hardware VARCHAR(12),
2 _# o6 r/ o' Q4 U; t    arch_userspace VARCHAR(12),
0 V) Y, R" `2 Q  D" E    virt_type VARCHAR(20),% C( w' u: M) [
    virt_role VARCHAR(20),
+ e# i) m$ B1 F    cpu_type VARCHAR(60),( D6 a6 S! N0 z  n- l+ d- W1 p, T* D
    vcpus INT,8 j- G) J' k1 e% m. O( F* s
    ram FLOAT,8 B; J( Z- g; M" R% F
    disk_total FLOAT,
* ~8 M, h6 N7 t$ y) J    disk_free FLOAT
0 ^* o$ t4 O( }  s* z);/ |/ `  O7 D  c  \+ f6 g

  D3 L( c# x% k3 s: f& x  w    INSERT INTO hosts (
+ q2 q( D1 m% G& \0 ?        name,
8 K6 F7 @9 v' \# v        fqdn,  e9 I% J" L0 L; `1 R! e
        main_ip,# z4 G. w& S6 ~* j
        os_name,
1 u$ w3 V. ~5 F* T# S0 B, k3 W3 |        os_version,
" t& H9 X. B' r& {        system,- }6 Y  [) }3 x* \+ Z! J% t
        kernel,( l$ s7 j/ ]2 n( G# t) d& j
        arch_hardware,; i* E8 }! t2 B. y1 m  ]
        arch_userspace,
# r7 G  v; j1 u) B6 l1 E        virt_type,6 `! o" B4 L1 N  e
        virt_role,  ~+ f3 \6 Q$ U
        cpu_type,
6 N* l4 h6 u  O6 m* u' M' W        vcpus,/ @5 Y6 U( c4 E' r7 b- T+ \  r
        ram,
# B, s4 x8 G% S: C, g" m% K        disk_total,
1 x6 o4 C* H1 ^* Q( y/ p        disk_free
2 e9 |; a- @  R8 _9 y" B; H- f    ) VALUES (6 a! o9 K! w) u5 _, }
        "localhost",: q. J( f4 ?% H6 `
        "a23-202-231-167.deploy.static.akamaitechnologies.com",
2 u! ~' ~+ ~) v6 a* g        "192.168.77.130",8 Y' Y5 Z& i# f5 o
        "CentOS",
' i' W! Z0 [. X8 z, b2 I! S. G2 D* ~. Q        "7.6",: q9 q  Z! c7 I4 L, |0 a9 @
        "Linux",
/ D( A9 t" [4 @3 L9 f        "5.1.11-1.el7.elrepo.x86_64",4 ^9 N+ u6 ^2 K9 d; c$ @. J1 f
        "x86_64",( I3 a. `! Y9 @+ V6 ~
        "x86_64",# H& X5 R) r9 s8 T5 a9 X# o) ]
        "VMware",8 [" d. X1 r4 W2 r# z$ C$ }) Q
        "guest",+ g6 [7 k# _- Y$ [. u9 k! I8 M
        "Intel(R) Core(TM) i3-4160 CPU @ 3.60GHz",  `4 b( Y) S; d6 r
        1,
# W1 B% o* f) P& x  Z& h% o        0.9,
  K# j% s. r+ j        29.8,! R8 ~4 n! p1 p2 D2 J' S! q# E
        27.4$ W8 ^7 ]. s% E) p
    );
! Q" i2 v; r* p: r2 W0 `2 O, Z其他模板格式。
6 i. w2 m- E6 L+ J& N& S3 J( d" s3 e! d
5 P# E6 `7 ?2 V& s$ U6 ^, I( h
ansible-cmdb -t json out/
! T4 R' q6 D0 B- q$ Z! ^* Zansible-cmdb -t markdown out/
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 01:48 , Processed in 0.016072 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表