2017-02-22 16 views
0

Я бы хотел попросить вас о помощи. Я использую saltstack в качестве планировщика заданий для рабов (миньонов), и я хотел бы видеть на главных рабочих мероприятиях, запущенных на миньоне.соль-мастер не получает запланированное мероприятие, запущенное на солярине

Моя установка

Работа планируется на соляных мастера, используя столб для данного миньона. Столб:

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 

Этот файл был создан, и я не изменил его.

В миньону войти можно увидеть:

[ОТЛАДКА] SaltEvent ПАБ сокет URI: /var/run/salt/minion/minion_event_1fa42d8010_pub.ipc [ОТЛАДКА] SaltEvent PULL сокет URI:/вар/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': True, 'schedule': 'cmd', 'cmd': '_return', 'pid': 10264, '_stamp': '2017-02-22T10: 03: 05.750874', 'fun': 'cmd.run', ' 'идентификатор': 'vagrant.vm'} [DEBUG] баловень "соль" обрабатывает тег '__schedule_return'
[DEBUG] schedule.handle_func: Удаление/вар/кэш/соль/миньон/Proc/20170222100305532940 [ 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 

Я не могу видеть эти события открыли огонь по миньона моей запланированной работы. Моей мотивацией для этого является то, что я управляю соляной панелью на моем хозяине, и я хотел бы видеть мои запланированные задания на недавних работах (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).

В разделе «реактор» главной конфигурации вы можете указать список тегов событий, которые должны быть сопоставлены. Каждый тег события может иметь список файлов 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 для получения дополнительной информации о системе реактора соли в.

 Смежные вопросы

  • Нет связанных вопросов^_^