링크 다운되면 비프음 내기 https://www.2cpu.co.kr/network/7700 의 2탄입니다
미크로틱에는 Fetch 기능이 있는데
웹에서 파일을 받아오는 기능입니다.
https://wiki.mikrotik.com/wiki/Manual:Tools/Fetch
이걸 이용해서 텔레그램으로 알림을 받아오는 스크립트를 만들어 봤습니다.
텔레그램을 사용한 이유는 텔레그램이 봇 만들기가 쉽습니다. (공식적으로 봇 기능을 지원합니다.)
먼저 BotFather에게 말을 걸어 봇을 만들어줍니다.
API 키를 주는데 메모해 둡니다.
그리고 자신이 만든 봇한테 말을 걸어줍니다.
아무거나 보내시면 됩니다.
그 다음에
https://api.telegram.org/bot<텔레그램API키>/getUpdates
에 들어가면 자신이 보낸 텍스트가 보이는데
chat_id를 메모해줍니다. (chat_id를 메모하는 이유는 메시지를 자신에게만 보내기 위함입니다. 아무에게나 보내면 안되지요 ㅋㅋ)
봇->유저 메시지 전송은 아래와 같은 링크에 접속하는 것으로 전송할 수 있습니다.
https://api.telegram.org/bot<텔레그램API키>/sendmessage?chat_id=&text=HelloWorld
미크로틱 WinBox로 돌아와 System->Scripts에 스크립트를 추가해 줍니다.
{
:local isLinkDown false;
/interface ethernet monitor ether9 do={
:if ($"status" != "link-ok") do={
:if ($isLinkDown = false) do={
:log error "LINK DOWN @ ether9";
:set isLinkDown true;
:tool fetch url="https://api.telegram.org/bot/sendmessage?chat_id=&text=[Mikrotik] ether9 is down!!" mode=https output=none
};
} else={
:if ($isLinkDown = true) do={
:set isLinkDown false;
:tool fetch url="https://api.telegram.org//sendmessage?chat_id=&text=[Mikrotik] ether9 is connected." mode=https output=none
};
}
}
}
저는 ether9 포트를 사용하고 있습니다. 다른 포트를 사용한다면 위 스크립트를 수정하시기 바랍니다.
Run-Script를 누르면 스크립트를 실행할 수 있습니다.
ether 포트가 다운되면 아래처럼 알림이 옵니다. (저는 중간에 server down으로 메시지를 바꿨습니다.)
물론 알림도 뜹니다.
ÇÏ´Ü¿¡ ½ºÀ§Ä¡°¡ ¹°·ÁÀÖ°í ½ºÀ§Ä¡¿¡ ¹°¸° È£½ºÆ®°¡ ´Ù¿îµÇ¾ú´ÂÁö ¿©ºÎ´Â Tools->NetWatch ±â´ÉÀ» ÀÌ¿ëÇÏ½Ã¸é µÉ °Í °°½À´Ï´Ù.
´Ü, È£½ºÆ®¿¡¼ ICMP ÀÀ´äÀÌ È°¼ºÈµÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù.
¹è¿ì°í °©´Ï´Ù.