daemontools가족

daemontools가족

서비스 상태를 모니터링해야 합니다 nagios. 구성을 변경하고 새 구성을 적용할 때마다 nagios서비스가 중지되기 때문입니다. "중지" 상태인 것으로 확인되면 자동으로 시작되어야 합니다.

작은 쉘 스크립트를 작성하여 추가해 보았 cron으나 서비스가 실행 중임에도 불구하고 매번 스크립트가 실행되는 것을 발견했습니다. 스크립트는 다음과 같습니다

#!/bin/bash

service nagios status | grep running

if [ $? -ne 0 ]
then
        service nagios start
fi

서비스가 "중지" 상태에 있을 때마다 출력이 service nagios status표시 됩니다 No lock file found in /usr/local/nagios/var/nagios.lock. /usr/local/nagios/var/nagios.lock모니터링 파일을 사용해야 합니까 inotify-tools, 아니면 더 나은 대안이 있습니까?

답변1

더 나은 대안이 있습니까?

예. 적절한 서비스 관리자를 사용하고 /etc/init.d/nagios스크립트를 삭제하십시오. 가장 좋은 시나리오는 upstart 또는 systemd와 같은 호환 모드에서 System 5 스크립트를 사용하는 것입니다 rc. 이 경우 호환 모드에서 사용할 수 없는 유용한 서비스 관리 메커니즘을 얻을 수 없습니다.AskFedora의 이 사람은 그렇지 않기 때문에. 최악의 시나리오는 System 5에서 실행 중이고 rc실제로 절반 수준의 서비스 관리에 이 스크립트를 사용하고 싶지 않다는 것입니다.

다양한 서비스 관리 시스템을 사용할 수 있습니다. 설치에 대한 자세한 내용은 이 답변의 범위를 벗어나므로 다루지 않겠습니다. 대신, nagios 데몬을 시작하고 실행하는 방법에만 집중하겠습니다.

daemontools가족

daemontools서비스 관리 도구 세트 제품군에는 다음이 포함됩니다.

여기서 가장 필요한 것은 데몬이 되는 프로그램입니다. nagios의 경우 2~3줄입니다. 사람들은 이러한 도구 세트를 혼합하고 일치시킬 수 있습니다. 다음은 여러 가지 도구 세트를 사용하는 몇 가지 적합한 2개 라이너입니다.

  • runnosh 도구 세트가 포함된 파일:
    #!/bin/nosh 
    setuidgid nagios
    nagios
    restart무조건 자동 재시작을 유발하는 파일은 다음 과 같습니다 .
    #!/bin/sh 
    실행 참
    단지 재미를 위해 1.13 릴리스에서 사용할 수 있는 사전 구축된 nagios용 서비스 팩을 추가했습니다. 이는 거의 몇 가지 표준 추가 기능(예: 종속성 정보)입니다.
  • runrunit 도구 세트가 포함된 파일:
    #!/bin/sh -e 
    exec chpst -u nagios nagios
  • runs6 도구 세트가 포함된 파일:
    #!/command/execlineb -P 
    s6-setuidgid nagios
    nagios
  • rundaemontools, daemontools-encore 또는 freedt 도구 세트가 포함된 파일:
    #!/bin/sh -e 
    exec setuidgid nagios nagios
  • rc.mainperp 도구 세트가 포함된 파일:
    #!/bin/sh -e 
    exec 2>&1
    start() { exec runuid nagios nagios }
    재설정() { 종료 0 }
    "$1" "$@"

단일 서비스를 실행하는 프로그램은 해당 서비스의 유일한 특별한 점입니다. 나머지는 서비스에 따라 다릅니다. 와 같은 명령어를 사용하면 동일한 방법으로 모든 서비스의 서비스 상태를 조회할 수 있다 svstat. 부팅 시 자동 시작을 활성화 및 비활성화하는 것은 심볼릭 링크의 문제입니다. 서비스를 수동으로 시작하고 중지하는 것이 svc -u문제 입니다 svc -d. 등.

systemctl statusnosh에는 및와 같은 여러 개의 심(필요한 경우)이 있습니다 initctl status. 중요한 것은 스페이서가 있다는 service것입니다.진짜service nagios status계속 사용하셔도 될 것 같습니다 . ☺ 하지만 성가신 잠긴 파일 문제 전체와 임시 모니터링이라는 전체 개념은 잊어버리세요. 올바른 서비스 관리자와 함께라면 이와 같은 문제를 처리할 필요가 없습니다. 서비스 관리자는 데몬을 올바르게 모니터링하고 추적합니다.

체계

상자에는 nagios에 대한 시스템 서비스 단위 파일이 없습니다. 그러나 많은 사람들이 자신만의 글을 썼습니다.

shim 명령은 systemd 와 함께 제공되지 않지만 service일부 Linux 배포판은 다른 소스에서 이를 제공합니다.

추가 읽기

관련 정보