runners是由salt-run命令調用的,通常我用的到就是jobs和manage模塊。源代碼是在
python
./site-packages/salt/runners/下的。固然咱們能夠自定義runners。緩存
先談談jobs模塊。包含active、lookup_jid、list_job、list_jobs、print_job五種方法。app
salt-run jobs.active ->返回正在執行狀態任務的信息,是個字典。ide
salt-run jobs.lookup_jid jid ->查看已經執行完成的任務對應jid返回的結果
spa
salt-run jobs.list_job jid -> 查看對應jid的信息:方法、參數、包含minion、任務開始時間等。blog
salt-run jobs.list_jobs -> 查看全部任務緩存的信息
utf-8
salt-run jobs.print_job jid -> 相似list_job
v8
下面給個截圖:get
manage模塊。通常用到的方法是status、down、up、versions等。it
salt-run manage.status ->輸出minions的狀態(up和down的狀態)
salt-run manage.up ->輸出處於運行狀態的minions
salt-run manage.down ->輸出處於中止狀態的minions
salt-run manage.versions -> 輸出minions的版本信息
我通常用這個模塊來判斷哪些機器有問題,哪些minions須要升級版本。
下面給個截圖。
如今說說自定義runners。
首先須要修改下master配置文件,增長runners的查找路徑。
runner_dirs: ['/srv/salt/_runners']
重啓master
下面程序用於顯示全部的minion id信息,文件名是kevin.py
#!/usr/bin/env python # coding:utf-8 import salt def get_minions(): opts = salt.config.client_config('/opt/app/salt/etc/master') key = salt.key.KeyCLI(opts) ids = key.key.list_keys() for status,values in ids.items(): for id in values: print id
調用這個runner獲取信息
salt-run kevin.get_minions 192.168.110.132 192.168.110.133 192.168.79.47
runners筆記先寫到這裏,便於之後使用。