서비스가 종료되었는지(실행 중은 아니지만 실행되어야 함) 확인하는 방법은 무엇입니까?

서비스가 종료되었는지(실행 중은 아니지만 실행되어야 함) 확인하는 방법은 무엇입니까?

/service/...젠투 기반 시스템에 모니터링하고 싶은 서비스가 있습니다 . 실행 중인지 종료 중인지 확인할 수 있지만 svc-status실행 중이 아닌데 실행되어야 하는지 어떻게 알 수 있나요? 따라서 일부 오류로 인해 중지되거나 종료됩니다. 가능합니까?

사용 사례는 동일한 서비스의 인스턴스가 더 많지만 동시에 실행되지는 않는다는 것입니다. 따라서 예를 들어 4개의 인스턴스를 명시적으로 시작한 경우에만 8개의 인스턴스 중 3개가 실행되고 있는 경우 모니터링 스크립트를 통해 알림을 받고 싶습니다.

답변1

이건 직업인 것 같아감시 장치.

바라보다Monit 설치 및 설정 방법.

답변2

이를 달성하기 위해 Monit을 사용할 수 있습니다.

실행 중인 서비스를 자동으로 확인하고 서비스가 없으면 시작합니다. Monit는 귀하에게 이에 대해 알리는 이메일을 보낼 수도 있습니다.

먼저 구성해야 하지만 Monit은 모든 시스템 관리자에게 탁월한 경량 도구입니다.

Monit을 설치하고 구성하는 방법에 대한 몇 가지 예를 찾을 수 있습니다.여기.

답변3

이 논의되었다나의 간식 도구 세트특히, 일부 개념은 daemontools 제품군의 다른 구성원에도 적용됩니다.

Gentoo 사람들에게 말하고 싶을 수도 있습니다.그들의공정 감독위키 기사불행하게도 그것은 구식이고 불완전합니다.

인류에 대한 봉사의 상태

물론 사람이 읽을 수 있는 형식으로 서비스 상태를 가져오는 작업은 , 또는 svstat명령 s6-svstat을 통해 수행 됩니다.sv statperpstat

nosh 도구 세트에는 svstat(일명 service-status) 명령이 있습니다. 다른 daemontools 제품군 도구와 마찬가지로 필요한 서비스 팩 디렉터리를 직접 가리킬 수 있습니다. 또한 도구 세트는 system-control status서비스 팩 디렉토리(다양한 일반 위치)를 조회하고 일반 서비스/대상 이름에서 이를 호출하는 shim을 제공합니다 service-status.

nosh 도구 세트의 service-status명령은 사람이 읽을 수 있는 형식으로 한 줄을 인쇄하거나 서비스별로 사람이 읽을 수 있는 형식으로 여러 줄을 인쇄할 수 있습니다. 둘 다 서비스의 현재 상태를 포함합니다.중지됨,시작,여기 간다,달리기, 또는멈추다. 한 줄 형식에서는 상태가 활성화/비활성화 상태(서비스가 처음에 시작되어야 하는지 부팅 시 종료되어야 하는지 지정)와 다른 경우 해당 줄에 주석이 추가됩니다. 최신 버전에서는 주석에 주의를 끌기 위해 색상이 사용됩니다.

사람이 읽을 수 있는 여러 줄 형식에는 항상 서비스의 명시적인 활성화/비활성화 상태와 서비스 로그의 꼬리와 같은 기타 항목( log/일반 디렉토리가 있는 일반 서비스가 있는 경우 main/)이 포함됩니다. 그러므로 인간으로서 읽고 비교하면 됩니다.

하지만 이건사람이 읽을 수 있는형태. 실제로 안정적으로 구문 분석하는 것은 까다롭습니다. 이는 사람이 읽을 수 있는 출력의 한 줄 형식만 고려합니다.

프로그램 서비스 현황

20세기에 처음 제안된 큐메일 보안 격언 중 하나는 프로그램 간 인터페이스에 대해 사람이 읽을 수 있는 콘텐츠를 구문 분석하는 것은 나쁜 생각이라는 것입니다. 모니터링 프로그램(예: 모니터링 스크립트)을 구현하려면멀리더 나은 사용 채택기계 판독 가능상호 작용.

물론, 기계가 읽을 수 있는 인터페이스 중 하나는 서비스 관리 API 자체입니다. (daemontools-encore 호환) 제어/상태 API는 안정적이고 수년 동안 잘 알려져 있으며 파일 시스템의 FIFO 및 일반 파일일 뿐입니다. 상태를 얻기 위해 서비스 파일을 직접 살펴보는 라이브러리를 작성할 수 있으며, 사람들은 이미 그렇게 하고 있습니다 supervise/ok. supervise/status바라보다Peter Ruibal 및 Andrés J. Díaz의 Python 감독 라이브러리그리고Voxer의 Node JavaScript 라이브러리, 몇 가지 예를 들어보세요.

nosh 도구 세트에는 Microsoft INI 또는 JSON 형식의 서비스 상태에 대해 기계가 읽을 수 있는 출력을 명시적으로 생성하는 명령 svshow( service-show또는 유사한 shim)도 함께 제공됩니다.system-control show

서버/데이터 센터 모니터링 도구에 통합

supervise/statusBernstein daemontools 시스템은 Guenter daemontools-encore에 의해 확장되고 nosh 서비스 관리에 사용되는 다양한 모니터링 시스템으로 알려져 있습니다 . 그대로 사용할 수 있습니다.

추가 편의를 위해 nosh 도구 세트에는 nagios-check-serviceNagios 플러그인으로 직접 사용할 수 있는 명령이 함께 제공됩니다. Nagios 플러그인 프로토콜을 채택하고 적절한 종료 상태를 취하고 적절한 콘텐츠를 stdout/error에 기록하므로 /etc/nagios/nrpe.d/.

추가 읽기

  • 조나단 데보인 폴라드(2015).데몬 도구 계열. 일반적인 답변.
  • 좀 낡았을 수도 있어요스낵 가이드:
    • 조나단 드 보인 폴라드.service-status. 스낵 가이드.
    • 조나단 드 보인 폴라드.service-show. 스낵 가이드.
    • 조나단 드 보인 폴라드. " nagios-check-service."system-control. 스낵 가이드.
  • 최신스낵 가이드다음과 같이 사용 가능데비안/우분투 패키지그리고FreeBSD/PC-BSD/DragonFlyBSD/&c. 팩, 다음 방법을 통해 인터넷 연결 없이 컴퓨터에서 액세스할 수 있습니다.
    • man service-status
    • man service-show
    • man nagios-check-service
    • xdg-open /usr/local/share/doc/nosh/service-status.html
    • xdg-open /usr/local/share/doc/nosh/service-show.html
    • xdg-open /usr/local/share/doc/nosh/system-control.html
  • 브루스 건터. svstat. daemontools-encore 매뉴얼. §8.
  • 게릿 파프. sv. 런북. §8.
  • 웨인 마샬(2013).perpstat. 죄수의 핸드북. §8.
  • 로랑 베르코. s6-svstat. s6 매뉴얼.

답변4

systemd를 실행 중인 경우 다음을 사용하여 모든 서비스의 상태를 쿼리할 수 있습니다.

systemctl list-units

관련 정보