![【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件_第1頁](http://file4.renrendoc.com/view/1206f3e547aedde576503ee402371e9b/1206f3e547aedde576503ee402371e9b1.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件_第2頁](http://file4.renrendoc.com/view/1206f3e547aedde576503ee402371e9b/1206f3e547aedde576503ee402371e9b2.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件_第3頁](http://file4.renrendoc.com/view/1206f3e547aedde576503ee402371e9b/1206f3e547aedde576503ee402371e9b3.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件_第4頁](http://file4.renrendoc.com/view/1206f3e547aedde576503ee402371e9b/1206f3e547aedde576503ee402371e9b4.gif)
![【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件_第5頁](http://file4.renrendoc.com/view/1206f3e547aedde576503ee402371e9b/1206f3e547aedde576503ee402371e9b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
【移動應(yīng)用開發(fā)技術(shù)】Saltstack之Grains組件
參考:劉天斯《Python自動化運維技術(shù)與最佳實踐》grains是Saltstack最重要的組件之一,grains的作用是收集被控主機的基本信息,這些信息通常都是一些靜態(tài)類的數(shù)據(jù),包括CPU、內(nèi)核、操作系統(tǒng)、虛擬化等,在服務(wù)器端可以根據(jù)這些信息進(jìn)行靈活定制,管理員可以利用這些信息對不同業(yè)務(wù)進(jìn)行個性化定制。獲取所有主機的grains項信息,發(fā)現(xiàn)沒有max_openfile,等會我們手動編寫一個。[root@salt-master
base]#
salt
'*'
grains.ls
salt-master:
-
SSDs
-
biosreleasedate
-
biosversion
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
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
-
systemd
-
uid
-
username
-
uuid
-
virtual
-
zmqversion
salt-minion01:
-
SSDs
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
locale_info
-
localhost
-
lsb_distrib_codename
-
lsb_distrib_id
-
lsb_distrib_release
-
master
-
max_open_file
-
mdadm
-
mem_total
-
nodename
-
num_cpus
-
num_gpus
-
os
-
os_family
-
osarch
-
oscodename
-
osfinger
-
osfullname
-
osmajorrelease
-
osrelease
-
osrelease_info
-
path
-
pid
-
ps
-
pythonexecutable
-
pythonpath
-
pythonversion
-
saltpath
-
saltversion
-
saltversioninfo
-
selinux
-
server_id
-
shell
-
uid
-
username
-
virtual
-
zmqversion
hddcluster2:
-
SSDs
-
biosreleasedate
-
biosversion
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
locale_info
-
localhost
-
lsb_distrib_codename
-
lsb_distrib_id
-
lsb_distrib_release
-
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
-
systemd
-
uid
-
username
-
uuid
-
virtual
-
zmqversion
hddcluster4:
-
SSDs
-
biosreleasedate
-
biosversion
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
locale_info
-
localhost
-
lsb_distrib_codename
-
lsb_distrib_id
-
lsb_distrib_release
-
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
-
systemd
-
uid
-
username
-
uuid
-
virtual
-
zmqversion
hddcluster3:
-
SSDs
-
biosreleasedate
-
biosversion
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
locale_info
-
localhost
-
lsb_distrib_codename
-
lsb_distrib_id
-
lsb_distrib_release
-
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
-
systemd
-
uid
-
username
-
uuid
-
virtual
-
zmqversion
hddcluster1:
-
SSDs
-
biosreleasedate
-
biosversion
-
cpu_flags
-
cpu_model
-
cpuarch
-
disks
-
dns
-
domain
-
fqdn
-
fqdn_ip4
-
fqdn_ip6
-
gid
-
gpus
-
groupname
-
host
-
hwaddr_interfaces
-
id
-
init
-
ip4_interfaces
-
ip6_interfaces
-
ip_interfaces
-
ipv4
-
ipv6
-
kernel
-
kernelrelease
-
locale_info
-
localhost
-
lsb_distrib_codename
-
lsb_distrib_id
-
lsb_distrib_release
-
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
-
systemd
-
uid
-
username
-
uuid
-
virtual
-
zmqversio定義grains數(shù)據(jù)的方法有兩種,一種為在被控主機定制配置文件:另一種是通過主控端擴展模塊API實現(xiàn)。我這這里直說主控端,畢竟我們要搞自動化運維,需要批量操作。主控端擴展模塊定制grains數(shù)據(jù)
vim
/etc/salt/master
file_roots:
base:
//基礎(chǔ)平臺
-
/srv/salt/base
prod:
//生產(chǎn)平臺
-
/srv/salt/prod
install
-d
/srv/salt/base/_grains vim
/srv/salt/base/_grains/grains_openfile.py
//編寫一個python腳本獲取max_openfile的值
#!/usr/bin/env
python
#
-*-
coding:utf-8
-*-
import
os,sys,commands
#定義一個獲取最大打開文件數(shù)的函數(shù),函數(shù)名稱沒有要求,符合python函數(shù)命名規(guī)則即可
def
Grains_openfile():
'''
return
os
max
open
file
of
grains
value
'''
grains
=
{}
#初始化一個字典,變量名一定要用grains,以便Saltstack識別
_open_file=65535
#初始化一個默認(rèn)值
try:
getulimit
=
commands.getstatusoutput('source
/etc/profile;ulimit
-n')
except
Exception,e:
pass
if
getulimit[0]==0:
_open_file=int(getulimit[1])
grains['max_open_file']
=
_open_file
#將獲取的ulimit
-n的結(jié)果進(jìn)行賦值,其中'max_open_file'就是grains項,——open_file就是grains的值
return
grains 最后同步模塊到指定被控主機并刷新生效,因為grains比較適合采集靜態(tài)類的數(shù)據(jù),比如硬件、內(nèi)核信息等,當(dāng)有動態(tài)類的功能需求時,需要進(jìn)行刷新。同步操作:服務(wù)端master
[root@salt-master
base]#
salt
'salt-minion01'
saltutil.sync_all
salt-minion01:
beacons:
engines:
grains:
-
grains.grains_openfile
log_handlers:
modules:
output:
proxymodules:
renderers:
returners:
sdb:
states:
utils:
客戶端minion
結(jié)果:文件同步到被控端的cache目錄中
[root@salt-minion01
~]#
find
/
-type
f
-name
grains_openfile.py
/var/cache/salt/minion/files/base/_grains/grains_openfile.py
/var/cache/salt/minion/extmods/grains/grains_openfile.py
#注:/var/cache/salt/minion/extmods/grains/為擴展模塊文件最終存放位置,刷新模塊后將在同路徑下生產(chǎn)字節(jié)碼pyc;/var/cache/salt/minion/files/base/_grains/為臨時存放位置。刷新操作:
[root@salt-master
base]#
salt
'salt-minion01'
sys.reload_modules
salt-minion01:
True
[root@salt-minion01
~]#
find
/
-type
f
-name
grains_openfile.py*
/var/cache/salt/minion/files/base/_grains/grains_openfile.py
/var/cache/salt/minion/extmods/grains/grains_openfile.pyc
//多了一個pyc
/var/cache/salt/minion/extmods/grains/grains_openfile.py查看同步后是否能正常獲取數(shù)據(jù)
[root@salt-master
base]#
salt
'salt-minion01'
grains.item
max_open_file
salt-minion01:
max_open_file:
1024
其他未同步的,并不會有max_open_file數(shù)據(jù)
[root@salt-master
base]#
salt
'*'
grains.item
max_open_file
salt-master:
max_open_file:
salt-minion01:
max_open_file:
1024
hddcluster2:
max_open_file:
hddcluster4:
max_open_file:
hddcluster3:
max_open_file:
hddcluster1:
max_open_file:
[root@salt-master
base]#
其他未同步的,并不會有max數(shù)據(jù),也沒有這個模塊
[root@salt-master
base]#
salt
'*'
grains.item
max
salt-master:
max:
hddcluster2:
max:
salt-minion01:
max:
hddcluster3:
max:
hddcluster4:
max:
hddcluster1:
max:最后再試一下吧,同步所有機器,再刷新所有機器[root@salt-master
base]#
salt
'*'
saltutil.sync_all
salt-master:
beacons:
engines:
grains:
-
grains.grains_openfile
log_handlers:
modules:
output:
proxymodules:
renderers:
returners:
sdb:
states:
utils:
salt-minion01:
//這個同步過了,沒有更新
beacons:
engines:
grains:
log_handlers:
modules:
output:
proxymodules:
renderers:
returners:
sdb:
states:
utils:
hddcluster2:
beacons:
engines:
grains:
-
grains.grains_openfile
log_handlers:
modules:
output:
proxymodules:
renderers:
returners:
sdb:
states:
utils:
hddcluster3:
beacons:
engines:
grains:
-
grains.grains_openfile
log
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年巴音郭楞道路運輸從業(yè)資格證考試內(nèi)容是什么
- 小學(xué)三年級100道口算題
- 2025年欽州貨運上崗證模擬考試題
- 2025年荷澤貨運從業(yè)資格證模擬考試駕考
- 華東師大版七年級數(shù)學(xué)上冊《第3章整式的加減3.1列代數(shù)式3.1.3列代數(shù)式 》聽評課記錄
- 湘教版數(shù)學(xué)八年級下冊《2.2.1平行四邊形的邊、角性質(zhì)》聽評課記錄
- 建筑項目經(jīng)理工作總結(jié)
- 初中理科教研組工作計劃
- 新學(xué)校校辦室工作計劃
- 平面設(shè)計師工作計劃范文欣賞
- 江蘇省鹽城市鹿鳴路初級中學(xué)2024-2025學(xué)年八年級上學(xué)期期末考試語文試題(含答案)
- 社會兒童福利院項目可行性研究報告
- JBT 1306-2024 電動單梁起重機(正式版)
- 2024年輔警招聘考試試題庫含完整答案(各地真題)
- API SPEC 5DP-2020鉆桿規(guī)范
- 創(chuàng)新思維課件(完整版)
- DB34∕T 4161-2022 全過程工程咨詢服務(wù)管理規(guī)程
- 注塑成型工藝參數(shù)知識講解
- 安全生產(chǎn)專業(yè)化管理
- 初中生成長檔案模板
- GB_T 17468-2019 電力變壓器選用導(dǎo)則(高清正版)
評論
0/150
提交評論