Compare commits

12 Commits
1.0.0 ... main

Author SHA1 Message Date
18f6b3714d server_monitor_bot.js aktualisiert 2025-03-08 13:42:32 +00:00
1a595afaa6 README.md aktualisiert 2024-01-28 16:50:38 +01:00
fb11fc0dc7 README.md aktualisiert 2024-01-28 16:49:29 +01:00
712f328a57 README.md aktualisiert 2024-01-28 12:29:29 +01:00
baa84ecca8 README.md aktualisiert 2024-01-28 12:28:34 +01:00
fd0a86c9ba setup.sh aktualisiert 2024-01-28 12:21:31 +01:00
38a13342fe server_monitor_bot.js aktualisiert 2024-01-25 20:09:20 +01:00
366e09340a Dateien nach "/" hochladen 2024-01-25 20:07:38 +01:00
59bf55134b server_monitor_bot.js aktualisiert 2024-01-22 23:06:44 +01:00
dff8717b44 .env hinzugefügt 2024-01-22 23:01:36 +01:00
f4032d0aa5 server_monitor_bot.js aktualisiert 2024-01-22 22:58:42 +01:00
dbf4f84fc1 README.md aktualisiert 2024-01-21 10:46:56 +01:00
6 changed files with 1318 additions and 309 deletions

3
.env Normal file
View File

@ -0,0 +1,3 @@
TELEGRAM_BOT_TOKEN= {Dein Bot Token}
DEVELOPER_CHAT_IDS=123456789,123456789
TG_ID=5507179337

View File

@ -1,21 +1,52 @@
# telegram_server_monitoring
Dieser Telegram Bot wurde entwickelt, um die Überwachung von Servern zu erleichtern und Benutzern regelmäßige Statusaktualisierungen zu liefern. Der Bot ermöglicht es den Benutzern, Server hinzuzufügen, zu löschen und den aktuellen Status sowie detaillierte Informationen zu ihren konfigurierten Servern abzurufen.
Funktionen:
Serververwaltung: Benutzer können neue Server hinzufügen (/add_server) und bestehende Server löschen (/delete_server).
Statusaktualisierung: Mit dem Befehl /status können Benutzer den aktuellen Status aller konfigurierten Server abrufen. Der Bot überprüft automatisch in regelmäßigen Intervallen den Status der Server und sendet eine Benachrichtigung, wenn ein Server offline ist.
Serverdetails: Benutzer können detaillierte Informationen zu einem bestimmten Server abrufen, einschließlich Uptime, CPU-Auslastung, RAM-Auslastung und Netzwerkverkehr (Details).
Hilfe: Mit dem Befehl /help können Benutzer eine Liste aller verfügbaren Befehle anzeigen.
Verwendung:
Starte den Bot mit dem Befehl /start. Der Bot sendet eine Begrüßungsnachricht und gibt Hinweise zur Verwendung.
Füge Server hinzu mit /add_server. Der Bot führt dich durch den Prozess, um den Servernamen und die IP-Adresse einzugeben.
Überprüfe den Status aller konfigurierten Server mit /status.
Erhalte detaillierte Informationen zu einem Server mit Details.
Lösche einen konfigurierten Server mit /delete_server.
Automatische Statusüberwachung:
Der Bot überprüft alle konfigurierten Server automatisch alle 2 Minuten auf ihren Status und benachrichtigt die Benutzer, wenn ein Server offline ist.
Hinweis: Dieser Bot verwendet zufällig generierte Werte für CPU-Auslastung, RAM-Auslastung und Netzwerkverkehr zu Demonstrationszwecken. In einer produktiven Umgebung sollten diese Werte durch tatsächliche Überwachungsdaten ersetzt werden.
<div>
<div># telegram_server_monitoring</div>
<br />
<div>Dieser Telegram Bot wurde entwickelt, um die &Uuml;berwachung von Servern zu erleichtern und Benutzern regelm&auml;&szlig;ige Statusaktualisierungen zu liefern. Der Bot erm&ouml;glicht es den Benutzern, Server hinzuzuf&uuml;gen, zu l&ouml;schen und den aktuellen Status sowie detaillierte Informationen zu ihren konfigurierten Servern abzurufen.</div>
<br />
<div>Funktionen:</div>
<br />
<div>Serververwaltung: Benutzer k&ouml;nnen neue Server hinzuf&uuml;gen (/add_server) und bestehende Server l&ouml;schen (/delete_server).</div>
<div>Statusaktualisierung: Mit dem Befehl /status k&ouml;nnen Benutzer den aktuellen Status aller konfigurierten Server abrufen. Der Bot &uuml;berpr&uuml;ft automatisch in regelm&auml;&szlig;igen Intervallen den Status der Server und sendet eine Benachrichtigung, wenn ein Server offline ist.</div>
<div>Serverdetails: Benutzer k&ouml;nnen detaillierte Informationen zu einem bestimmten Server abrufen, einschlie&szlig;lich Uptime, CPU-Auslastung, RAM-Auslastung und Netzwerkverkehr (Details).</div>
<div>Hilfe: Mit dem Befehl /help k&ouml;nnen Benutzer eine Liste aller verf&uuml;gbaren Befehle anzeigen.</div>
<div>Verwendung:</div>
<br />
<div>Starte den Bot mit dem Befehl /start. Der Bot sendet eine Begr&uuml;&szlig;ungsnachricht und gibt Hinweise zur Verwendung.</div>
<div>F&uuml;ge Server hinzu mit /add_server. Der Bot f&uuml;hrt dich durch den Prozess, um den Servernamen und die IP-Adresse einzugeben.</div>
<div>&Uuml;berpr&uuml;fe den Status aller konfigurierten Server mit /status.</div>
<div>Erhalte detaillierte Informationen zu einem Server mit Details.</div>
<div>L&ouml;sche einen konfigurierten Server mit /delete_server.</div>
<div>Automatische Status&uuml;berwachung:</div>
<div>Der Bot &uuml;berpr&uuml;ft alle konfigurierten Server automatisch alle 30 Sekunden auf ihren Status und benachrichtigt die Benutzer, wenn ein Server offline ist.</div>
<br />
<div>Befehle zum Installieren und Bot Statusaktualisierungen</div>
<br /><br /><br />
<div>Installations Script:</div>
<br />
<div>(./setup.sh)</div>
<br /><br />
<div>Einzelinstallation der Komponenten:</div>
<br />
<div>sudo npm install</div>
<div>sudo npm install -g ping</div>
<div>sudo npm install -g node-telegram-bot-api</div>
<div>sudo npm install -g js-yaml</div>
<div>sudo npm install -g moment</div>
<div>sudo npm install -g yml</div>
<div>sudo npm install -g dotenv</div>
<div>sudo npm install -g fs</div>
<div>sudo npm install -g request</div>
<br /><br />
<div>Bot Start:</div>
<div>(./start_bot.sh)</div>
</div>
<br />
<div>Bot Stop:</div>
<div>(pm2 stop server_monitor_bot)</div>
</div>
<br />
<div>Bot Status:</div>
<div>(pm2 status)</div>
</div>
<br />
<br />

33
readme Normal file
View File

@ -0,0 +1,33 @@
Fogendes muss installiert werden
Installieren sie unter Windows nodejs dies können sie unter folgendem Link herunterladen
https://nodejs.org/en
Befehle
npm init -y
npm install ping node-telegram-bot-api js-yaml moment yml dotenv fs request fs
Einzelne Befehle:
npm install
npm init
npm install ping
npm install node-telegram-bot-api
npm install js-yaml
npm install moment
npm install yml
npm install dotenv
npm install fs request
npm install fs
zum Instrallieren unter Linux nutzen Sie den Befehl
./install.sh

File diff suppressed because it is too large Load Diff

88
setup.bat Normal file
View File

@ -0,0 +1,88 @@
@echo off
setlocal EnableDelayedExpansion
REM Überprüfen, ob Node.js installiert ist
where node >nul 2>nul
if %errorlevel% neq 0 (
echo Node.js ist nicht installiert. Installiere Node.js automatisch...
REM Automatische Installation von Node.js, abhängig vom Windows-System
if exist %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe (
powershell -Command "Invoke-WebRequest -Uri https://nodejs.org/dist/v14.17.0/node-v14.17.0-x64.msi -OutFile node_installer.msi"
Start-Process msiexec -ArgumentList "/i node_installer.msi /quiet" -Wait
del node_installer.msi
) else (
echo Automatische Installation von Node.js wird nicht unterstützt. Bitte installieren Sie Node.js manuell und führen Sie das Skript erneut aus.
exit /b 1
)
)
REM Laden Sie die Umgebungsvariablen aus der .env-Datei
if exist .env (
for /f "delims=" %%a in (.env) do set "%%a"
) else (
echo .env-Datei nicht gefunden. Stellen Sie sicher, dass die Datei vorhanden ist und versuchen Sie es erneut.
exit /b 1
)
REM Erstellen Sie ein neues Node.js-Projekt mit npm init und verwenden Sie Umgebungsvariablen
echo Creating a new Node.js project...
echo Project name: !PROJECT_NAME!
echo Version: 1.0.0
echo Description: Node.js project
echo Entry point: server_monitor_bot.js
echo Test command:
echo Git repository: https://git.viper.ipv64.net/M_Viper/telegram_server_monitoring
echo Keywords:
echo Author: M_Viper
echo License: ISC
npm init -y
REM Installieren Sie die benötigten Pakete
npm install ping
npm install node-telegram-bot-api
npm install js-yaml
npm install moment
npm install yml
npm install dotenv
npm install fs
npm install request
REM Installieren Sie pm2, wenn es noch nicht installiert ist
where pm2 >nul 2>nul
if %errorlevel% neq 0 (
npm install pm2 -g
)
REM Erstellen Sie ein Startskript für den Bot
echo Creating start script...
echo #!/bin/bash > start_bot.sh
echo pm2 start server_monitor_bot.js >> start_bot.sh
echo chmod +x start_bot.sh
REM Erstellen Sie ein Autostart-Skript für den Bot
echo Creating autostart script...
echo [Unit] > telegram_bot.service
echo Description=Telegram Server Monitoring Bot >> telegram_bot.service
echo [Service] >> telegram_bot.service
echo ExecStart=/path/to/start_bot.sh >> telegram_bot.service
echo [Install] >> telegram_bot.service
echo WantedBy=default.target >> telegram_bot.service
move telegram_bot.service "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"
REM Erstellen Sie die benötigten Dateien
type nul > user_information.yml
type nul > error.log
type nul > configurations.yml
REM Erstellen Sie das Desktop-Icon
set shortcutPath=%USERPROFILE%\Desktop\TelegramBot.lnk
set targetPath=%cd%\start_bot.sh
echo [InternetShortcut] >"%shortcutPath%"
echo URL=file:///%targetPath% >>"%shortcutPath%"
echo IconFile=%SystemRoot%\System32\imageres.dll >>"%shortcutPath%"
echo IconIndex=112 >>"%shortcutPath%"
echo Desktop-Icon wurde erstellt: %shortcutPath%

75
setup.sh Normal file
View File

@ -0,0 +1,75 @@
#!/bin/bash
# Überprüfen, ob Node.js installiert ist
if ! command -v node &> /dev/null; then
echo "Node.js ist nicht installiert. Installiere Node.js automatisch..."
# Automatische Installation von Node.js, abhängig vom Linux-System
if command -v apt &> /dev/null; then
sudo apt update
sudo apt install -y nodejs
elif command -v yum &> /dev/null; then
sudo yum install -y nodejs
else
echo "Automatische Installation von Node.js wird nicht unterstützt. Bitte installieren Sie Node.js manuell und führen Sie das Skript erneut aus."
exit 1
fi
fi
# Setzen Sie den npm-PATH explizit
export PATH="/usr/bin/npm:$PATH"
# Überprüfen, ob npm installiert ist
if ! command -v npm &> /dev/null; then
echo "npm ist nicht installiert. Installiere npm automatisch..."
sudo apt install -y npm # Oder passen Sie dies an Ihr System an
fi
# Laden Sie die Umgebungsvariablen aus der .env-Datei
source .env
# Erstellen Sie ein neues Node.js-Projekt mit npm init und verwenden Sie Umgebungsvariablen
echo -e "Creating a new Node.js project..."
echo -e "Project name: $PROJECT_NAME"
echo -e "Version: 1.0.0"
echo -e "Description: Node.js project"
echo -e "Entry point: server_monitor_bot.js" # Hier Dateinamen anpassen
echo -e "Test command: "
echo -e "Git repository: https://git.viper.ipv64.net/M_Viper/telegram_server_monitoring"
echo -e "Keywords: "
echo -e "Author: M_Viper"
echo -e "License: ISC"
npm init -y
# Installieren Sie die benötigten Pakete
sudo npm install
sudo npm install -g ping
sudo npm install -g node-telegram-bot-api
sudo npm install -g js-yaml
sudo npm install -g moment
sudo npm install -g yml
sudo npm install -g dotenv
sudo npm install -g fs
sudo npm install -g request
# Installieren Sie pm2, wenn es noch nicht installiert ist
if ! command -v pm2 &> /dev/null; then
sudo npm install -g pm2
fi
# Erstellen Sie ein Startskript für den Bot
echo -e "Creating start script..."
echo -e "#!/bin/bash\n\npm2 start server_monitor_bot.js" > start_bot.sh # Hier Dateinamen anpassen
chmod +x start_bot.sh
# Erstellen Sie ein Autostart-Skript für den Bot
echo -e "Creating autostart script..."
echo -e "[Unit]\nDescription=Telegram Server Monitoring Bot\n\n[Service]\nExecStart=/path/to/start_bot.sh\n\n[Install]\nWantedBy=default.target" > telegram_bot.service
sudo mv telegram_bot.service /etc/systemd/system/
sudo systemctl enable telegram_bot
# Erstellen Sie die benötigten Dateien
sudo touch user_information.yml
sudo touch error.log
sudo touch configurations.yml