Как стать автором
Обновить

Мониторинг и управление 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.2.14 и MySQL-5.0.26.

Пролог закончил, начинаем установку.

В комплект входит серверная часть с базой MySQL и пакет для TS. Установку и настройку PHP и MySQL я опускаю, статья не об этом, считаем, что у вас уже всё установлено и настроено. Поехали…

Распаковываем серверную часть на ваш веб-сервер и там есть файл БД — 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

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

image

Клиенты ещё не загружались, база пустая. Или не наблюдаем и разбираемся с настройками сервера…

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

По скрину вроде пояснять нечего. При редактировании thinstation.conf.group в левом поле пишем ТОЛЬКО название группы, например 1280x1024, и жмём «открыть файл» (список имеющихся файлов в самом низу), редактируем в правом поле опции и жмём «Создать файл или сохранить изменения».

Для создания новой группы — в левом поле пишем ТОЛЬКО название группы, прописываем в правом поле опции и жмём «Создать файл или сохранить изменения».

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

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

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

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

Как бы и всё…

Функции подключения по VNC и SSH работают на ура, нужна поддерка JAVA и NPAPI в браузере. Для работы WOL нужен линуксовый веб-сервер с установленным пакетом wakeonlan и включенная в биосе клиента функция.

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

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

P.S.: Если ваш сервер смотрит и во внешнюю сеть, то запретите внешний доступ в папку tsmon с помощью .htaccess (есть в серверной части под названием htaccess.txt, переименуйте и впишите свою локальную сеть).
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.