Установка и обновление health (bash) скрипта для сбора статистики.

Для установки health (bash) скрипта, используемый для сбора статистики, потребуются следующие компоненты:

  • git (требуются для получения обновлений. Если уже установлен storjshare-daemon, то git уже должен быть установлен)
  • jq (используется для обработки json ответов)
  • net-tools (используется для обработки сетевых задач)
  • bc (используется для математических вычислений)
  • curl (используется для обработки HTTP запросов)

Установка скрипта

Для установки скрипта будем использовать утилиту git.
Необходимо перейти в папку, в которой будет сохранен скрипт для дальнейшего использования.

Пример:

cd /home/storj/scripts

После перехода в папку выполним команду:

git clone https://github.com/AntonMZ/Storj-Utils.git

После того, как скрипт был скачан, необходимо внести изменения в конфигурационный файл config.cfg Меняем пути и вносим контактный email адрес для создания профиля на сайте статистики.

Пример конфигурацинного файла

LOGS_FOLDER=/root/.config/storjshare/logs
CONFIGS_FOLDER=/root/.config/storjshare/configs
WATCHDOG_LOG=/var/log/storjshare-daemon-status.log
EMAIL=az@maxrival.com

LOGS_FOLDER - отвечает за расположение лог файлов нод.
CONFIGS_FOLDER - отвечает за расположение конфигурационных файлов нод.
WATCHDOG_LOG - ранее использовалась для подсчета рестартов нод
EMAIL - отвечает за создание профиля на сайте статистики, чтобы у фермера была возможность отображения всех нод в единой таблице.

* Переменную WATCHDOG_LOG можно оставить пустой, она в ближайшем будущем будет отключена.

После установки установки скрипта и настройки конфигурационного файла, нам надо настроить автоматическую отправку данных на сервер статистики. Вносим следующие строки в crontab.

crontab -e

PATH=/bin:/usr/bin:/usr/local/bin:/home/storj/.nvm/versions/node/v6.11.2/bin/
*/5 * * * * /bin/bash /home/storj/scripts/Storj-Utils/health.sh --api > /dev/null 2>&1

Переменная PATH скорее всего уже содержит некоторые пути, но нам надо добавить путь до интерпретатора node окружения (см. пример выше).

Чтобы узнать полный путь до интерпретатора node, необходимо выполнить команду

which node

В ответ должны получить примерно следующий путь

~/.nvm/versions/node/v6.11.3/bin/node

Именно этот путь должен быть указан в переменной PATH.
Стоит помнить, что данный путь необходимо менять каждый раз после установки обновлений для node, так как меняется версия node и путь размещения интерпретатора соответственно.


Обновление скрипта

Для обновления скрипта необходимо перейти в папку со скриптом и выполнить команду

git pull

Утилита git скачает последние обновления скрипта и изменения вступят в силу незамедлительно. Переустанавливать какие-либо компоненты не требуется, так же как и останавливать storjshare-daemon. Вносить изменения в конфигурационный файл скрипта config.cfg также не надо.


Ручной запуск скрипта

Есть два варианта запуска скрипта в ручном режиме.
Режим отображения статистики без отправки данных на сервер статистики

bash health.sh --cli
Storjshare health script in cli mode

Режим сбора и отправки данных на сервер статистики. В таком же режиме скрипт работает через cron.

bash health.sh --api
Storjshare health script in api mode
Диагностика работы скрипта

Если после установки скрипта, скрипт по каким-то причинам скрипт не отсылает данные на сервер статистики, то необходимо заменить в crontab строку

*/5 * * * * /bin/bash /home/storj/scripts/Storj-Utils/health.sh --api > /dev/null 2>&1

на

*/1 * * * * /bin/bash /home/storj/sh/health.sh --api > /home/storj/log.log

После выполнения скрипта через crontab будет создан лог-файл, в котором будет записана ошибка, которая возникает в процессе работы скрипта в фоновом режиме через crontab.

Актуальную статистику всегда можно будет посмотреть на stat.storj.maxrival.com


Переход на автоматическое обновление скрипта

Первые версии скрипта ставились через wget путем затирания старого файла новым. Все переменные были внутри скрипта, и их приходилось переписывать каждый раз при обновлении скрипта, что доставляло неудобства для фермеров. На данный момент обновления можно устанавливать через git pull.

Для замены старого скрипта на новый, необходимо установить новый скрипт через git и заполнить переменные в config.cfg Этот вариант для совсем старых версий скриптов.

Для тех, кто использует более-менее свежий скрипт, где уже есть отдельный конфигурационный файл, необходимо установить скрипт через git и заменить новый конфигурационный файл на старый. Все переменные из старого конфигурационного файла работают с новой версией скрипта.

Стоит обратить внимание на тот момент, что git создает новую папку Storj-Utils! Новый скрипт будет расположен именно в этой папке. В данном случае необходимо изменить путь к скрипту в crontab, либо скопировать все файлы (включая .git) в старую директорию, чтобы не менять путь в crontab.

Comments: