Оповещение о работе VPS сервера и мастерноды через Discord
Для создания системы оповещения требуется:
1. Свой рабочий дискорд аккаунт и свой сервер в дискорде. Можно создать его специально для целей оповещения, чтоб никто не догадался ©.
2. Установить на VPS сервере MC менеджер.
Если все готово, то приступим. Система оповещения устроена на базе вебхуков — Webhook Discord. Для этого на VPS сервере запускается периодически некий скрипт, который собирает нужную инфу и отправляет её в дискорд.
Создадим специальную ссылку Webhook. Открываем дискорд на компьютере (на телефоне пока не смотрел как ее сделать). Заходим в свой сервер, который планируем сделать с уведомлением. Создаем там канал с названием, например #nodescc Дальше идем в настройки сервера и выбираем пункт Integrations (до недавнего времени пункты настроек были другие, обновили мессенджер). Жмем кнопку Create Webhook (Создать Вебхук)
Придумываем имя боту, например Капитан МастерНода, там можно даже фоточку поставить… И правее выбираем канал в который будут идти уведомления. После жмем на Copy Webhook URL. Волшебная ссылка получена. Выглядит она примерно так, циферки будут другие, именно ваши
httрs://discordapp.com/api/webhooks/7435779067562175/LA30wJqibUxIifQ4Qh0kPPMvfd_bpWe-Qqq1ZrK0GMufL5ZwozlaMpFAtn
Сохраняем ссылку куда нибудь, в блокнотик на время. Закрываем дискорд и перемещаемся на VPS сервер. Сперва создаем специальный файл, который будет нам пулять оповещение о старте VPS. Теперь о том, что провайдер ребутнул ваш VPS вы узнаете моментально. Для работы скрипта нужен пакет curl для Ubuntu. Ставим командой
apt-get install curl
После установки можно попробовать сделать тестовое уведомление. Запускаем файловый менеджер mc заходим в каталог root и создаем новый файл нажатием шифт и F4. Копируем в него такие строки (как копировать рассказано в статье про МС):
#!/bin/bash
WEBHOOK_URL=«https://»
WEBHOOK_DATA='{
«content»: «Внимание! VPS стартовал!»,
«username»: «Капитан VPS»
}'
curl --fail --progress-bar -A «TravisCI-Webhook» -H Content-Type:application/json -H X-Author:k3rn#8483 -d "${WEBHOOK_DATA// / }" "$WEBHOOK_URL" \
(Строка начиная от curl и заканчивая WEBHOOK_URL"\ это одна строка. Все кавычки нужно заменить на " " такие!)
В строке WEBHOOK_URL=«https://» вписываем свой Вебхук, например так:
WEBHOOK_URL="httрs://discordapp.com/api/webhooks/7435779067562175/LA30wJqibUxIifQ4Qh0kPPMvfd_bpWe-Qqq1ZrK0GMufL5ZwozlaMpFAtn"
Затем сохраняем по F2 клавише, вписываем название файла, например test
( Пример можно скачать на свой VPS этот пример командой wget… )
Далее нужно указать что файлик этот запускаемый. Ставим курсор на наш test и в верхнем меню выбери File затем в появившемся окне выбери Cmod и дальше поставь галки у всех execute так:
Чтобы сохранить — жмем Set. Готово! Наш файлик стал зелененького цвета и появилась звездочка у него вначале. Теперь проверяем волшебство. Давим Ентер клавишу на нашем файлике test почти моментально в дискорд прилетит сообщение. Получилось?
Это самый простой пример оповещения. Попробуем его задействовать. Чтобы он запускался при старте VPS используем встроенный в систему VPS сервера сервис называющийся crontab.
Перемещаемся с помощью MC в каталог etc листаем вниз (можно колесиком мыши) останавливаемся на файле crontab. Жмем F4. Такие его внутренности:
Всё что после # m h dom mon dow user<>command это строки выполнения команд. Интересующиеся могут почитать в инете о формате файла crontab и настройке в нем временных промежутков.
Мы должны вписать свою строку выполнения по времени, она будет такая:
@reboot root /root/test.sh
Где test имя нашего файлика скрипта. Строку можно вставить или перед строкой «17....» или после «52...»
Хитрости Вебхука ;-)
Чтобы удобно создать сообщение для Webhook'a есть специальный сайт: https://discohook.org/ После его открытия можно удалить вписанный там пример сообщения нажатием кнопкиClear all вверху. Заполняете слева нужное и получаете внизу готовый код. А какое сообщение при этом получится, смотрим справа!
Статья в процессе написания...