Установка 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 мониторинг Системное администрирование
  

Поделиться статьей с друзьями:

  

Комментарии к статье