Мониторинг и управление Thinstation 5.X

  • Печать

Хорошему админу как обычно делать нечего, всё работает.

Вот я от скуки и вспомнил давнишнюю полезняшку и давай её внедрять. Мне она в принципе не нужна, т.к. тонкие клиенты однотипные, но тем у кого "зоопарк" может  пригодится.

Полезняшка называется TSmon - система мониторинга и управления Thinstation. Найти её можно здесь, лицензия GNUтая, но качать нестоит, по умолчанию - не работает, т.к. много изменений в TS. Рабочий вариант в конце статьи.

Вот вольный перевод описания от разработчика - Chris Nelson:
TSmon состоит из серверного компонента и пакета клиента TS. При загрузке и один раз в минуту, клиент будет соединяться с сервером и сообщать о себе следующую информацию: идентификатор, IP, MAC, имя узла, версия TS, SESSION_0, использование RAM, использование ЦП, и время работы. 

Сервер хранит информацию в базе данных MySQL. Открыв страницу администрирования TSmon Вы увидите информацию о всех активных (загруженных за прошлые 2 минуты) клиентах, а также параметры выключенных клиентов, которые недавно загружались. Со страницы TSmon Вы можете удаленно просмотреть и управлять любым клиентом в своем браузере, используя VNC, передать команду, которая будет выполнена при следующем подключении клиента к tsmon-серверу, перезагрузить клиента, подключится через SSH в вашем браузере, и отредактировать файлы конфигурации клиентов. Вы можете также перезагрузить несколько выбранных клиентов за один раз или отправить им команду.

 Для удобства пользования я её немного допилил, добавил несколько скриптов (для редактирования группового, основного конфигов и файла thinstation.hosts  + будилку WOL) и русифицировал, по мер надобности. По умолчанию работает с TS-5, хочет для себя MySQL, и веб-сервер с поддержкой PHP, какие нужны версии - не увидел вроде нигде, у меня заработало на Apache-2.2.3  PHP-5.3.5 (на 5.5 не заработало) и MySQL-5.0.26.

Пролог закончил, начинаем установку.
В комплект входит серверная часть с базой MySQL и пакет для TS. Установку и настройку PHP и MySQL я опускаю, статья не об этом, считаем, что у вас уже всё установлено и настроено. Поехали...
( HTML ломает некоторые знаки. Для точного копирования команд справа от листинга есть кнопка <>)

Распаковываем серверную часть на ваш веб-сервер и там есть файл БД - tsmon.sql, он нам сейчас понадобится.

Входим в интерфейс управления mysql и создаём базу данных с пользователем (в PHP-файлах уже прописаны юзер: tsmon, пароль: tsmon123 и имя БД: tsmon):

mysql -u root -p
CREATE DATABASE tsmon DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
GRANT ALL PRIVILEGES ON tsmon.* TO tsmon@localhost IDENTIFIED BY 'tsmon123';
quit

Импортируем нашу БД:

mysql -u tsmon -p tsmon < tsmon.sql

Запускаем браузер и открываем адрес http://ваш_сервер/tsmon и наблюдаем вот такую страничку:

Клиенты ещё не загружались, база пустая.

Или не наблюдаем и разбираемся с настройками сервера... 

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

wget -O tsmon http://ваш_сервер/tsmon/tsmon.php/?MAC=test\&MODE=boot

Должна появиться строчка c MAC test.

Файлы конфигурации расположены в папке configs, по сему либо делаем симлинк на вашу папку с конфигами для tftp, либо при сборке указываем загрузку конфигов через wget, для этого пишем в build.conf параметр param baseurl  http://ваш_сервер и param basepath tsmon/configs, в thinstation.conf.buildtime - переменные NET_FILE_ENABLED=On и NET_FILE_METHOD=wget .

По скрину вроде пояснять нечего. При редактировании жмём на нужный из списка имеющихся файлов, редактируем опции и жмём "Создать файл или сохранить изменения".
Для создания новой группы - пишем имя файла и жмём "Создать файл или сохранить изменения".

Дальше - скачиваем пакет для TS , распаковываем в папку packages, если VNC не нужен или не работает, то можно в файле dependencies закомментировать xorg7vnc.

В build.conf прописываем: package tsmon, param rootpasswd ваш_пароль, param xorgvncpasswd ваш_пароль

В thinstation.conf.buildtime добавляем переменную TSMON_SERVER=http://ваш_сервер

Собираем образ, редактируем файлы конфигурации под свои нужды и запускаем TS-клиента.

Опять стартуем браузер с адресом http://ваш_сервер/tsmon и видим:


 

Ну как бы и всё...

Функции подключения по VNC и SSH работают на ура, нужна поддерка JAVA  и NPAPI в браузере.

Для работы WOL нужен линуксовый веб-сервер с установленным пакетом wakeonlan и включенная в биосе клиента функция.

О своём состоянии клиент сообщает серверу раз в минуту, в это же время сервер посылает на клиента команду, введённую в веб-интерфейсе, поэтому команды выполняются с задержкой.

Для идентификации в веб-интерфейсе клиентов по группам нужно прописать в thinstation.conf.group-xxx параметр TSMON_IDENT=название группы.

PS
Если ваш сервер смотрит и во внешнюю сеть, то запретите внешний доступ в папку tsmon с помощью .htaccess (есть в серверной части под названием htaccess.txt, переименуйте и впишите свою локальную сеть)


Скачать серверную часть TSmon

Скачать пакет TS-5

Скачать образ системы для VirtualBox c установленным TSmon

Обсудить на форуме (комментариев 20).