内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

Saltstack之Grains組件

參考:劉天斯《Python自動化運維技術(shù)與最佳實踐》

創(chuàng)新互聯(lián)建站是一家專業(yè)提供陽春企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計、做網(wǎng)站、H5網(wǎng)站設(shè)計、小程序制作等業(yè)務(wù)。10年已為陽春眾多企業(yè)、政府機構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進行中。

grains是Saltstack最重要的組件之一,grains的作用是收集被控主機的基本信息,這些信息通常都是一些靜態(tài)類的數(shù)據(jù),包括CPU、內(nèi)核、操作系統(tǒng)、虛擬化等,在

定義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 #初始化一個默認值

    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é)果進行賦值,其中'max_open_file'就是grains項,——open_file就是grains的值
    return grains	

最后同步模塊到指定被控主機并刷新生效,因為grains比較適合采集靜態(tài)類的數(shù)據(jù),比如硬件、內(nèi)核信息等,當有動態(tài)類的功能需求時,需要進行刷新。
同步操作:

服務(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_handlers:
    modules:
    output:
    proxymodules:
    renderers:
    returners:
    sdb:
    states:
    utils:
hddcluster4:
    ----------
    beacons:
    engines:
    grains:
        - grains.grains_openfile
    log_handlers:
    modules:
    output:
    proxymodules:
    renderers:
    returners:
    sdb:
    states:
    utils:
hddcluster1:
    ----------
    beacons:
    engines:
    grains:
        - grains.grains_openfile
    log_handlers:
    modules:
    output:
    proxymodules:
    renderers:
    returners:
    sdb:
    states:
    utils:
[root@salt-master base]# salt '*' sys.reload_modules                    
salt-master:
    True
salt-minion01:
    True
hddcluster2:
    True
hddcluster4:
    True
hddcluster3:
    True
hddcluster1:
    True
[root@salt-master base]# salt '*' grains.item max_open_file
salt-master:
    ----------
    max_open_file:
        8192
hddcluster2:
    ----------
    max_open_file:
salt-minion01:
    ----------
    max_open_file:
        1024
hddcluster3:
    ----------
    max_open_file:
        8192
hddcluster4:
    ----------
    max_open_file:
        8192
hddcluster1:
    ----------
    max_open_file:
        8192

至此,已經(jīng)測試完畢,需要寫其他模塊,可以在_grains目錄下繼續(xù)添加。

分享名稱:Saltstack之Grains組件
URL標題:http://www.rwnh.cn/article16/gcghdg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器網(wǎng)站設(shè)計、網(wǎng)站制作定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
漯河市| 峨山| 湄潭县| 正阳县| 济阳县| 锡林郭勒盟| 伊宁县| 通城县| 海安县| 利辛县| 磐石市| 太原市| 双城市| 横山县| 永州市| 平利县| 田阳县| 弥勒县| 浮梁县| 瓦房店市| 海丰县| 宿松县| 安丘市| 平罗县| 墨脱县| 定兴县| 鲁甸县| 荆门市| 沙湾县| 七台河市| 阆中市| 鄄城县| 阿荣旗| 平顶山市| 项城市| 西乡县| 盐源县| 左权县| 深圳市| 隆化县| 新邵县|