Puppet 机器上的傀儡代理状态是什么?

Puppet 机器上的傀儡代理状态是什么?,puppet,Puppet,我知道 puppet agent --disable "my message" --verbose 但我想知道在某个特定的机器上,它的傀儡代理状态是什么。我不知道如何从一开始就做到这一点 man puppet-agent 是否有命令告诉我代理是启用还是禁用 非常感谢。 - -------------------编辑 CentOS release 6.6 (Final) bash-4.1$ puppet --version 3.7.4 bash-4.1$ file /usr/bin/pup

我知道

puppet agent --disable "my message"  --verbose
但我想知道在某个特定的机器上,它的傀儡代理状态是什么。我不知道如何从一开始就做到这一点

man puppet-agent
是否有命令告诉我代理是启用还是禁用

非常感谢。 - -------------------编辑

CentOS release 6.6 (Final)

bash-4.1$ puppet --version
3.7.4
bash-4.1$ file /usr/bin/puppet 
/usr/bin/puppet: a /usr/bin/ruby script text executable
-------------------编辑2

无论是启用还是禁用,我都会得到以下信息:

[root@p1al25 ~]# cat `sudo puppet agent --configprint agent_catalog_run_lockfile`
cat: /var/lib/puppet/state/agent_catalog_run.lock: No such file or directory
[root@p1al25 ~]# puppet agent --disable "my message"
[root@p1al25 ~]# cat `sudo puppet agent --configprint agent_catalog_run_lockfile`
cat: /var/lib/puppet/state/agent_catalog_run.lock: No such file or directory
[root@p1al25 ~]# service puppet status
puppet (pid  4387) is running...
-------------------编辑3

这一个成功了,谢谢daxlerod

[root@p1al25 ~]# service puppet status
puppet (pid  4387) is running...
[root@p1al25 ~]# puppet agent --disable "my message" --verbose
Notice: Disabling Puppet.
[root@p1al25 ~]# cat `puppet agent --configprint agent_disabled_lockfile` 
{"disabled_message":"reason not specified"}

代理状态通常用于主从设置

详情如下:

因为你可能会问两个问题。一个是:

我的服务正在运行吗?
答案是运行您的典型服务命令(例如service puppet status)

或者,我的代理完全可以运行吗

答案是使用命令
puppet agent—测试获取当前状态的一行程序是:

cat `puppet agent --configprint agent_disabled_lockfile`
通常,这必须作为root运行,因此我使用:

sudo cat `sudo puppet agent --configprint agent_disabled_lockfile`
有许多可能的结果

  • cat:\path\to\lock:没有这样的文件或目录
    Puppet未被禁用
  • 任何其他文本都表示禁用了puppet,该文本是由
    puppet代理禁用puppet时提供的原因——禁用“原因”

    • 我想我应该在这里发布一个更新的答案

      如果禁用Puppet代理,将有一个文件
      $vardir/state/agent\u disabled.lock
      。如果通过
      puppet代理--disable'cause reasons'
      给出了禁用原因,则此文件还包含禁用的原因

      您可以通过命令
      puppet config print vardir
      获取
      $vardir
      的值


      总而言之:

      [me@linuxbox ~]# cat $(puppet config print vardir)/state/agent_disabled.lock
      
      如果代理被禁用,您将获得:

      {"disabled_message":"because reasons"}
      

      如果代理已启用,则会出现错误“无此类文件或目录”

      什么操作系统?另外,开源木偶还是木偶企业?请参见我的编辑。谢谢你,你不应该编辑你的问题来添加答案。如果puppet是作为gem而不是包安装的,那么
      服务
      命令将不存在。你是对的@BobYoplait,要检查的配置选项是
      代理\u禁用\u锁定文件
      。更新了我的答案。在windows服务器上运行此操作不会返回相同的结果。代理可以启用,但仍然返回一个有效的锁文件。我不敢相信Puppet代理没有更优雅的API,但经过大量研究,似乎你是对的,唯一的方法是编写那个笨拙的命令,同时希望他们没有改变这个内部实现。如此悲伤。