2017-02-22 32 views
0

我想問你一個幫助。我使用saltstack作爲奴隸(奴才)的工作調度員,我希望能夠看到在奴才上發起的主要工作事件。salt-master沒有收到在salt-minion上發起的預定職位事件

我的設置

工作定於使用給定的僕從支柱鹽主。支柱是:

schedule_returner: mongo 
schedule: 
    cmd: 
    function: cmd.run 
    args: 
     - date +%s >> /tmp/job_runs 
    minutes: 1 
    maxrunning: 1 

計劃作業在爪牙沒有任何問題時執行。我可以在mongodb中看到返回的數據,並在我的虛擬文件/tmp/job_runs中看到新的時間戳。對奴才/etc/salt/minion.d/_schedule.conf的配置文件是:生成

schedule: 
    __mine_interval: {enabled: true, function: mine.update, jid_include: true, maxrunning: 2, minutes: 60, return_job: false} 
    cmd: 
    args: [date +%s >> /tmp/job_runs] 
    function: cmd.run 
    maxrunning: 1 
    minutes: 1 

這個文件,我沒有修改它。

在僕從日誌I可以看到:

[DEBUG] SaltEvent PUB插座URI: /var/run/salt/minion/minion_event_1fa42d8010_pub.ipc [DEBUG] SaltEvent PULL插座URI:在/ var/run/salt/minion/minion_event_1fa42d8010_pull.ipc [DEBUG]初始化路徑的新IPCClient:/var/run/salt/minion/minion_event_1fa42d8010_pull.ipc [DEBUG]發送事件:tag = __schedule_return; data = {'fun_args':['date +%s >>/tmp/job_runs'],'jid':'req','return': '','retcode':0,'success' 'schedule':'cmd','cmd': '_return','pid':10264,'_stamp':'2017-02-22T10:03:05.750874', 'fun':'cmd.run',' 'salt'處理事件標記'__schedule_return'
[DEBUG] schedule.handle_func:正在刪除/ var/cache/salt/minion/proc/20170222100305532940 ['vagrant.vm'}} DEBUG] LazyLoaded mongo.returner

現在我很樂意傾聽那些帶有標記__schedule_return的事件。 在奴才,我可以運行下面的命令:

wget https://raw.github.com/saltstack/salt/develop/tests/eventlisten.py 
sudo python eventlisten.py -n minion 

eventlisten.py輸出是正確的,我可以看到這個事件。

現在我的問題是:有沒有什麼方法可以聽鹽事大師這個事件?

當我在主辦得差不多了命令:

wget https://raw.github.com/saltstack/salt/develop/tests/eventlisten.py 
sudo python eventlisten.py 

我不能用我的計劃作業上看到馬仔解僱的事件。 我這樣做的動機是我在主人身上運行saltpad,我想在最近的工作中看到我的計劃任務(websockets ...)。

謝謝你的幫助。

回答

0

監聽事件

觀看事件總線的最快方法是通過調用您鹽大師state.event runner

salt-run state.event pretty=True 

觸發事件

這是可能的觸發一個事件使用event.send執行功能從奴才發送給主人:

salt-call event.send '__schedule_return' '{success: True, message: "It works!"}' 

反應堆系統

鹽的反應堆系統能夠觸發響應事件的操作。反應器SLS文件和事件標籤在主配置文件中關聯(默認爲/etc/salt/master/etc/salt/master.d/reactor.conf)。

在主配置節'reactor:'中,您可以指定要匹配的事件標記列表。每個事件標籤都可以包含要運行的反應堆SLS文件的列表。

# Master config section "reactor" 
reactor: 
    # Match tag "__schedule_return" 
    - '__schedule_return': 
    # Things to it matches the tag 
    - /srv/reactor/do_stuff.sls 

參見有關reactor system的文檔有關鹽的反應器系統的更多信息。

相關問題