---
title: 'Jak stworzyć bota Telegram do monitorowania zdalnych hostów | Zomro'
description: 'W tym artykule nauczymy się tworzyć bota Telegram do monitorowania zdalnych serwerów i routerów po ich IP lub nazwie hosta.'
image: 'https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488312_img_6383.png'
---

![opened image]()

  * [Zomro](https://zomro.com/pl/)
  * [FAQ](https://zomro.com/pl/blog/faq/)
  * Jak stworzyć bota Telegram do monitorowania zdalnych hostów 



# Jak stworzyć bota Telegram do monitorowania zdalnych hostów

25-02-2023

Dla monitorowania serwerów lub urządzeń sieciowych istnieje wiele rozwiązań programowych, z których wiele wymaga zasobów serwera do wdrożenia oraz wiedzy na temat konfiguracji. Jednak jeśli masz jeden lub kilka serwerów lub router z białym* IP, to nie ma potrzeby wdrażania skomplikowanej struktury monitorowania tylko po to, aby sprawdzić, czy serwer lub router jest dostępny. Wystarczy stworzyć prostego bota telegramowego, który będzie wysyłał Ci powiadomienia w telegramie, jeśli sprawdzany IP jest niedostępny (down) i kiedy znowu jest dostępny (up). Sam bot będzie działał 24/7 na wirtualnym serwerze pod zarządzaniem systemu operacyjnego Linux, z minimalnym obciążeniem zasobów.  
* biały adres IP - to unikalny adres IP, przydzielony do urządzenia lub serwera, dostępny z internetu. Taki IP jest publiczny.  
  
Co należy zrobić:  
1\. W Telegramie utworzyć bota i prywatny kanał, do którego dodać bota. Na kanał możesz zapraszać tych, którzy również mogą obserwować monitorowanie   
2\. Zainstalować na serwerze python3. W tym artykule omówimy umieszczenie bota na wirtualnym serwerze z systemem Ubuntu 20.04 (można umieścić na dowolnym systemie, na którym można zainstalować pakiet python3)  
3\. Stworzyć plik skryptu, wpisać w nim IP hostów (serwerów lub routerów), ustawić okres monitorowania i uruchomić skrypt w trybie pracy 24/7.  
  
Przystąpmy do realizacji.  
  
1\. Aby zarejestrować nowego bota telegramowego, należy w aplikacji Telegram znaleźć bot-serwis @BotFather i wysłać mu polecenie rejestracji nowego bota  
/newbot![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 1](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488269_img_6382.png)![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 2](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488312_img_6383.png)  
Następnie @BotFather poprosi o nazwę dla naszego bota. Nie ma ograniczeń co do nazwy, wpiszmy na przykład:  
IP monitoring  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 3](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488365_img_6384.png)  
Teraz należy wpisać unikalną nazwę bota w systemie Telegram. Nazwa bota musi kończyć się na _bot. Nazwijmy, dla przykładu  
ip_monitoring_super_bot  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 4](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488480_img_6385.png)  
Po tym, @BotFather przekaże nam TOKEN, za pomocą którego można zarządzać botem. TOKEN należy zachować, ponieważ będzie potrzebny później.  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 5](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488475_img_6386.png)  
Bot telegramowy został zarejestrowany.  
  
Teraz stwórzmy prywatny kanał, do którego nasz nowy bot o nazwie @ip_monitoring_super_bot będzie wysyłał wiadomości.  
  
W tym celu w oknie czatów programu Telegram klikamy na ikonę tworzenia nowej wiadomości i wybieramy Nowy kanał - Utwórz kanał - wymyślamy nazwę kanału (na przykład, IP monitoring chanel) - wybieramy typ kanału Prywatny i dodajemy bota @ip_monitoring_super_bot.  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 6](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488516_img_6387.png)![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 7](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488529_img_6388.png)  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 8](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488545_img_6389.png)![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 9](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488553_img_6390.png)  
W rezultacie otrzymujemy prywatny kanał, do którego bot @ip_monitoring_super_bot będzie wysyłał wiadomości o stanie sprzętu, który monitorujemy. Również do tego kanału można zaprosić za pomocą specjalnego linku dowolnego użytkownika telegramu.  
Należy zwrócić uwagę i sprawdzić w właściwościach kanału IP monitoring chanel, czy bot @ip_monitoring_super_bot został dodany jako administrator kanału. Aby przejść do właściwości kanału, wystarczy kliknąć na nazwę kanału.  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 10](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488597_img_6394.png)![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 11](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488617_img_6395.png)  
Będzie nam również potrzebna wartość chat_id. W tym celu należy:  
\- przejść do czatu bota @ip_monitoring_super_bot i wysłać wiadomość /start (to uruchomi bota w pracy)  
\- zrobić testową wiadomość (dowolną) w kanale IP monitoring chanel  
\- przejść w przeglądarce pod link https://api.telegram.org/botTOKEN/getUpdates  
W naszym przykładzie link będzie wyglądał tak:  
https://api.telegram.org/bot5921115541:AAHltzyZpC_MBZzydhrOD_Brn8lnKNf7XXX/getUpdates  
Wynik na ekranie będzie taki:  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 12](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488672_screenshot_1.png)Zapamiętajmy 2 ważne wartości do zarządzania botem:  
token= 5921115541:AAHltzyZpC_MBZzydhrOD_Brn8lnKNf7XXX  
chat_id = -100185915XXX  
  
2\. Połączymy się z serwerem przez SSH ([jak to zrobić](https://zomro.com/rus/blog/faq/218-kak-vojti-na-linux-server-po-ssh))  
  
Sprawdzimy, czy python3 jest zainstalowany:  
python3 --version  
  
Jeśli python3 nie jest zainstalowany (błąd: -bash: python3: command not found), należy zainstalować poleceniem  
\- dla Ubuntu:  
apt install python3 -y  
\- dla CentOS  
yum install python3 -y  
Dodatkowo zainstalujemy moduł requests:  
pip3 install requests  
  
Po instalacji można jeszcze raz sprawdzić wersję. Może być mniej więcej tak:  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 13](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488735_screenshot_2.png)  
Szczegółowe informacje na temat instalacji python3: [Jak zainstalować Python 3.10 na Ubuntu 20.04](https://zomro.com/rus/blog/faq/299-kak-ustanovit-python-310-na-ubuntu-2004)  
  
3\. Stworzymy folder, w którym będzie umieszczony skrypt monitorowania. W tym celu wykonamy polecenie:  
cd && mkdir pingmonitor && cd pingmonitor  
  
Stworzymy i otworzymy plik  
vim main.py  
  
i umieścimy w nim skrypt:  
  
#----------------------------------------------------  
import os  
import requests  
import time  
#-------------------------  
hostname = ['8.8.8.8','1.1.1.1']  
time_pause = 30  
#-------------------------  
def SendMsgToTelegramChanel(msg):  
token="TOKEN"  
chat_id = 'CHAT_ID'  
params = {'chat_id': chat_id,'text': msg}  
response = requests.get('https://api.telegram.org/bot'+token+'/sendMessage', params=params)  
def IsHostAlive(host):  
ret = os.system('ping -c 2 {} > /dev/null'.format(host))  
if ret == 0:  
return True  
return False  
while True:  
for i in range(len(hostname)):  
file_signal = hostname[i] +'_down'  
if IsHostAlive(hostname[i]):  
if os.path.isfile(file_signal):  
os.remove(file_signal)  
SendMsgToTelegramChanel(hostname[i] + ' is up')  
#print(hostname + ' is up!')  
else:  
if not os.path.isfile(file_signal):  
open(file_signal,'tw').close()  
SendMsgToTelegramChanel(hostname[i] + ' is down')  
#print(hostname + ' is down!')  
time.sleep(time_pause)  
#------------------------------------------------  
  
\- w skrypcie należy zastąpić TOKEN i CHAT_ID na zapisane wcześniej wartości token i chat_id.  
\- w linii hostname = ['8.8.8.8','1.1.1.1'], zamiast IP 8.8.8.8 i 1.1.1.1 podaj IP (lub hostname) Twojego serwera lub routera, które należy monitorować*. Adresy IP urządzeń należy podawać w pojedynczych cudzysłowach i oddzielać przecinkiem (jeśli IP jest więcej niż jeden)  
\- wartość zmiennej time_pause = 30, wskazuje okres sprawdzania (w sekundach). Nie zaleca się ustawiania mniej niż 10-15 sekund, szczególnie jeśli lista sprawdzanych IP jest duża.  
\- nie usuwaj wcięć w skrypcie. Może to prowadzić do błędów składniowych.  
  
(*)skrypt używa metody sprawdzania przez wysyłanie pakietów icmp (ping), z tego powodu należy upewnić się, że na serwerze lub routerze (które są monitorowane) nie są blokowane zapytania ping.  
  
Teraz wszystko jest gotowe do uruchomienia skryptu.  
Ponieważ skrypt ma działać 24/7, aby jego działanie nie było wyświetlane na głównym ekranie konsoli, uruchomimy go w osobnym "oknie" za pomocą narzędzia screen (jeśli nie jest zainstalowane, zainstaluj je. Szczegóły: [Podstawy pracy z narzędziem screen](https://zomro.com/rus/blog/faq/295-rabota-s-utilitoj-screen)).  
W tym celu wykonamy polecenie:  
screen -S pingmonitor  
  
i przejdziemy do folderu z plikiem skryptu:  
cd && cd pingmonitor  
  
Uruchomimy skrypt poleceniem:  
python3 main.py  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 14](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488770_screenshot_3.png)  
Aby wyjść z sesji i pozostawić działający nasz skrypt, naciśnij Ctrl+a+d. Teraz konsolę SSH można zamknąć.  
Aby połączyć się z sesją z działającym skryptem, połącz się z serwerem przez SSH i wykonaj polecenie:  
screen -r pingmonitor  
  
W przypadku, gdy serwer lub router stanie się niedostępny, a następnie stanie się dostępny, otrzymasz wiadomość w kanale IP monitoring chanel.  
![Jak stworzyć bota Telegram do monitorowania zdalnych hostów - 15](https://dx86q6oq7ry0e.cloudfront.net/uploads/media/blog/a55@server-panel.net/2023/02/01/1677488771_screenshot_4.png)  
  
  
  


Similar articles:

[Jak zezwolić na pakiety ICMP w Windows Server 2022, 2019, 2016](https://zomro.com/pl/blog/faq/279-kak-razreshit-icmp-pakety-v-windows-server-2022-2019-2016) [Instalacja serwera terminali w Windows Server 2012, 2016, 2019](https://zomro.com/pl/blog/faq/267-ustanovka-servera-terminalov-v-windows-server-2012-2016-2019) [Tworzenie serwera Minecraft Bedrock](https://zomro.com/pl/blog/faq/330-creating-minecraft-bedrock-server) [Jak zainstalować SOCKS5 w Dockerze](https://zomro.com/pl/blog/faq/282-kak-ustanovit-socks5-v-docker) [Jak naprawić czarny ekran w połączeniu RDP](https://zomro.com/pl/blog/faq/502-how-to-fix-black-screen-in-rdp-connection)

[ Serwer GPU od €174.80/mies ](/dedicated-servers/type=gpu)
