서비스 정의에 대한 MON 도움말

이것은 MON 구성의 두 번째이자 마지막 단계입니다.

필수 서비스에 대한 기본값이 표시됩니다 . 서비스 정의에 대한 자세한 도움말은 아래의 해당 도움말 항목을 참조하십시오.

"mail.alert"의 경우 , sendmail이 구성되고 호스트 시스템에서 "sendmail" 데몬이 시작되었는지 확인하십시오.

서비스 정의

서비스 서비스 이름
서비스 정의는 키워드 service로 시작하고이 서비스의 태그 인 단어가 뒤에옵니다.

서비스의 구성 요소는 아래 정의 된대로 간격, 모니터 및 하나 이상의 기간 정의입니다.

서비스 이름 "default"가 "dafault"라는 감시 그룹 내에 정의 된 경우 (위 참조) 알 수없는 mon 트랩을 처리하는 데 기본 / 기본 정의가 사용됩니다.

간격 timeval 형
키워드 간격 뒤에 시간 값이 오면 모니터 스크립트가 트리거되는 빈도를 지정합니다. 시간 값은 "30s", "5m", "1h"또는 "1d"로 정의되며 30 초, 5 분, 1 시간 또는 1 일을 의미합니다. 숫자 부분은 "1.5h"또는 1 시간 반과 같은 분수 일 수 있습니다. 이 시간 지정 형식은 timeval 이라고합니다.

traptimeout timeval 형
이 키워드는 간격과 동시에 사양 인수를 받아, 종종 다른 오류가 등록됩니다 적어도 외부 소스에서 트랩 기대하는 서비스를한다. 하트 비트 스타일 서비스에 사용됩니다.

trapduration timeval 형
트랩이 수신되면 트랩이 전달 된 서비스 상태는 일반적으로 일정하게 유지됩니다. trapduration 을 지정하면 timeval에 지정된 기간 동안 서비스 상태가 실패 상태로 유지되고 "성공"으로 재설정됩니다.

randskew timeval 형
각 간격의 시작에서 모니터 스크립트가 실행되도록 스케줄하지 않고, 간격 매개 변수에 의해 지정된 간격 을 플러스-마이너스 랜드 스크 로 임의로 조정하십시오 . 스큐 값은 간격 매개 변수 "30s", "5m"등으로 지정됩니다. 예를 들어 interval 이 1m이고 randskew 가 "5s"인 경우 mon 은 55 초마다 모니터 스크립트를 스케줄합니다. 65 초 많은 서비스가 동일한 간격으로 예약 될 때 서버에로드를 분산시키는 데 도움이됩니다.

모니터 모니터 이름 [arg ...]
키워드 모니터 와 스크립트 이름 및 인수는 타이머가 만료 될 때 실행할 모니터를 지정합니다. 모니터 스크립트에 보낼 인수를 지정할 때 쉘과 같은 인용 규칙이 따릅니다. 스크립트는 -s 인수와 함께 제공된 디렉토리에서 호출되며, 모든 다음 단어는 모니터 프로그램에 인수로 제공되고 그 다음에 현재 감시 그룹이 참조하는 그룹의 호스트 목록이 제공됩니다. 모니터 라인이 ";;"로 끝나는 경우 별도의 단어로, 프로그램이 호출 될 때 호스트 그룹이 인수 목록에 추가되지 않습니다.

allow_empty_group
allow_empty_group 옵션을 사용하면 비활성화 된 호스트로 인해 해당 시계의 호스트 그룹이 비어있는 경우에도 모니터를 호출 할 수 있습니다. 호스트 그룹의 모든 호스트가 비활성화 된 경우 기본 동작은 모니터를 호출하지 않는 것입니다.

설명 설명 텍스트
다음 설명 텍스트는 클라이언트 프로그램에 의해 조회되며 환경 변수를 통해 경보 및 모니터로 전달됩니다. 이메일이나 웹 페이지에 포함하기에 적합한 서비스에 대한 간단한 설명을 포함해야합니다.

exclude_hosts host [host ...]
exclude_hosts 뒤에 나열된 모든 호스트는 서비스 확인에서 제외됩니다.

exclude_period periodspec
periodspec에 의해 식별 된 시간 동안 스케줄 된 모니터를 실행하지 마십시오.

의존하는 표현
depend 키워드는 부울 의미에서 true 또는 false로 평가되는 종속성 표현식을 지정하는 데 사용됩니다. 종속성은 실제 Perl 표현식이며 모든 구문 규칙을 준수해야합니다. 표현식은 실수로 원하지 않는 부작용을 갖지 않도록 자체 패키지 공간에서 평가됩니다. 식을 평가할 때 구문 오류가 발견되면 syslog를 통해 기록됩니다.

평가하기 전에 표현식에서 다음과 같은 대체가 발생합니다. "group : service"와 같은 문구는 지정된 서비스의 현재 작동 상태 값으로 대체됩니다. 이러한 opstatus 대체는 재귀 적으로 계산되므로 서비스 A가 서비스 B에 의존하고 서비스 B가 서비스 C에 의존하면 서비스 A는 서비스 C에 의존합니다. 성공적인 작동 상태 ( "1"로 평가)는 "STAT_OK", "STAT_COLDSTART ","STAT_WARMSTART "및"STAT_UNKNOWN ". 단어 "SELF"(모든 대문자)는 그룹에 사용될 수 있으며 (예 : "SELF : service") 현재 워치 그룹의 약자입니다.

이 기능은 다른 서비스에 의존하는 서비스 (예 : 핑 가능한 시스템에 의존하는 SMTP 테스트)에 대한 경고를 제어하는 데 사용할 수 있습니다.

dep_behavior {a | m}
종속성 그래프의 평가는 경고 또는 모니터 호출의 억제를 제어 할 수 있습니다.

경고 억제 . 이 옵션을 "a"로 설정하면 서비스 종료 후 또는 트랩 수신 후 종속성 표현식이 평가됩니다. 평가가 성공한 경우에만 경고가 전송됩니다. 즉, 종속성 그래프의 노드가 실패를 나타내는 것이 없습니다.

모니터 억제 . "m"으로 설정되면 서비스에 대한 모니터가 실행되기 전에 종속성 표현식이 증발됩니다. 증발이 성공하면 모니터가 실행됩니다. 그렇지 않으면 모니터가 실행되지 않고 서비스 상태가 동일하게 유지됩니다.

 

기간 정의

기간은 경고를 전달할 수있는 조건을 정의하는 데 사용됩니다.

기간 [label :] periodspec
기간은 하나 이상의 경보와 변수를 그룹화하여 장애 발생시 경보 발생 빈도를 제어합니다. period 키워드는 두 가지 형태가 있습니다. 첫 번째는 Patrick Ryan의 Time :: Period Perl 5 모듈의 기간 사양 인 인수를 사용합니다. 자세한 내용은 "perldoc Time :: Period"를 참조하십시오.

두 번째 양식에는 위에서 정의한대로 레이블과 기간 지정이 필요합니다. 레이블은 영문자 또는 밑줄로 구성되고 0 개 이상의 영숫자 또는 밑줄로 구성되며 콜론으로 끝나는 태그입니다. 이 양식은 기간 정의가 동일한 여러 기간을 허용합니다. 한 가지 용도는 특정 기간 동안 alertafter 또는 alertevery 매개 변수가없는 기간 정의를 사용하고 다른 매개 변수를 포함하는 다른 경보 세트를 사용하는 동일한 기간 동안 다른 기간을 사용하는 것입니다.

alertevery timeval 형
alertevery 키워드 ( 기간 정의 내)는 interval 변수와 동일한 유형의 인수를 사용하며 서비스가 계속 실패 할 때 경고가 전송되는 횟수를 제한합니다. 예를 들어, 간격이 "1h"인 경우 기간 섹션의 경보 만 1 시간마다 한 번만 트리거됩니다. 기간 항목에서 alertevery 키워드를 생략하면 오류가 감지 될 때마다 경고가 전송됩니다. 기본적으로 두 개의 연속 실패의 출력이 변경되면 경보 간격이 재정의됩니다. "summary"라는 단어가 마지막 인수 인 경우 연속 실패의 출력을 비교할 때 요약 출력 행만 고려됩니다.

alertafter NUM

alertafter num timeval
alertafter 키워드 ( 마침표 섹션 내)에는 "num"인수 또는 "num timeval"인수 만있는 두 가지 형식이 있습니다. 첫 번째 양식에서 "num"연속 실패 후에 만 경보가 호출됩니다.

두 번째 형태에서, 인수는 위의 간격 변수에 의해 설명 된 바와 같이 양의 정수 다음에 간격 이옵니다. 이러한 매개 변수를 지정하면 해당 기간 동안 많은 실패가 발생한 후에 만 해당 기간에 대한 경보가 호출됩니다. 예를 들어, alertafter 에 인수 "3 30m"이 제공되면 30 분 내에 3 번의 실패가 발생하면 경고가 호출됩니다.

numalerts num

이 변수는 서버가 실패하는 동안 최대 num 개의 경보를 호출하도록합니다. 경고 카운터는 기간별로 유지되며 성공할 때마다 재설정됩니다.

comp_alerts

이 옵션을 지정하면 해당 "작동 중지"경고가 호출 된 경우에만 upalert가 호출됩니다.

경고 경고 [arg ...]
기간에는 서비스 실패시 트리거되는 여러 경고가 포함될 수 있습니다. 경보는 alert 키워드와 함께 선택적 종료 매개 변수와 모니터 정의와 동일하지만 ";;"없이 해석되는 인수로 지정됩니다. 예외. exit 매개 변수는 exit = x 또는 exit = xy 의 형식을 취하며 모니터 스크립트의 종료 상태가 exit 매개 변수 범위 내에있는 경우에만 경보가 호출됩니다. 예를 들어, 경고 행이 alert exit = 10-20 mail.alert mis 인 경우 모니터 프로그램의 종료 값이 10과 20 사이 인 경우 인수로만 mail-alertmis 로 호출됩니다.이 기능을 사용하면 트리거 할 수 있습니다. 사용 가능한 디스크 공간이 8 %에서 3 %로 갈 때와 같이 다른 심각도 수준에서 다른 경고.

mon이 자동으로 경고 프로그램에 전달할 pramaeters 목록은 위의 ALERT PROGRAMS 섹션을 참조하십시오.

upalert 경고 [arg ...]
upalert경고 의 칭찬입니다. 서비스가 상태를 실패에서 성공으로 전환 할 때 upalert가 호출됩니다. upalert 스크립트는 경고 스크립트와 동일한 매개 변수를 제공하는 것으로, 경고 스크립트가 upalert로 호출되고 있음을 알리는 데 사용되는 -u 매개 변수를 추가합니다. 기간 정의마다 여러 개의 upalert가 지정 될 수 있습니다. 기본 동작은 이전 "다운"경고가 전송되었는지 여부에 관계없이 upalert가 전송되는 것입니다. upalert는 상태 전환시 트리거되기 때문입니다. 기간별 comp_alerts 옵션을 설정하여 upalert를 "down"경고와 쌍을 이루십시오.

startupalert 경고 [arg ...]
startupalertmon 서버가 실행을 시작할 때만 호출됩니다.

upalertafter timeval 형
upalertafter 파라미터 간격 파라미터의 구문 ( "30", "1m"등)을 따르며, 컨트롤은 An upalert 트리거링 문자열로 지정된다. 이 옵션의 값보다 크거나 같은 시간 동안 서비스가 중단 된 후 서비스가 다시 시작되면 upalert 가 호출됩니다. "블립"(부패 중단)으로 인해 경보가 호출되지 않도록하려면이 옵션을 사용하십시오.