Мониторинг и управление 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):
Импортируем нашу БД:
Запускаем браузер и открываем адрес http://ваш_сервер/tsmon и наблюдаем вот такую страничку:
Клиенты ещё не загружались, база пустая.
Или не наблюдаем и разбираемся с настройками сервера...
Для проверки работоспособности выполните команду:
Должна появиться строчка 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, переименуйте и впишите свою локальную сеть)
Скачать образ системы для VirtualBox c установленным TSmon
Обсудить на форуме (комментариев 50).