BIG
**** 당연히 텔레그램 봇을 생성하고 봇 API 키를 받았다고 가정합니다. ****
지정된 웹 페이지의 접속이 정상적이면
현재 서버는 정상적으로 외부에서 접속이 가능한 상태이다 라고 간주하는 형태의 TEST 입니다.
현재 서버는 정상적으로 외부에서 접속이 가능한 상태이다 라고 간주하는 형태의 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 ); ?> |
LIST
'!!...Project > !!...텔레그램봇' 카테고리의 다른 글
[텔레그램 봇] - 테스트 프로젝트 -05 - 식약처 회수 및 판매금지 식품 정보 발송 (0) | 2018.06.08 |
---|---|
[텔레그램 봇] - 테스트 프로젝트 -04 - 아침뉴스 발송 서비스 추가 (0) | 2018.05.28 |
[텔레그램 봇] - 테스트 프로젝트 -03 (0) | 2018.05.26 |
[텔레그램 봇] - 테스트 프로젝트 -02- 수정 - 20180517 (0) | 2017.04.25 |
[텔레그램 봇] - 테스트 프로젝트 -01- 입력메시지 리턴봇 (0) | 2017.03.29 |