我们如何编写一个puppet清单代码,用于标识服务(httpd)是否在puppet客户端/代理上运行.如果没有,它应该启动该服务并发送电子邮件?
class apache {
package { mysql-server: ensure => installed }
if hasstatus == "false" {
service { "mysql":
ensure => running,
require => Package["mysql-server"],
}
}
}
node default {
include apache
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是一个正确的代码.但我想首先检查一下hasstatus,如果服务状态为false,那么我想开始服务并发送一封电子邮件.
谢谢Sanket Dangi
我已经在puppet master中配置了tagmail.conf,并且还启用了puppet报告但是无法接收到我的gmail帐户的邮件.我可以在puppet master上看到puppet agent报告,但是没有收到邮件.我需要为此配置邮件服务器吗?
My Tagmail Conf :
all: xxxxxxx@gmail.com
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Ubuntu 11.10 EC2实例(ami-a562a9cc)配置puppetmaster和puppet客户端.我已启用自动证书签名.但每当我从puppet客户端发出命令:
#puppet agent --server puppet --waitforcert 60 --test
证书已签名但它会引发错误并且不会运行目录文件.
错误信息 :
错误:无法从远程服务器检索目录:hostname与服务器证书警告不匹配:未在失败的目录上使用缓存错误:无法检索目录; 跳过运行错误:无法发送报告:主机名与服务器证书不匹配
在PuppetMaster上应用Manifest文件可以正常工作但不适用于puppetclients.
我已经在亚马逊Linux和Centos上设置了puppet环境,并且它在它们上运行得很好.但我正面临Ubuntu 11.10的这些问题
谢谢Sanket Dangi