Freebees HM

Freebees HM

Это проект инвентаризации компьютеров на базе ОС в на базе ОС Windows 7, 8, 10 с возможностью мониторинга некоторых критичных параметров. Принцип работы проекта заключается в следующем: клиенский компьютер с установленным клиентским сервисом (с заданнной периодичностью) отчитывается системе о своем состоянии и параметрах. Если клинтский компьютер не зарегистрирован в системе, то происходит автоматическая регистрация компьютера. Если компьютер уже есть в системе, то в систему записываются его обновленные параметры и состояние.

Проект предоставляет следующую информацию о клиентских компьютерах:

  • Текущий авторизированный пользователь системы
  • Описание компьютера
  • Версию ОС
  • Сетевое подключение (MAC адрес, адрес ipv4, ipv6, название сетевого адаптера)
  • Модель процессора
  • Модель видеокарты
  • Модель материнской платы
  • Модель жестккого диска
  • Модель монитора
  • Число, имя, полное имя, описание пользователей компьютера
  • Название принтеров, установленных в системе, их драйвер, порт, является ли принтер сетевым, а так же информацию о адресе ресураса, если принтер является сетевым
  • Тома компьютера, название тома, свободное место на томе, размер тома, файловая система
  • Реестр программ, установленнх на компьютере, название пронраммы, издатель, версия программы

Возможности мониторинга:

  • Мониторинг свободного места на томах
  • Мониторинг температуры процессора
  • Мониторинг температуры видеокарты
  • Мониторинг температуры жестких дисков
  • Заряд батарейки БИОС

Так же для удобства пристутствует возможность распределять компьютеры по группам, система поиска по всем параметрам компьютера, фильтрация по таблицам с событиями и реестром программного обеспечения компьютера.

Проект состоит из 3-х частей. Бэкэнд на Symfony 4, сервис Node.js для сервера и сервис для клиентских устройств

Требования к окружению:

  • Apache >= 2.4
  • PHP >= 7.2
  • MySQL >= 5.7
  • Node.js >= 8.10
  • Свободные порты 80, 8080 и 3000

Изменения в версиях

0.0.3 Fix 1

Отключено ведение логов сервиса PM2.

0.0.3

  • Исправлены некоторые ошибки
  • Добавлена более подробная информация об оперативной памяти компьютера
  • Добавлена возможность оповещения о нехватке оперативной памяти
  • Добавлена возможность оповещения о высокой загрузке процессора
  • Добавлена функция генерации и печати QR кода с именем компьютера

0.0.2

  • Исправлены некоторые ошибки
  • Добавлены отчеты по операционным системам, процессорам, видеокартам, мат. платам, жеским дискам, мониторам, оперативной памяти
  • Добавлена возможность массового удаления компьютеров
  • Изменения в ленте. Добавлена панель с журналом событий системы

Установка

Проект можно установить двумя способами. Оба способа показаны на примере Ubuntu 18.04 LTS

Способ № 1 — для разумных

Создать папку /usr/freebees-hm/mysql

Создать папку /usr/freebees-hm/environments и создать в ней файл environment.json со следующим содержанием

{
    "name": "prod",
    "production": true,
    "settings": {
        "apiurl": "http://localhost:8080/api/v1/",
        "apiloginurl": "http://localhost:8080/api/",
        "serviceurl": "ws://localhost:3000/"
    }
}

Здесь вместо localhost необходимо указать имя сервера, на который устанавливается проект

Запустить установку Docker командой

$sudo apt install docker.io

Скачать docker образ

$sudo docker pull freebees/freebees-hm

Запустить образ командой

docker run -d -v /usr/freebees-hm/mysql:/var/lib/mysql -v /usr/freebees-hm/environments:/var/www/freebees-hm/public/bundles/frbshm/assets/environments -p 80:80 -p 8080:8080 -p 3000:3000 -it freebees/freebees-hm

Способ № 2 — для смелых

Установка фронтэнда

Для удобства в дальнейшем рекомендуется установить ** Midnight Commander**

$sudo apt install mc

Установка MariaDB сервера

Для установки необходимо обновить список пакетов командой

$sudo apt update

Затем установить MariaDB сервер командой

$sudo apt install mariadb-server

Добавить немножечко костыльной магии

$mysql -u root
use mysql;
update user set authentication_string=password(''), plugin='mysql_native_password' where user='root';

Установка веб-сервера Apache

При установке apache никаких дополнительных операций не требуется

$sudo apt install apache2

Установка PHP

Перед установкой PHP необходимо добавить репозиторий для получения актуальной версии PHP

$sudo apt install software-properties-common
$sudo add-apt-repository ppa:ondrej/php
$sudo apt update

Затем установить PHP версии 7.2 коммандой

$sudo apt install php7.2 libapache2-mod-php7.2 php7.2-cli php7.2-mysql php7.2-xml php7.2-zip

И перезагрузить веб-сервер коммандой

$sudo systemctl restart apache2.service

Включить необходимые моды

$sudo a2enmod headers
$sudo a2enmod rewrite

Установка Composer

Это менеджер зависимостей PHP. Он поможет скачать и установить фронтэнд и бэкэнд часть проекта.

$sudo apt install composer

Установка фронтэнд и бэкэнд части проекта

Запускаем, установленный ранее Midnight Commander командой mc и переходим в папку /var/www/. Нажимаем CTRL+O, в командной строке указываем команду

$sudo composer create-project freebees-club/freebees-hm

этим запускаем установку.

Затем последовательно вводим команды для создания базы даннных, схемы и загрузки начальных данных

$sudo php bin/console doctrine:database:create
$sudo php bin/console doctrine:schema:create
$sudo php bin/console doctrine:fixtures:load --append

Минимальная конфигурация веб-сервера

Веб-сервер должен прослушивать 2 порта, 80 для фронтэнда, 8080 для api запросов. Так же важно правильно указать папки, в которых находится проект.Необходимая конфигурация веб-сервера apache в ОС Ubuntu находится в файле/etc/apache2/sites-available/000-default.conf. Файл должен содержать следующие строки:

listen 8080
servername localhost
<directory "/var/www">
    options indexes followsymlinks
    allowoverride all
</directory>
<virtualhost *:80>
    documentroot "/var/www/html/freebees-hm/public/bundles/frbshm"
</virtualhost>
<virtualhost *:8080>
    documentroot "/var/www/html/freebees-hm/public"
</virtualhost>

Установка Node.js сервиса

Перед загрузкой сервиса необходимо установить Node.js следующими командами

$sudo apt install nodejs
$sudo apt install build-essential
$sudo apt install npm

Затем при помощи Midnight Commander перейти в папку, в которую вы желаете установить сервис. Например,/home/<имя пользователя>. Командой

$sudo git clone https://freebees-club@bitbucket.org/freebees-club/freebees-hm-service.git
$sudo npm install

скачать и установить сервис.

Для удобства использования сервисом желательно установить PM2. Это удобный менеджер процессов Node.js, который перезагружает сервис в случае сбоя, а так же запускает сервис при загрузке сервера.

Чтобы начать установку PM2, введите в командную строку:

$sudo npm install pm2 -g

Для запуска сервиса при помощи PM2 используте следующую команду

$sudo pm2 start service

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

Установка сервиса на клиентские устройства

Клиентский сервис можно скачать тут — http:/freebees.ru/downloads

Установка производится традиционным способом от имени администратора, либо в режиме тихой установки командой

msiexec.exe /i "<путь к msi файлу установки>" /qn hostname="ws://localhost:3000"

где /qn это параметр тихой установки, а hostname=»ws://localhost:3000″ это имя сервера и порт сервера, на котором установлен Node.js сервис. Тихая установка так же должна производится от имени пользователя с повышенными привелегиями.

Freebees HM: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *