Scout Realtime — простой и удобный мониторинг ресурсов вашего Linux сервера, написанный на Ruby. Проект позиционируется разработчиками как современная замена консольной утилите top с выводом статистики использования диска, памяти, сети, CPU и запущенных процессов. Всё это отображается в реальном времени с плавными графиками.
Требования
Поскольку почти все показатели scout_realtime берёт из procfs, он работает в большинстве дистрибутивов Linux (не поддерживаются OSX и FreeBSD). Для работы нужна версия Ruby 1.9.3+
Для установки нам понадобится Ruby 1.9.3+.
Установка Ruby на Debian / Ubuntu
Если ОС только установлена, перед работой необходимо обновить список пакетов:
# apt -y update
Для установки нужной версии Ruby в Debian/Ubuntu достаточно выполнить команду
# apt -y install ruby
Убедимся, что установлена нужная версия:
# ruby -v ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]
Установка Ruby на CentOS / AlmaLinux / RockyLinux
Для установки Ruby на CentOS 7 выполните команду:
# yum -y install ruby
Для установки Ruby на AlmaLinux 8, AlmaLinux9, RockyLinux 8, RockyLinux 9 выполните команду:
# dnf -y install ruby
После установки проверим версию Ruby (у современных ОС в репозиториях версия Ruby выше 1.9.3):
# ruby -v ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
Установка Scout Realtime
Сам мониторинг это обычный gem:
# gem install scout_realtime
В случае успеха вывод будет таким:
Fetching server_metrics-1.2.18.gem Fetching scout_realtime-1.0.5.gem … Done installing documentation for server_metrics, scout_realtime after 4 seconds 2 gems installed
После того как установили можно сразу запускать:
# scout_realtime
Либо можно запустить на определенном порту и IP вашего сервера:
root@i:~# scout_realtime --port 12345 --bind 10.10.10.10
В случае успешного запуска в терминале будет дальнейшая инструкция:
Daemon has started successfully To view in your browser, do ONE of the following: A) create an SSH tunnel: ssh -NL 5555:localhost:5555 user@ip_or_hostname (run that command on your own computer, not the server) then point your browser to: http://localhost:5555 --- OR --- B) open a port in your firewall: sudo iptables -A INPUT -p tcp --dport 5555 -j ACCEPT (run that command on your server) then point your browser to: http://your-ip-or-hostname:5555 * FYI, the log file is: /root/.scout/scout_realtime.log * "scout_realtime stop" to stop the daemon
По умолчанию Scout Realtime запускается на порту 5555, если вы явно не указали свой порт. Проверить можно командой netstat
, входящей в пакет net-tools:
# apt -y install net-tools для Debian / Ubuntu
# yum -y install net-tools для CentOS / AlmaLinux / Rocky Linux
# netstat -tulpn | grep ruby tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN 23162/ruby
Видим, что запущен процесс ruby на порту 5555. Переходим в браузер и открываем web-интерфейс Scout Realtime: http://1.2.3.4:5555
Укажите вместо 1.2.3.4 IP-адрес вашего сервера, на котором установлен Scout Realtime.
Настройка iptables
Для того чтобы защитить информацию, которую выдает Scout Realtime, требуется ограничить доступ по IP:
# iptables -A INPUT ! -s 127.0.0.1 -p tcp --dport 5555 -j DROP
где вместо 127.0.0.1 — ваш IP-адрес, а вместо 5555 — порт, по которому у вас работает Scout Realtime.