**** 당연히 텔레그램 봇을 생성하고 봇 API 키를 받았다고 가정합니다. ****

지정된 웹 페이지의 접속이 정상적이면

현재 서버는 정상적으로 외부에서 접속이 가능한 상태이다 라고 간주하는 형태의 TEST 입니다.
 
--------------------------------------------------------------------------------------------
 

1. 서비스 서버의 동작 여부를 모니터링 한다.

 

A. 서비스 서버 - 모니터링 서버의 요청에 응답할 페이지 생성

 

B. 모니터링 서버


- Crontab 등을 이용하여 지정된 시간간격으로 서비스서버의 지정된 페이지에 접속

- 접속 성공 : 응답 메시지 파싱 하여 정상여부 판독

- 접속 실패 : 비정상 처리

 

 

2. 위 1의 과정 수행후 문제가 있을경우 관리자에게 텔레그램 메시지를 전송.

--------------------------------------------------------------------------------------------

 

Service Server 의 웹서비스 디렉토리에 serveiceCheck.php 파일 생성

serveiceCheck_response.php
<?php


   echo "Connect Success";


   // @ 여기서는 간단히 메시지 문자열만 출력하지만 필요에 따라 DB 접속 체크 등을 수행한다.


?>

 

 

 

Mornitoring Server 

Crontab 설정


*/5 * * * * php -q /home/[ SYSTEM_PATH ]/serveiceCheck_request.php



serveiceCheck_request.php
 <?php


$send_targetUrl = "https://api.telegram.org/bot[ TELEGREM API KEY ]/sendmessage";


function GetCurl( $targetUrl, $chat_id ,$msg )
{
if( strlen(trim($chat_id)) > 0 )
{
$targetUrl = $targetUrl."?chat_id=".$chat_id;
}// end if




if( strlen(trim($msg)) > 0 )
{
$targetUrl = $targetUrl."&text=".urlencode( $msg );
}// end if




$ch = curl_init();


// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL , $targetUrl );
curl_setopt($ch, CURLOPT_POST , false );
curl_setopt($ch, CURLOPT_RETURNTRANSFER , true );


// grab URL and pass it to the browser
$ReturnString = curl_exec($ch);


// close cURL resource, and free up system resources
curl_close($ch);


return json_decode($ReturnString, true);


}// end function


function check_Server($targetUrl)
{
$ch = curl_init();


// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL , $targetUrl );
curl_setopt($ch, CURLOPT_POST , false );
curl_setopt($ch, CURLOPT_RETURNTRANSFER , true );


// grab URL and pass it to the browser
$ReturnString = curl_exec($ch);


// close cURL resource, and free up system resources
curl_close($ch);


return $ReturnString;
}// end function


$rtnString = check_Server("[ Request Script URL ]");


$msg = "--------------------------\n ";
$msg .= "-- FROM : 서버모니터링 TOOL --\n ";
$msg .= "--------------------------\n ";
$msg .= $rtnString;
$msg .= "--------------------------\n ";


$chat_id = "[ CHAT ID ]";
$temp = GetCurl( $targetUrl=$send_targetUrl, $chat_id ,$msg );






?>