서버 모니터링 · 2 min read · Oct 16, 2025
서버가 다운될 때 monit가 SMS 경고를 보내도록 설정하는 방법
서버가 다운될 때 monit가 SMS 경고를 보내도록 설정하는 방법
버전 1.0
저자: Falko Timme
이 튜토리얼에서는 서비스가 실패할 때 모바일 전화로 SMS 경고 메시지를 보내도록 monit를 구성하는 방법을 설명합니다. monit는 이메일만 보낼 수 있고 SMS는 보낼 수 없기 때문에, monit가 이메일을 보낼 이메일-투-스마트 게이트웨이를 사용할 것이며, 이메일-투-스마트 게이트웨이는 이메일을 SMS 메시지로 변환할 것입니다.
이 문서는 어떤 종류의 보증 없이 제공됩니다! 이러한 시스템을 설정하는 유일한 방법이 아니라는 점을 말씀드리고 싶습니다. 이 목표를 달성하는 방법은 여러 가지가 있지만, 제가 선택한 방법입니다. 이것이 여러분에게 작동할 것이라는 보장을 하지 않습니다!
1 사전 참고
저는 여러분이 이미 monit를 설정했을 것이라고 가정합니다. 예를 들어, 여기에서와 같이: https://www.howtoforge.com/server_monitoring_with_munin_monit_debian_etch 또는 여기에서: https://www.howtoforge.com/server_monitoring_with_munin_monit_fedora_7.
이 튜토리얼에서는 웹 서버(www.mywebsite.com)를 모니터링하여 여전히 작동 중인지 확인하고자 합니다. 따라서 monit를 두 번째 서버(monit.example.com)에서 사용하여 웹 서버가 어떤 이유로든 다운될 경우 경고를 보낼 수 있도록 합니다(웹 서버에 monit를 설치했다고 가정해 보세요 - 서버가 다운되면 monit는 경고를 보낼 수 없습니다…).
여기에서 사용하는 SMS 서비스는 SMS77.de입니다(이 서비스를 사용하려면 먼저 등록하고 최소 5 EUR를 선불 계정에 지불해야 합니다). http://www.sms77.de/email2sms.html (독일어)에서 설명한 바와 같이, 게이트웨이에 보내는 이메일은 다음 형식을 가져야 합니다:
제목: SMS의 텍스트
메일의 텍스트: Email2SMS-Key#수신자#SMS 유형 #발신자
SMS77.de 계정 설정에서 email2sms 키를 지정할 수 있습니다. 수신자는 여러분의 모바일 전화 번호입니다(여러 수신자에게 메시지를 보내려면 전화 번호를 쉼표로 구분하십시오); SMS 유형으로는 기본형(basicplus)을 사용하며, 이는 SMS당 3.5센트(유로 센트)만 비용이 듭니다. 발신자는 선택 사항이므로 생략하겠습니다.
monit에게 경고 메시지를 필수 형식에 맞게 포맷하도록 지시할 것입니다.
물론 다른 이메일-투-스마트 게이트웨이를 사용할 수도 있습니다. 이것은 단지 방법의 예일 뿐이며, SMS77.de와는 아무런 관계가 없습니다.
2 monit 구성하기
monit.example.com에서 /etc/monit/monitrc를 열고 파일의 끝에 다음 구문을 추가합니다:
vi /etc/monit/monitrc| [...] check host www.mywebsite.com with address www.mywebsite.com if failed port 80 protocol http and request "/index.php" for 4 cycles then alert if failed icmp type echo count 5 with timeout 15 seconds for 4 cycles then alert alert [email protected] { connection, timeout, icmp } with mail-format { from: [email protected] subject: $SERVICE $EVENT at $DATE on $HOST message: 123456#0170123456789#basicplus } |
보시다시피, 이 구성으로 monit는 www.mywebsite.com에서 index.php 파일을 요청하고, 추가로 www.mywebsite.com 호스트에 핑을 시도합니다. monit가 너무 많은 잘못된 긍정 결과를 보내지 않도록 하기 위해, 테스트가 4회 연속 실패한 경우에만 경고를 보냅니다(4 사이클 동안) - 이는 실제로 문제가 있음을 나타내야 합니다.
경고는 이메일-투-스마트 게이트웨이 이메일 주소로 전송되지만, 연결 오류, 타임아웃 또는 핑 손실이 발생한 경우에만 전송됩니다(모든 사용 가능한 이벤트 목록은 여기에서 확인할 수 있습니다: http://www.tildeslash.com/monit/doc/manual.php#alert_message_layout), 그리고 mail-format 섹션은 경고 이메일의 형식을 지정합니다. 이메일에서 사용할 수 있는 변수는 http://www.tildeslash.com/monit/doc/manual.php#alert_message_layout에서도 확인할 수 있습니다.
이것을 여러분의 이메일-투-스마트 게이트웨이에 맞게 조정하십시오!
그 후 monit를 재시작합니다:
/etc/init.d/monit restart그게 전부입니다!
3 링크
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.