Pull to refresh

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

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

Вот я от скуки и вспомнил давнишнюю полезняшку и давай её внедрять. Как оказалось — ничего сложного ни в установке, ни в конфигурировании нет, а вещь нужная, может кому ещё пригодится.

Полезняшка называется 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, переименуйте и впишите свою локальную сеть).
Tags:
Hubs:
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.