2011-12-30 2 views
1

퍼핏 클라이언트/에이전트에서 서비스 (httpd)가 실행 중인지 여부를 식별하는 퍼핏 매니페스트 코드를 작성하는 방법은 무엇입니까? 그리고 그렇지 않다면, 그 서비스를 시작하고 이메일을 보내야합니까?서비스 상태에 따라 퍼핏 코드 실행

class apache { 
    package { mysql-server: ensure => installed } 
    if hasstatus == "false" { 
     service { "mysql": 
      ensure => running, 
      require => Package["mysql-server"], 
     } 
    } 
} 

node default { 
    include apache 
} 

나는 이것이 올바른 코드가 아닙니다. 하지만 hasstatus를 먼저 확인하고 서비스 상태가 false이면 서비스를 시작하고 전자 메일을 보내려고합니다.

감사 Sanket Dangi


나는 꼭두각시 마스터에 tagmail.conf를 구성하고 또한 꼭두각시 보고서를 사용할 수 있지만, 내 Gmail 계정으로 메일을 수신 할 수 없다. 꼭두각시 인형에 대한 인형 요원 보고서를 볼 수는 있지만 메일을받지 못합니다. 이를 위해 메일 서버를 구성해야합니까?

My Tagmail Conf : 
all: [email protected] 

답변

7

꼭두각시 당신이, 당신이 상태 Z 지정할 대신 Z.을 상태로 가져 액션 Y를 수행하기 전에 X의 값을 확인해야하는 명령 적 쉘 스크립트 아니고 꼭두각시 현재 상태를 확인 전환을 처리합니다.

이것이 의미하는 것은 당신이 그것을 시작 여부를 대신 당신이 MySQL의 서비스 실행되어야한다고 선언하고 인형이는 것입니다 보장 할 것인지 여부를 결정하기 전에 서비스의 상태를 점검 할 필요가 없다는 것입니다 케이스.

는 단순히 package 라인과 함께 매니페스트이 있습니다

service { "mysql": 
    ensure => running, 
    enable => true, 
    require => Package["mysql-server"], 
} 

(가) 라인 패키지가 평가 또는 서비스를 시작하기 전에 설치되어 보장이 필요합니다.

알림을 보내려면 퍼핏의 태그 메일보고 기능을 사용할 수 있습니다. 설정,

mysql, apache: [email protected] 

그리고 마스터의 puppet.conf에 :

[master] 
reports = tagmail 

클라이언트가 보고서 puppet.conf 설정을 On으로 확인 먼저 마스터 /etc/puppet/tagmail.conf에서이 같은 tagmail 파일 (reference docs)을 설정 :

[agent] 
report = true 

이 다음 "mysql을"또는 "아파치"태그 (클래스 이름, 모듈 이름 등)과 모든 자원에 관한 전자 메일을 트리거한다.

+0

고맙습니다. :) –

관련 문제