如何在不刷新支柱的情况下测试 saltminion 与 saltmaster 的连接?

问题描述 投票:0回答:2

我有一个监控脚本,在 minion 上调用

salt-call --skip-grains test.ping
。当它连接到 saltmaster 时,小兵似乎会刷新支柱。我有自定义支柱,加载时间比我想要的要长。有没有办法跳过刷新柱?

我试过使用

--pillar-root
标志指向一个空的支柱目录,
salt-call --skip-grains --pillar-root /root/local_custom_pillar test.ping
但这似乎没有做任何事情,除非我使用
--local
标志。但我不想使用
--local
标志,因为我想测试 saltminion 是否能够连接到 saltmaster.

也许我没有正确地解决这个问题;有没有更好的方法来测试 salt-minion 是否可以连接到 salt-master?

流盐 3000.9

编辑: 像这样但是让 saltmaster 返回一个特定的响应。

    salt.transport.client.ReqChannel.factory(minion_config)
    load = {'cmd': '_return', 'id': minion_id, 'ret':True}
    channel.send(load)
salt-stack
2个回答
0
投票

检查minion当前是否连接到master:

ss -nt | grep '\b4505\b'

要完全确定它是 minion,请使用

-p
标志以 root 身份运行并检查 pid 是否属于 minion 的进程之一。

还有一个配置设置,

ping_interval
,你可以用来强制 minion 重试丢失的连接,即使它没有做任何事情。


0
投票

与@OrangeDog 之前提到的相同想法。

您可以使用此

page
中引用的 salt.runners.manage 命令,其中明确提到了

不会向小兵发送命令

喜欢:

  • salt.runners.manage.alived
  • salt.runners.manage.not_alived
  • salt-run manage.list_state
  • salt-run manage.list_not_state
  • salt.runners.manage.present
  • salt.runners.manage.not_present
  • ...
© www.soinside.com 2019 - 2024. All rights reserved.