Контроль работы мастерноды через http
Поставил ты мастерноду на VPS сервер… и может даже не одну. Как посмотреть как там жизнь у них? До скольки блокчейн дорос, сколько места на диске сервера и есть ли какая жизнь на серваке...
А заходить по ssh лениво. Есть выход — поставить Апача. Да, вождя индейцев. Шутка :) Это самый настоящий веб сервер с таким называнием. Ставим только его, это будет вполне достаточно.
Идея следующая: в любой юникс системе (а она стоит у нас на VPS сервере) есть планировщик, по научному cron. Можно настроить так, чтобы запускалась любая команда в определенное время или регулярно. Из результатов выполнения команд можно собрать веб страничку и смотреть ее через интернет, не подключаясь по ssh к серверу с любого устройства: хоть с компьютера, или с телефона сидя в туалете. Для примера будет показано как сделать вывод информации о работе мастерноды и инфо о дисках VPS. По аналогии можно сделать вывод любой информации, которую можно выудить из сервера командами. Ну может не получится посмотреть баланс на мастерноде. Ну просто там "денех нет" же :-)
Для дальнейшей работы нам пригодится файловый менеджер на VPS. о нем подробно написано здесь: Midnight Commander — MC
Итак: нужно видеть информацию о работе мастерноды и как ситуация с местом на VPS диске.
Ставим вебсервер командой: apt install apache2
После его установки набери команду также на VPS: systemctl enable apache2
Она позволит автоматически запускаться вебсерверу если VPS будет перезагружен. После этого проверь работает ли твой вебсервер. Открой браузер у себя на компьютере или телефоне и впиши там http: //айпиадрес-своего-VPS-сервера Откроется страничка типа Апач убунту дефаулт пейдж :-) Ура! Если можно перезагрузить VPS сервер, то неплохо это сделать, чтобы проверить запустится вебсервер сам или нет. Перегрузил и еще раз открыл страничку, открылась - тогда всё замечательно!
Дальше: В юникс системах есть возможность написать командный бат файл, как в системах с виндовс. Это называешься shell. Нужно выполнить команду кошелька(мастерноды) getinfo с повтором например 10 минут с сохранением результатов в файл. Т.е. мы пишем как таковой «батник» для нашей задачи.
Запускаем файловый менеджер mc и перемещаемся в каталог root. Будем «батник» размещать там. Жмем и удерживаем шифт и жмем F4 Появился чистый экран, вписываем там с первой строки:
#!/bin/sh
stakecube-cli getinfo
Если копировать мышкой эти строки с сайта, то вставлять их в менеджер нужно удерживая клавишу шифт нажимая ПРАВУЮ кнопку мыши. Дальше сохраняем - жмем F2, система просит придумать имя файлу. Пишем batnik.sh
далее OK и выходим по F10. Теперь чтобы он был самый настояще запускаемый файлик, ставим ему такой признак. Ставим курсор на наш batnik.sh и в верхнем меню выбери File затем в появившемся окне выбери Cmod и дальше поставь галки у всех execute так:
Чтобы сохранить — жмем Set. Готово! Наш файлик стал зелененького цвета и появилась звездочка у него вначале. Проверяем - жмем на нем клавишу Enter. На самом деле все результаты под файловым менеджером :-) Чтобы его скрыть\показать используем сочетание клавиш Ctrl + O (буква O латинская). Жмём и видим результаты выполнения. Всё отлично! Дальше нужно автоматизировать.
Чтобы он запускался в определенное время используем встроенный в систему VPS сервера сервис называющийсяcrontab.
Перемещаемся с помощью MC в каталог etc листаем вниз (можно колесиком мыши) останавливаемся на файле crontab. Жмем F4. Такие его внутренности:
Всё что после # m h dom mon dow user<>command это строки выполнения команд. Интересующиеся могут почитать в инете о формате файла crontab
Мы должны вписать свою строку выполнения по времени, она будет такая:
* * * * * root /root/batnik.sh > /var/www/html/index.html
Все звездочки вначале указывают что выполнять нужно каждую минуту. сделаем пока так, чтобы было веселее. Ну и разумеется сохраняем файл по F2. Затем бежим в каталог html по пути /var/www/html/ и удаляем все что там есть. Это была страничка Апача по умолчанию, она нам больше не нужна. Но через минуту там обьявится файл index.html Это наш! Проверяем открытием: http ://айпиадрес-своего-VPS-сервера Вместо странички апача будет текстовая информация мастерноды. Получилось. Да, неказисто, но это пока временный вариант. Теперь редактируя наш «батник», можно вывести любую информацию о мастерноде или сервере. Например выведем информацию о загрузке жестких дисков на VPS сервере. Это команда: df -l Просто добавим ее вниз в файл batnik.sh и сохраним. Через минуту можно будет смотреть результаты.
Далее будет статья в которой рассказано о том как привести внешний вид странички в порядок.