Установка Scout Realtime
воскресенье, 7 сентября 2025 02:59:42, написал admin
Scout Realtime - небольшая утилита для мониторинга нагрузки сервера. Написана на Ruby. Позволяет через браузер в режиме онлайн следить за нагрузкой на сервер, с выводом топ-10 процессов.
Проблема в том, что она очень древняя. И на современном Ruby просто не поднимается. Нужна версия 2.7.x
Установка Ruby через rbenv
Ставим make
sudo apt install build-essential checkinstall zlib1g-dev
Ставим свежий rbenv через гит. Если ставить через пакет, то пойдут ошибки для версий Ruby меньше 3, т.к. ssl теперь по умолчанию на свежих системах всегда ssl 3, а им нужна версия 1.0 или 1.1.
git clone https://github.com/rbenv/rbenv.git ~/.rbenv ~/.rbenv/bin/rbenv init source ~/.bashrc
Ставим Ruby-build
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build git -C "$(rbenv root)"/plugins/ruby-build pull
Выбираем версию
rbenv install -L
Устанавливаем версию
rbenv install 2.7.8 rbenv global 2.7.8 gem install scout_realtime
Запуск
scout_realtime, конфиг nginx:
server { listen 80; server_name your-domain.ru; return 301 https://$server_name$request_uri; #location / { # proxy_pass http://localhost:5555/; #serve realtime traffic with scout #} } server { listen 443 ssl; ssl_certificate /root/.acme.sh/your-domain.ru_ecc/fullchain.cer; # use fullchain.cer for complete certificate ssl_certificate_key /root/.acme.sh/your-domain.ru_ecc/scout.testtort.work.gd.key; # keep this private as much as possible ssl_session_cache shared:SSL:20m; ssl_session_timeout 60m; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; server_name scout.testtort.work.gd; error_log /var/log/nginx/your-domain.ru_errors.log; access_log /var/log/nginx/your-domain.ru_access.log; location / { proxy_pass http://localhost:5555/; #serve realtime traffic with scout } }
Генерируем юзера и пароль:
printf "${USER}:`openssl passwd -apr1`\n"
${USER} - можно поменять на любое имя пользователя. Если оставить так, то будет подставлено текущее имя пользователя.
Создаем файл .htpasswd и вставляем туда полученную строку
В /etc/systemd/system ложим файл scout_realtime.service с таким содержимым:
scout_realtime.service [Unit] Description=Scout Realtime [Service] ExecStart=/usr/local/bin/scout_realtime -f ExecStop=/usr/local/bin/scout_realtime stop User=root #Group=(optional, you can ignore this parameter) [Install] WantedBy=multi-user.target
Включаем службу systemctl enable scout_realtime
scout_relatime мониторинг Системное администрирование