我正在尝试使用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,
}
答案 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专家和答案。如果我是你,我会在那里重新提出问题!