Telegram-бот для мониторинга сервера на Linux. Предоставляет статистику по CPU, RAM, дискам, сети, системе и запущенным процессам.
- 📊 Общий статус — быстрая сводка по основным метрикам
- 🔥 CPU — загрузка, частота, количество ядер
- 💾 RAM — использование оперативной памяти
- 💿 Диски — место на дисках и разделах
- 🌐 Сеть — трафик и сетевые интерфейсы
- ⚙️ Система — информация о платформе, uptime, температура
- 📋 Процессы — топ 15 процессов по памяти/CPU с возможностью переключения
- Откройте @BotFather в Telegram
- Отправьте команду
/newbot - Получите токен и сохраните его
- Откройте @userinfobot
- Отправьте любую команду
- Скопируйте ваш ID
# Клонируйте репозиторий
git clone https://github.com/apela812/server-stat-TG.git
cd server_monitor_bot
# Запустите универсальный launcher
./launcher.shВыберите опцию для инициализации и конфигурации.
./launcher.sh # Главное менюОпции меню:
-
⚙️ Управление конфигурацией
- Изменение токена бота
- Добавление администраторов по TG ID с подписями
- Редактирование .env
- Просмотр конфигурации
-
👥 Управление пользователями
- Добавление пользователей с подписями
- Удаление пользователей
- Просмотр списка
- Редактирование подписей
- Поиск по ID
-
🔧 Управление окружением
- Проверка Python/pip
- Создание/активация venv
- Установка/обновление зависимостей
-
📊 Состояние системы
- Просмотр конфигурации
- Список пользователей
- Установленные пакеты
- Версия Python
- Статус бота
-
🚀 Запуск бота (в переднем плане)
-
🌙 Запуск бота в фоне
-
⏹️ Остановка бота
-
❌ Выход
./launcher.sh --help # Справка
./launcher.sh --setup # Инициализация с нуля
./launcher.sh --run # Запуск в переднем плане
./launcher.sh --start # Запуск в фоне
./launcher.sh --stop # Остановка
./launcher.sh --status # Статус и логи
./launcher.sh --logs # Просмотр логов
./launcher.sh --config # Конфигурация
./launcher.sh --users # Управление пользователями| Команда | Описание |
|---|---|
/start |
Запуск, показать меню |
/status |
Общий статус сервера |
/cpu |
Статистика процессора |
/ram |
Статистика памяти |
/disk |
Статистика дисков |
/network |
Статистика сети |
/system |
Информация о системе |
/processes |
Список процессов |
/help |
Справка |
Кнопки меню:
- 📊 Общий статус
- 🔥 CPU
- 💾 RAM
- 💿 Диски
- 🌐 Сеть
- ⚙️ Система
- 📋 Процессы ⭐
- 🔄 Обновить
# Запустить в фоне
./launcher.sh --start
# Проверить статус
./launcher.sh --status
# Просмотреть логи
./launcher.sh --logs
# Остановить
./launcher.sh --stopЛоги сохраняются в logs/bot.log.
Создайте /etc/systemd/system/server-monitor-bot.service:
[Unit]
Description=Server Monitor Telegram Bot
After=network.target
[Service]
Type=simple
User=your_user
WorkingDirectory=/path/to/server_monitor_bot
Environment="PATH=/path/to/server_monitor_bot/venv/bin"
ExecStart=/path/to/server_monitor_bot/venv/bin/python main.py
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.targetЗапуск:
sudo systemctl daemon-reload
sudo systemctl enable server-monitor-bot
sudo systemctl start server-monitor-bot
sudo systemctl status server-monitor-botserver_monitor_bot/
├── main.py # Точка входа
├── config.py # Конфигурация
├── launcher.sh # Управление ботом
├── requirements.txt # Зависимости
├── README.md # Документация
├── handlers/
│ └── commands.py # Команды бота
├── keyboards/
│ └── main_kb.py # Клавиатуры
├── utils/
│ └── stats.py # Сбор статистики
├── .env # Переменные (не коммитить!)
├── .users.db # База пользователей
├── logs/
│ └── bot.log # Логи бота
└── venv/ # Виртуальное окружение
Файл .env:
BOT_TOKEN=your_bot_token_here
ALLOWED_USERS=123456789,987654321
DATABASE_PATH=data/bot.db
LOG_LEVEL=INFOЕсли
ALLOWED_USERSпуст — бот доступен всем.
- Python 3.9+
- Linux (Ubuntu, Debian, Fedora и т.д.)
- pip/venv
- Проверка ID пользователя перед командами
- Токен хранится в
.env(не коммитьте в git!) - Использует
ALLOWED_USERSдля ограничения доступа - Скрытие токена в выводе конфигурации
MIT
Pull Requests приветствуются!