1、查看MASTER的BASE路径,在对应的路径建立_modules文件夹,存放.py的模块
[root@v72 _modules]# cat /etc/salt/master | grep file_roots -A 5
--
file_roots:
base:
- /srv/salt
建立目录:
mkdir -p /srv/salt/_modules
2、在/srv/salt/_modules目录下编写python代码
[root@v72 _modules]# pwd
/srv/salt/_modules
[root@v72 _modules]# cat infos.py
#!/usr/bin/env python
#encoding: utf-8
from subprocess import Popen, PIPE
import os,sys
import time
def getipaddr():
p = Popen(['hostname','-I'], stdout = PIPE)
ip=p.stdout.read()
return ip
def gethostname():
p = Popen(['hostname'], stdout = PIPE)
hostname=p.stdout.read()
return hostname
def getdiskinfo():
p = Popen(['df','-h'], stdout = PIPE)
disks=p.stdout.read()
return disks
def getmemoryinfo():
p = Popen(['free','-m'], stdout = PIPE)
memorys=p.stdout.read()
return memorys
def getbiosinfo():
p = Popen(['dmidecode','-t','bios'], stdout = PIPE)
bios=p.stdout.read()
return bios
def getcpu():
p = Popen(['sar','-u','1','3'], stdout = PIPE)
time.sleep(3)
cpus=p.stdout.read()
return cpus
def getallinfos():
ip="IP地址: "+getipaddr()
hostname="主机名: "+gethostname()
disk="磁盘信息: "+getdiskinfo()
memory="内存信息: "+getmemoryinfo()
bios="BIOS信息: "+getbiosinfo()
cpu="CPU信息: "+getcpu()
return ip,hostname,disk,memory,bios,cpu
#getallinfos()
3、同步模块,执行验证
[root@v72 _modules]# salt '*' saltutil.sync_modules
v72:
- modules.infos
v73:
- modules.infos
运行,验证
[root@v72 _modules]# salt '*' infos.getallinfos
v73:
- IP地址: 192.168.156.73 192.168.122.1
- 主机名: v73
- 磁盘信息: 文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 18G 8.0G 9.5G 46% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 914M 92K 914M 1% /dev/shm
tmpfs 914M 9.1M 905M 1% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 127M 370M 26% /boot
//192.168.156.1/d$ 201G 98G 103G 49% /shared
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
- 内存信息: total used free shared buff/cache available
Mem: 1826 389 357 9 1079 1201
Swap: 2047 0 2047
- BIOS信息: # dmidecode 2.12
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 07/02/2015
Address: 0xEA5E0
Runtime Size: 88608 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 4.6
Firmware Revision: 0.0
- CPU信息: Linux 3.10.0-229.el7.x86_64 (v73) 2019年02月22日 _x86_64_ (1 CPU)
17时06分18秒 CPU %user %nice %system %iowait %steal %idle
17时06分19秒 all 0.00 0.00 0.00 0.00 0.00 100.00
17时06分20秒 all 1.00 0.00 0.00 0.00 0.00 99.00
17时06分21秒 all 0.00 0.00 0.00 0.00 0.00 100.00
平均时间: all 0.33 0.00 0.00 0.00 0.00 99.67
v72:
- IP地址: 192.168.156.72 192.168.122.1
- 主机名: v72
- 磁盘信息: 文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 18G 12G 5.7G 68% /
devtmpfs 903M 0 903M 0% /dev
tmpfs 914M 96K 914M 1% /dev/shm
tmpfs 914M 9.2M 905M 2% /run
tmpfs 914M 0 914M 0% /sys/fs/cgroup
/dev/sda1 497M 127M 370M 26% /boot
//192.168.156.1/d$ 201G 98G 103G 49% /shared
tmpfs 183M 12K 183M 1% /run/user/42
tmpfs 183M 0 183M 0% /run/user/0
- 内存信息: total used free shared buff/cache available
Mem: 1826 719 316 10 791 871
Swap: 2047 0 2047
- BIOS信息: # dmidecode 2.12
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Phoenix Technologies LTD
Version: 6.00
Release Date: 07/02/2015
Address: 0xEA5E0
Runtime Size: 88608 bytes
ROM Size: 64 kB
Characteristics:
ISA is supported
PCI is supported
PC Card (PCMCIA) is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
EDD is supported
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
Smart battery is supported
BIOS boot specification is supported
Function key-initiated network boot is supported
Targeted content distribution is supported
BIOS Revision: 4.6
Firmware Revision: 0.0
- CPU信息: Linux 3.10.0-229.el7.x86_64 (v72) 2019年02月22日 _x86_64_ (2 CPU)
17时06分20秒 CPU %user %nice %system %iowait %steal %idle
17时06分21秒 all 0.00 0.00 0.00 0.00 0.00 100.00
17时06分22秒 all 0.51 0.00 0.00 0.00 0.00 99.49
17时06分23秒 all 0.00 0.00 0.51 0.00 0.00 99.49
平均时间: all 0.17 0.00 0.17 0.00 0.00 99.66
加载哪一部份的信息,只需要在saltstack上面调用对应的方法就可以了