我已经连接了一个主人和奴才,我试图通过主人的反应器系统设置一些监控。 尽pipe如此,我还没有得到什么结果,因为据我所知,主人并没有发生事件。 一个简单的执行:
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}
不过,主人似乎并不想做太多事情。 我一直在用debuggin来运行master,唯一与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的configuration:
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-master 2015.5.3 (Lithium)版本是salt-minion 2015.5.3 (Lithium) 。 两个系统Ubuntu。
在你的主configuration你取消注释下面的行
default_include: master.d/*.conf
如果你没有,那么你添加的reactor.conf将无法工作