freebees-club/freebees-hm

Freebees hardware monitor

This package is not auto-updated.

Last update: 2024-03-21 14:45:52 UTC


README

Это проект инвентаризации компьютеров на базе ОС в на базе ОС 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.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][client]

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

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

где /qn это параметр тихой установки, а hostname="ws://localhost:3000" это имя сервера и порт сервера, на котором установлен Node.js сервис.Тихая установка так же должна производится от имени пользователя с повышенными привелегиями. [client]: http://freebees.ru/downloads