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笔记先写到这里,便于之后使用。