스테이징 서버 상태 테스트용 스크립트

스테이징 서버 상태 테스트용 스크립트

내 조직의 스테이징 서버 상태를 테스트하는 스크립트를 작성하고 싶습니다. 내가 찾고 있는 것은 모든 서버 상태를 확인하고 서버가 다운되거나 성능이 저하되면 이메일 등을 통해 우리에게 경고하는 루프를 스크립트에 추가하는 것입니다!

이것이 우리가 원하는 스크립트의 모습입니다. 어떻게 작성해야 할지 모르겠습니다.

#!/bin/bash
array[server1, server2..]
 loop()
   if (condition to check all the servers)
   then
     echo "server is in good status"
   else
     echo "server is down" -->if its down an email to 
                                    [email protected]
   fi

이것이 제가 시도한 것입니다. 어떤 조언이나 도움이라도 좋을 것입니다!

#!/bin/bash

    ping -c $1
    if [ $? -eq 0 ]
    then
          echo "server is alive"
    else
         echo "this was't was good server"
    fi 

답변1

ICMP 핑 요청을 사용하는 것보다 특정 서비스를 테스트하는 것이 더 나을 수도 있습니다. 이 제안을 수락한다고 가정하면 보안 셸 데몬을 테스트하는 예는 다음과 같습니다.

hostlist=(host1.example.com host2.example.com)
for host in "${hostlist[@]}"; do
    if nc -w 2 -z $host 22; then
        echo "INFO: ssh on $host responding"
    else
        echo "ERROR: ssh on $host not responding"
    fi
done

관련 정보