无法使用Puppet停止Dynatrace代理?

时间:2015-12-08 17:18:02

标签: puppet

我正在尝试使用puppet在我的服务器上终止我的dT代理但使用enabled => false似乎无法正常工作?我会假设我必须通过pid来杀死它,但我不确定如何做到这一点

以下是我现在正在使用的内容

root@server]> puppet apply -e "service { '/opt/dynatrace-5.6.0/agent/lib64/dtwsagent': enabled => false, }"
Error: Invalid parameter enabled on Service[/opt/dynatrace-5.6.0/agent/lib64/dtwsagent] at line 1 on node server
Error: Invalid parameter enabled on Service[/opt/dynatrace-5.6.0/agent/lib64/dtwsagent] at line 1 on node server
root@server[/tmp]> ps aux |grep dt
root      1406  0.0  0.1 245828 21676 ?        Sl   Nov14  22:04 /opt/dynatrace-5.6.0/agent/lib64/dtwsagent server=localhost
root     12983  0.0  0.0 103312   860 pts/0    S+   12:07   0:00 grep dt

我还假设在删除目录之前我需要杀掉这个pid?这是我的整个代码块

    file { 'remove_dt62':
        ensure  => absent,
        path    => '/opt/dynatrace-6.2',
        recurse => true,
        purge   => true,
        force   => true,
    }

    file { 'remove_dt56':
        ensure  => absent,
        path    => '/opt/dynatrace-5.6.0',
        recurse => true,
        purge   => true,
        force   => true,
    }

    file { 'remove_dt_conf':
        ensure  => absent,
        path    => "${httpd_root}/conf.d/dtload.conf",
        purge   => true,
        force   => true,
    }

    service { '/opt/dynatrace-5.6.0/agent/lib64/dtwsagent':
    ensure      => stopped,
    enable      => false,
    }

3 个答案:

答案 0 :(得分:1)

服务资源允许Puppet使用现有的服务管理器来停止服务(例如,initd,upstart,systemd),这样你就可以通过提供类似的路径来停止服务。

Like your other question,如果您必须这样做,可以使用base提供商声明删除该服务:

  service { 'dynatrace':
    ensure   => stopped,
    provider => 'base',
    stop     => 'kill -TERM $(ps ax | grep \"dtwsagent\"|grep -v grep|awk '{print \$1}')',
    status   => "ps ax | grep "dtwsagent"",
  }

如您所见,您可以指定要运行的确切命令以停止服务并检查它是否存在。

答案 1 :(得分:1)

您可能需要查看Dynatrace Puppet Module。其class dynatrace::role::wsagent_package允许启用和禁用wsagent。

答案 2 :(得分:-1)

我对您的具体问题没有答案,但您会在Dynatrace Discussion Forum找到更多dynatrace专家和答案。如果我是你,我会在那里重新提出问题!