SaltStack Job管理


 

 

Job基本管理

 Jid: job id,格式為%Y%m%d%H%M%S%f

 在master在下發指令消息時,會附帶上產生的jid.minion在接收到指令開始執行時,會

在本地的cachedir(默認是/var/cache/salt/minion/)下的proc目錄下產生以該jid

命名的文件,用於在執行過程中master查看當前任務的執行情況,指令執行完畢

將結果傳送給master后,刪除該臨時文件

 

master將minion的執行結果存放在本地/var/cache/salt/master/jobs目錄

默認緩存24小時(可以通過修改master配置文件keepjobs選項調整)

 

 

SaltStack模塊中的job管理方法

#查看minion當前正在運行的jobs
# salt '*' saltutil.running

#查看指定jid的job(minion正在運行的jobs)
## salt '*' saltutil.find_job <jid>

#給指定的jid進程發送信號
## salt '*' saltutil.signal_job <jid> <single>

#終止指定的jid進程
# salt '*' saltutil.term_job <jid>

#終止指定的jid進程(信號為9)
## salt '*' saltutil.kill_job <jid>

 

salt runner中的job管理方法

#查看所有minion當前正在運行的jobs(在所有minions上運行saltutil.running)
## salt-run jobs.active

#從master jobs cache中查詢指定jid的運行結果
#salt-run jobs.lookup_jid <jid>

#列出當前master jobs cache中所有job
# salt-run jobs.list_jobs

 

更得jobs參考

http://docs.saltstack.com/en/latest/topics/jobs/index.html

 

Schedule任務管理

SaltStack可以很容易實現批量計算任務的創建和管理

按照官方文檔的描述,計划任務有3種配置方式,分別是

1 在master配置文件中配置

 

2 在minion配置文件中配置

 

3 在pillar中配置


每30分鍾minion執行一次highstate(配置在minion配置文件或pillar中)

 

 


每分鍾查詢一次loadavage,並將結果輸出到mysql returner中

案例:

每分鍾minion端執行時間

# pwd
/srv/pillar/base
# cat schedule.sls 
schedule:
  hellowworld:
    function: cmd.run
    args:
      - date >> /tmp/test.log
    minutes: 1

# cat top.sls 
base:
  'hzbj-tomcat-02(1|2)':
    - match: pcre
    - zabbix-agent
    - schedule

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM