saltstack的grains使用以及cmd.run.md(四)
grains.items主要用來收集minion端的資訊,方便進行資訊採集,後續的piller使用,根據硬體資訊自動匹配配置檔案等。
基本用法
grains.ls
salt '*' grains.ls 顯示所有minion的item
grains.items
salt '*' grains.items 顯示所有minion的item值
grains.item
salt '*' grains.item os 顯示os的相關資訊。如下 : root@salt ~ # salt 'sa10-003' grains.item os sa10-003: os: RedHat
如果想同時獲取多個item,可以在後面接空格後,直接相關item,如下:
root@salt ~ # salt 'sa10-003' grains.item os osrelease oscodename sa10-003: os: RedHat oscodename: Tikanga osrelease: 5.8
自定義grains: 首先,現在salt的根目錄下(/srv/salt)建一個目錄_grains
mkdir /srv/salt/_grains cd /srv/salt/_grains
假設我要取minion端記憶體的資訊 事例如下: vim mem.py
# -*- coding: utf-8 -*- ''' Module for squid disk information by python ''' import commands import os def cache(): ''' Return the memory usage information for volumes mounted on this minion ''' grains={} m = commands.getoutput("free -g|awk '$0~/Mem/ {print$2+1}'") grains['mem_test']=int(m) return grains
同步到minion端
root@salt _grains # salt 'sa10-003' saltutil.sync_all sa10-003: ---------- grains: - grains.mem #已經同步過來了 modules: outputters: renderers: returners: states:
如果需要更改模組,更改完成後,可以使用下面命令過載:
salt sa10-003 sys.reload_modules
驗證下之前的自定義grains:
root@salt _grains # salt sa10-003 grains.item mem_test sa10-003: mem_test: 2
sa10-003的記憶體資訊:
[root@sa10-003 salt]# free -m total used free shared buffers cached Mem: 2012 1766 246 0 286 1207 -/+ buffers/cache: 272 1739 Swap: 0 0 0
在saltmaster上面自定義grains取到的資訊和本機是一致的
除了salt自帶和我們自定義的items可以取到系統資訊之外,我們還可以使用shell命令在來達到目的;當然,這需要salt的另外一個強大的命令,cmd.run 我要取sa10-003的記憶體資訊,可以使用下面的命令:
root@salt _grains # salt sa10-003 cmd.run 'free -m' sa10-003: total used free shared buffers cached Mem: 2012 1769 242 0 286 1207 -/+ buffers/cache: 275 1736 Swap: 0 0 0
cmd.run在master端進行操作,後面跟著的是系統相關的shell命令,這種方式,可以實現minion端幾乎所有的命令。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30129545/viewspace-1456753/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Saltstack系列4:Saltstack之Grains元件AI元件
- saltstack匹配minion以及自定義使用者組nodegroup(三)
- saltstack使用介紹
- CentOS6/7 使用saltstack源安裝saltstackCentOS
- Saltstack系列5:Saltstack之pillar元件元件
- saltstack的架構架構
- 【Linux】saltstack安裝與初使用Linux
- Saltstack系列2:Saltstack遠端執行命令
- saltstack常用模組
- SaltStack實戰
- saltstack之nginx、php的配置NginxPHP
- Saltstack的yum部署和基礎使用(基於CentOS 7的部署)CentOS
- Saltstack自動化操作記錄(2)-配置使用
- saltstack——安裝篇
- saltstack常用語法
- [翻譯] 深入SaltStack
- saltstack之haproxy的安裝配置
- saltstack03的配置管理
- saltstack之keepalived的安裝配置
- SaltStack中的檔案伺服器伺服器
- saltstack 常用執行模組
- saltstack:常用狀態模組
- saltstack獲取IP地址
- Saltstack基本安裝部署
- saltstack搭建叢集3
- saltStack自動化工具
- saltstack的安裝與簡單配置(一)
- 在CentOS6上使用saltstack原始碼安裝配置mysql薦CentOS原始碼MySql
- 四種AD安裝的情況以及配置方法
- mongodb的安裝以及使用MongoDB
- github的安裝以及使用Github
- Genymotion的安裝以及使用
- saltstack 新增計劃任務薦
- golang 介紹以及踩坑之四Golang
- PHP的工作原理以及lamp四者之間的關係PHPLAMP
- 事務的四大特性,以及隔離級別
- 資料庫事務以及事務的四個特性資料庫
- Java四種引用解析以及在Android的應用JavaAndroid