SaltStack之Job管理和Runner(八)


SaltStack之Job管理和Runner

配置文件/etc/salt/master

cachedir: /var/cache/salt/master  # cache路徑
keep_jobs: 24  # job保存時間

salt執行模塊官方文檔  https://docs.saltstack.com/en/latest/ref/modules/all/index.html

 

  • 如何將master的返回加入mysql數據庫?

1)數據庫表結構創建可參考 http://www.cnblogs.com/shhnwangjian/p/5986964.html 的第三節“返回程序”

2)yum install -y MySQL-python  創建python的mysql模塊

3)修改master配置文件

vi /etc/salt/master
master_job_cache: mysql
mysql.host: '192.168.137.11'
mysql.user: 'salt'
mysql.pass: 'salt@pw'
mysql.db: 'salt'
mysql.port: 3306

4)重啟  systemctl restart salt-master.service

5)測試:

salt '*' test.ping
數據中查詢 select * from  salt_returns;

 

  • 如何kill salt正在執行的任務?

文檔 https://docs.saltstack.com/en/latest/ref/modules/all/salt.modules.saltutil.html#module-salt.modules.saltutil

salt '*' saltutil.running  # 查看正在運行的任務,找到jid

salt '*' saltutil.kill_job jid  # 根據jid殺掉任務

salt '*' saltutil.clear_cache  # 清除minion緩存

備注:

1)正在執行的salt任務,job id會存在minion端的/var/cache/salt/minion/proc目錄下

2)正在執行的salt任務,根據上面master cache的配置,Job的路徑/var/cache/salt/master/jobs目錄下

 

salt runners

官方文檔 https://docs.saltstack.com/en/latest/ref/runners/index.html

命令:salt-run

舉例:

salt-run jobs.list_jobs  # 列出當前保存在job cache中的歷史執行任務
salt-run jobs.lookup_jid jid  # 查看歷史jid執行結果

備注: 我們通過salt命令開頭執行時,所有的命令master端分發至minion端,由minion端自己執行,如果一個模塊在master存在,在minion端不存在,就會出現執行失敗的情況。為了解決這個問題,提供salt runners模塊,它是將所有的命令在master端執行。

salt-run manage.status  #  查看minion的狀態

salt-run manage.down
salt-run manage.up

salt-run manage.versions  #  查看minion的版本

 


免責聲明!

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



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