Документация

Всё что нужно для старта с mttrly.

Руководство по быстрому старту

Запусти mttrly на сервере за 2 минуты.

Шаг 1: Подключи мессенджер

Выберите мессенджер (Telegram, Slack или Discord) и подключитесь. Получите API-токен.

Шаг 2: Установи агента

Подключись к серверу по SSH и выполни команду установки. Агент — лёгкий Go-бинарник (~10MB) без зависимостей.

curl -sL https://mttrly.com/install.sh | bash -s -- -t YOUR_TOKEN

Шаг 3: Проверь подключение

Отправь /status в мессенджер. Через пару секунд увидишь метрики здоровья сервера.

Справочник по командам

Полный список доступных команд и их опций.

$ /status

Показать здоровье сервера: CPU, RAM, диск и запущенные сервисы.

Options:

  • -vПодробный вывод со списком процессов
  • -jВывод в формате JSON

Example:

/status -v
$ /logs

Просмотр логов приложения в реальном времени или поиск по истории.

Options:

  • <service>Имя сервиса (nginx, app и т.д.)
  • -n <lines>Количество строк (по умолчанию: 50)
  • -fСледить за логами в реальном времени
  • --errorsПоказать только ошибки

Example:

/logs nginx -n 100 --errors
$ /restart

Перезапустить сервис. Требует подтверждения для безопасности.

Options:

  • <service>Имя сервиса для перезапуска
  • --forceПропустить подтверждение (осторожно)

Example:

/restart nginx
$ /deploy

Подтянуть последний код и перезапустить приложение.

Options:

  • <app>Имя приложения
  • --branch <name>Git-ветка (по умолчанию: main)

Example:

/deploy myapp --branch staging
$ /run

Выполнить кастомный playbook.

Options:

  • <playbook>Имя playbook

Example:

/run cleanup-logs

Настройка

Настрой поведение mttrly через конфиг-файл.

Config file location: /etc/mttrly/config.yaml

services

Список сервисов, которыми может управлять агент

services:
  - nginx
  - myapp
  - redis
playbooks

Кастомные скрипты для запуска через /run

playbooks:
  cleanup-logs:
    script: /opt/scripts/cleanup.sh
    confirm: true
alerts

Автоматические алерты при высоком потреблении ресурсов

alerts:
  cpu_threshold: 80
  memory_threshold: 90
  disk_threshold: 85

Модель безопасности

Безопасность встроена в архитектуру mttrly.

Только исходящие соединения

Агент подключается к нашим серверам через WebSocket. Входящие порты не нужны. Файрвол остаётся закрытым.

Подтверждение опасных действий

Команды типа restart, deploy и кастомные скрипты требуют явного подтверждения кнопкой. Никаких случайных катастроф.

Ограниченные права

Агент работает от выделенного пользователя с минимальными привилегиями. Предоставляй sudo только для нужных команд.

Сквозное шифрование

Всё общение между сервером и Telegram зашифровано. Логи и чувствительные данные не хранятся.

Ротация токенов

Перегенерируй API-токен в любое время при подозрении на компрометацию. Старые токены мгновенно инвалидируются.

Решение проблем

Частые проблемы и их решения.

Агент не подключается

  • Проверь, разрешены ли исходящие WebSocket-соединения (порт 443)
  • Убедись, что API-токен правильный
  • Проверь логи агента: journalctl -u mttrly

Команды зависают

  • Возможно, сервер под высокой нагрузкой
  • Проверь сетевое подключение
  • Перезапусти агента: systemctl restart mttrly

Ошибки доступа

  • Убедись, что пользователь mttrly имеет доступ к управляемому сервису
  • Добавь sudo-права для нужных команд в /etc/sudoers.d/mttrly