【12.27】自动化运维
24.6 grains
grains 是在 minion 启动时收集到的一些信息,比如操作系统类型、网卡 ip、内核版本、cpu 架构等
- salt ‘主机名’ grains.ls 列出所有的grains项目名字
[root@arslinux-01 ~]# salt 'arslinux-01' grains.ls
arslinux-01:
- SSDs
- biosreleasedate
- biosversion
- cpu_flags
- cpu_model
- cpuarch
- disks
- dns
- domain
- fqdn
- fqdn_ip4
- fqdn_ip6
- fqdns
- gid
- gpus
- groupname
- host
- hwaddr_interfaces
- id
- init
- ip4_gw
- ip4_interfaces
- ip6_gw
- ip6_interfaces
- ip_gw
- ip_interfaces
- ipv4
- ipv6
- kernel
- kernelrelease
- kernelversion
- locale_info
- localhost
- lsb_distrib_codename
- lsb_distrib_id
- machine_id
- manufacturer
- master
- mdadm
- mem_total
- nodename
- num_cpus
- num_gpus
- os
- os_family
- osarch
- oscodename
- osfinger
- osfullname
- osmajorrelease
- osrelease
- osrelease_info
- path
- pid
- productname
- ps
- pythonexecutable
- pythonpath
- pythonversion
- saltpath
- saltversion
- saltversioninfo
- selinux
- serialnumber
- server_id
- shell
- swap_total
- systemd
- uid
- username
- uuid
- virtual
- zfs_feature_flags
- zfs_support
- zmqversion
- salt ‘arslinux-01’ grains.items 列出所有grains项目以及值
[root@arslinux-01 ~]# salt 'arslinux-01' grains.items
arslinux-01:
----------
SSDs:
biosreleasedate:
07/02/2015
biosversion:
6.00
cpu_flags:
- fpu
- vme
- de
- pse
- tsc
- msr
- pae
- mce
- cx8
- apic
- sep
- mtrr
- pge
- mca
- cmov
- pat
- pse36
- clflush
- dts
- mmx
- fxsr
- sse
- sse2
- ss
- syscall
- nx
- pdpe1gb
- rdtscp
- lm
- constant_tsc
- arch_perfmon
- pebs
- bts
- nopl
- xtopology
- tsc_reliable
- nonstop_tsc
- aperfmperf
- eagerfpu
- pni
- pclmulqdq
- ssse3
- fma
- cx16
- pcid
- sse4_1
- sse4_2
- x2apic
- movbe
- popcnt
- tsc_deadline_timer
- aes
- xsave
- avx
- f16c
- rdrand
- hypervisor
- lahf_lm
- abm
- 3dnowprefetch
- epb
- fsgsbase
- tsc_adjust
- bmi1
- avx2
- smep
- bmi2
- invpcid
- rdseed
- adx
- smap
- xsaveopt
- dtherm
- arat
- pln
- pts
- hwp
- hwp_notify
- hwp_act_window
- hwp_epp
cpu_model:
Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz
cpuarch:
x86_64
disks:
- sda
- sdb
- sr0
- dm-0
dns:
----------
domain:
ip4_nameservers:
- 119.29.29.29
ip6_nameservers:
nameservers:
- 119.29.29.29
options:
search:
sortlist:
domain:
fqdn:
arslinux-01
fqdn_ip4:
- 192.168.194.130
fqdn_ip6:
- fe80::c905:5e78:b916:41da
- fe80::f41:9da7:d8e3:10ba
fqdns:
gid:
0
gpus:
|_
----------
model:
SVGA II Adapter
vendor:
vmware
groupname:
root
host:
arslinux-01
hwaddr_interfaces:
----------
ens33:
00:0c:29:24:ea:f2
ens37:
00:0c:29:24:ea:fc
lo:
00:00:00:00:00:00
id:
arslinux-01
init:
systemd
ip4_gw:
192.168.194.2
ip4_interfaces:
----------
ens33:
- 192.168.194.130
- 192.168.194.150
ens37:
- 192.168.100.1
lo:
- 127.0.0.1
ip6_gw:
False
ip6_interfaces:
----------
ens33:
- fe80::c905:5e78:b916:41da
- 192.168.194.150
ens37:
- fe80::f41:9da7:d8e3:10ba
lo:
- ::1
ip_gw:
True
ip_interfaces:
----------
ens33:
- 192.168.194.130
- fe80::c905:5e78:b916:41da
- 192.168.194.150
ens37:
- 192.168.100.1
- fe80::f41:9da7:d8e3:10ba
lo:
- 127.0.0.1
- ::1
ipv4:
- 127.0.0.1
- 192.168.100.1
- 192.168.194.130
- 192.168.194.150
ipv6:
- ::1
- fe80::f41:9da7:d8e3:10ba
- fe80::c905:5e78:b916:41da
kernel:
Linux
kernelrelease:
3.10.0-957.el7.x86_64
kernelversion:
#1 SMP Fri Dec 27 23:39:32 UTC 2018
locale_info:
----------
defaultencoding:
UTF-8
defaultlanguage:
zh_CN
detectedencoding:
UTF-8
localhost:
arslinux-01
lsb_distrib_codename:
CentOS Linux 7 (Core)
lsb_distrib_id:
CentOS Linux
machine_id:
0b3b2aee4c754c669d6ca09336428b22
manufacturer:
VMware, Inc.
master:
arslinux-01
mdadm:
mem_total:
2827
nodename:
arslinux-01
num_cpus:
1
num_gpus:
1
os:
CentOS
os_family:
RedHat
osarch:
x86_64
oscodename:
CentOS Linux 7 (Core)
osfinger:
CentOS Linux-7
osfullname:
CentOS Linux
osmajorrelease:
7
osrelease:
7.6.1810
osrelease_info:
- 7
- 6
- 1810
path:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
pid:
4817
productname:
VMware Virtual Platform
ps:
ps -efHww
pythonexecutable:
/usr/bin/python
pythonpath:
- /usr/bin
- /usr/lib64/python27.zip
- /usr/lib64/python2.7
- /usr/lib64/python2.7/plat-linux2
- /usr/lib64/python2.7/lib-tk
- /usr/lib64/python2.7/lib-old
- /usr/lib64/python2.7/lib-dynload
- /usr/lib64/python2.7/site-packages
- /usr/lib/python2.7/site-packages
pythonversion:
- 2
- 7
- 5
- final
- 0
saltpath:
/usr/lib/python2.7/site-packages/salt
saltversion:
2019.2.0
saltversioninfo:
- 2019
- 2
- 0
- 0
selinux:
----------
enabled:
False
enforced:
Disabled
serialnumber:
VMware-56 4d 2d 5f 36 b3 f6 de-b7 99 1d 0c 81 24 ea f2
server_id:
858362777
shell:
/bin/sh
swap_total:
1952
systemd:
----------
features:
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
version:
219
uid:
0
username:
root
uuid:
5f2d4d56-b336-def6-b799-1d0c8124eaf2
virtual:
VMware
zfs_feature_flags:
False
zfs_support:
False
zmqversion:
4.1.4
—— grains 的信息并不是动态的,并不会实时变更,它是在 minion 启动时收集到的。
—— 我们可以根据 grains 收集到的一些信息,做配置管理工作
—— grains支持自定义信息
1、在 minion 端的 /etc/salt/grains 里添加两行,重启 salt-minion
[root@arslinux-02 ~]# vim /etc/salt/grains
env: test
role: nginx
[root@arslinux-02 ~]# systemctl restart salt-minion
2、master 上获取 grains
[root@arslinux-01 ~