runners學習

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

wKioL1PpjovzzNSCAAEtGBcTWWE024.jpg


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須要升級版本。

下面給個截圖。

wKiom1PpjYLTYOv8AAFSeC0dEuw600.jpg


如今說說自定義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筆記先寫到這裏,便於之後使用。

相關文章
相關標籤/搜索