У меня есть мастер и миньон, и я пытаюсь настроить мониторинг через систему реакторов на мастере. Однако я совсем не продвинулся, потому что, насколько я могу судить, события не происходят на мастере. Простое выполнение:
salt-call event.send "foo/bar" '{key:value}' -l debug
от миньона, кажется, пытается отправить событие:
[DEBUG ] Sending event - data = {'_stamp': '2015-11-20T21:40:35.414647'}
[DEBUG ] Sending event - data = {'pretag': None, '_stamp': '2015-11-20T21:40:36.415859', 'tag': 'foo/bar', 'data': {'__pub_fun': 'event.send', '__pub_jid': '20151120154035413430', '__pub_pid': 59391, '__pub_tgt': 'salt-call'}, 'events': None}
Однако мастер, кажется, не хочет иметь с этим ничего общего. Я запускал мастер с включенной отладкой, и, похоже, единственные строки, связанные с foo:
[DEBUG ] Sending event - data = {'tgt_type': 'glob', 'fun_args': ['foo/bar', '{key:value}'], 'jid': '20151120164246710357', 'return': True, 'retcode': 0, 'tgt': 'myminion', 'cmd': '_return', '_stamp': '2015-11-20T21:42:46.712050', 'arg': ['foo/bar', '{key:value}'], 'fun': 'event.send', 'id': 'myminion'}
[DEBUG ] Gathering reactors for tag salt/job/20151120164246710357/ret/myminion
[DEBUG ] Reading configuration from /etc/salt/master
[DEBUG ] Including configuration from '/etc/salt/minion.d/ca.conf'
[DEBUG ] Reading configuration from /etc/salt/minion.d/ca.conf
[DEBUG ] Using cached minion ID from /etc/salt/minion_id: saltmaster
[DEBUG ] Reading configuration from /etc/salt/master
[DEBUG ] Including configuration from '/etc/salt/master.d/reactor.conf'
[DEBUG ] Reading configuration from /etc/salt/master.d/reactor.conf
Теперь поправьте меня, если я ошибаюсь, но я думаю, что событие, которое отправляется в первой строке, является событием для задания event.send, а не фактическим событием, отправленным указанным заданием. Выход
salt-run state.event pretty=True
похоже, согласен, так как он не видит никаких событий с меткой foo / bar, но видит событие, инициированное заданием:
salt/auth {
"_stamp": "2015-11-20T21:47:39.128795",
"act": "accept",
"id": "myminion",
"pub": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1eiIALNfjxI2JN+SUop\nsZGEDUnWy30J5TJsiSmWezfpDbIklb4zl1RmfoCx529KhK349nvDMtlCP0/F4Yq1\nSlKH4FDt8x4XzkErEGFGkbQ1+2a9LXYpA61hHCnq8mLSPCqX6dS3EVq0hzyaQMP2\nt3bquyXTjtlzcQ1/5+9egaHv21ofArBZzU7PDV2pGP9pI4yg4rjg6RJIOHSRyqYb\nEwhkUtWhZUBc/Yx5PL9Ji543JCyXi8jDc7NSyBZyTMadxSZkKmqXBlhdQsa4OVP2\nFuuoyjjvqF6O3P7qOl0kX45O/mBOudDdrskAv/8m1Emh6kuP4Yy/fKCryzcBhiRg\n4QIDAQAB\n-----END PUBLIC KEY-----\n",
"result": true
}
salt/job/20151120164745515025/ret/myminion {
"_stamp": "2015-11-20T21:47:45.517110",
"arg": [
"foo/bar",
"{key:value}"
],
"cmd": "_return",
"fun": "event.send",
"fun_args": [
"foo/bar",
"{key:value}"
],
"id": "myminion",
"jid": "20151120164745515025",
"retcode": 0,
"return": true,
"tgt": "myminion",
"tgt_type": "glob"
}
Мне кажется, что мне не хватает чего-то очень простого, но я не могу понять это. Я предполагаю, что причина, по которой мой реактор не реагирует, в том, что не на что реагировать. Попыток собрать реакторы для foo / bar не делается, но вот конфиг из /etc/salt/master.d/reactor.conf
:
reactor:
- 'foo/bar':
- /srv/salt/reactor/foo.sls
и содержание /srv/salt/reactor/foo.sls
:
log_foo:
local.file.append:
- tgt: myminion
- arg:
- /tmp/reactor_example.txt
- {{ data }}
/tmp/reactor_example.txt
, конечно, пусто.
Кто-нибудь может увидеть, что я делаю не так? Любая помощь приветствуется. Мастер-версия salt-master 2015.5.3 (Lithium)
и версия миньона salt-minion 2015.5.3 (Lithium)
также. Обе системы Ubuntu.
в своей основной конфигурации вы раскомментировали следующую строку
default_include: master.d/*.conf
Если вы этого не сделаете, то добавленный вами response.conf никогда не будет работать.