Web VMStat: инструмент мониторинга системной статистики в реальном времени (памяти, процессора, процессора и т. д.) для Linux.
Web-Vmstat — это небольшое приложение, написанное на Java и HTML, которое отображает оперативную статистику системы Linux, например Память, ЦП, I /O, Процессы и т. д. передаются через командную строку мониторинга vmstat на красивой веб-странице с диаграммами (SmoothieCharts) и диаграммами через потоки WebSocket с использованием программы websocketd.
Я записал краткий видеообзор того, что приложение может делать в системе Gentoo.
Требования
В системе Linux должны быть установлены следующие утилиты.
- Wget для получения файлов по протоколам HTTP, HTTPS и FTP.
- Текстовый редактор Nano или VI CLI.
- Распакуйте архиватор.
В этом руководстве вы узнаете, как установить приложение Web-Vmstat на CentOS 6.5, но эта процедура действительна для всех дистрибутивов Linux, единственное отличие — это init (необязательно), которые помогут вам упростить управление всем процессом.
Читайте также: мониторинг производительности Linux с помощью команд Vmstat
Шаг 1. Установите Web-Vmstat
1. Прежде чем приступить к установке Web-Vmstat, убедитесь, что в вашей системе установлены все указанные выше необходимые команды. Для его установки вы можете использовать менеджер пакетов, например команду yum, apt-get и т. д. Например, в системах CentOS мы используем команду yum для его установки.
yum install wget nano unzip
2. Теперь перейдите на официальную веб-страницу Veb-Vmstat и загрузите последнюю версию с помощью кнопки «Загрузить ZIP» или используйте wget для загрузки из командной строки.
wget https://github.com/joewalnes/web-vmstats/archive/master.zip
3. Распакуйте загруженный архив master.zip с помощью утилиты unzip и войдите в извлеченную папку.
unzip master.zip
cd web-vmstats-master
4. Веб-каталог содержит файлы HTML и Java, необходимые для запуска приложения в веб-среде. Создайте в своей системе каталог, в котором вы хотите разместить веб-файлы, и переместите весь веб-контент в этот каталог.
В этом руководстве /opt/web_vmstats/ используется для размещения всех веб-файлов приложений, но вы можете создать в своей системе любой произвольный путь, только убедитесь, что вы сохранили абсолютный веб-путь.
mkdir /opt/web_vmstats
cp -r web/* /opt/web_vmstats/
5. Следующий шаг — загрузить и установить программу потоковой передачи websocketd. Перейдите на официальную страницу WebSocket и загрузите пакет, соответствующий архитектуре вашей системы (64-разрядная, 32-разрядная версия Linux или ARM).
В 32-битной системе
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_386.zip
В 64-битной системе
wget https://github.com/joewalnes/websocketd/releases/download/v0.2.9/websocketd-0.2.9-linux_amd64.zip
6. Распакуйте архив WebSocket с помощью команды unzip и скопируйте двоичный файл websocketd в системный путь к исполняемому файлу, чтобы сделать его доступным. общесистемный.
unzip websocketd-0.2.9-linux_amd64.zip
cp websocketd /usr/local/bin/
7. Теперь вы можете проверить это, запустив команду websocketd, используя следующий синтаксис команды.
websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1
Описание каждого параметра поясняется ниже.
- –port=8080: порт, используемый для подключения по протоколу HTTP. Вы можете использовать любой номер порта.
- –staticdir=/opt/web_vmstats/: путь, по которому размещаются все веб-файлы Web-Vmstat.
- /usr/bin/vmstat -n 1: команда Linux Vmstat, которая обновляет свой статус каждую секунду.
Шаг 2. Создайте файл инициализации
8. Этот шаг не является обязательным и работает только с системами, поддерживающими сценарии init. Чтобы управлять процессом WebSocket как системным демоном, создайте служебный файл init по пути /etc/init.d/ со следующим содержимым.
nano /etc/init.d/web-vmstats
Добавьте следующий контент.
#!/bin/sh
source function library
. /etc/rc.d/init.d/functions
start() {
echo "Starting webvmstats process..."
/usr/local/bin/websocketd --port=8080 --staticdir=/opt/web_vmstats/ /usr/bin/vmstat -n 1 &
}
stop() {
echo "Stopping webvmstats process..."
killall websocketd
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo "Usage: stop start"
;;
esac
9. После создания файла добавьте разрешения на выполнение и управляйте процессом с помощью переключателей start или stop.
chmod +x /etc/init.d/web-vmstats
/etc/init.d/web-vmstats start
10. Если ваш брандмауэр активен, отредактируйте файл /etc/sysconfig/iptables брандмауэра и откройте порт, используемый процессом websocketd, чтобы сделать его доступным для внешних подключений.
nano /etc/sysconfig/iptables
Если вы используете порт 8080, как в этом руководстве, добавьте следующую строку в файл iptables после правила, открывающего порт 22.
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
11. Чтобы завершить весь процесс, перезапустите службу iptables, чтобы применить новое правило.
service iptables restart
service web-vmstats start
Откройте браузер и используйте следующий URL-адрес для отображения системной статистики Vmstats.
http://system_IP:8080
12. Для отображения имени, версии и других сведений о вашем текущем компьютере и установленной на нем операционной системе. Перейдите по пути к файлам Web-Vmstat и выполните следующие команды.
cd /opt/web_vmstats
cat /etc/issue.net | head -1 > version.txt
cat /proc/version >> version.txt
13. Затем откройте файл index.html и добавьте следующий код JavaScript перед строкой .
nano index.html
Используйте следующий код JavaScript.
<div align='center'><h3><pre id="contents"></pre></h3></div>
<script>
function populatePre(url) {
var xhr = new XMLHttpRequest();
xhr.onload = function () {
document.getElementById('contents').textContent = this.responseText;
};
xhr.open('GET', url);
xhr.send();
}
populatePre('version.txt');
</script>
14. Чтобы просмотреть окончательный результат, обновите веб-страницу http://system_IP:8080, и вы должны увидеть информацию и текущую статистику о вашем текущем компьютере, как показано на скриншотах ниже.