Найти тему

Инвентаризация парка ЭВМ на вашем предприятии своими руками

Оглавление

Привет, дорогой читатель. Ранее я сам часто читал мануалы и статьи по темам «Как установить что-то», а теперь сам выступаю в роли писателя.

Данное вступление в нашей первой статье, в дальнейшем вводных практически не будет, только «живой» материал. Приятного чтения и огромное спасибо за внимание

Это первая статья из цикла «Создание каталога услуг на вашем предприятии»

И так давайте сначала ответим на буквально 1 вопрос. Зачем Вам вообще нужна инвентаризация парка ЭВМ? Думаю, у каждого будут свои ответы (так сказало руководство, ради любопытства, узнать сколько чего, запустить/перезапустить ИТ отдел в рамках ИТИЛ и т.д.). Очень бы хотелось, чтобы сотрудников с ответом «так сказало руководство» (аналог «надо значит надо») было по минимуму.

Приступаем к подготовке и установке.

Подготовка сетевой инфраструктуры.

В нашем решении мы будем собирать информацию и передавать на центральный сервер с установленным GLPI https://glpi-project.org/ без стороннего ПО.

В вашей инфраструктуре для всех хостов, которые будут передавать информацию на центральный сервер

Если планируете опрос оборудования по SNMP соответственно уже сам сервер, либо один из хостов должны иметь сетевой доступ до оборудования. Также необходимо включить SNMP и пользователя сообщества public для доступа «только на чтение»

Если под ваши требования задачи, вы выполнили все условия, можно продвигаться дальше

Подготовка и установка сервера

В нашем примере мы будем разворачивать сервер без использования автоматизаций на базе Ubuntu Server 22.04

Сервер можно развернуть в виртуальной среде, можно на физическом сервере или арендовать VPS. Из хостинг-операторов я использовал и имел положительный опыт со следующими Компаниями:

-Selectel https://selectel.ru/services/cloud/servers/

-RuVDS https://ruvds.com/ru-rub

Выбор за вами исходя из задач, бюджета и возможностей

После завершения операции по развертыванию сервера делаем базовые операции

1. sudo apt update && sudo apt upgrade -y (Обновляем систему до актуального состояния)
2. sudo timedatectl set-timezone (Ваша зона). Пример команды для Москвы +3 sudo timedatectl set-timezone Europe/Moscow
3. sudo set-hostname myinventory –static (Устанавливаем hostname вашего сервера, если при установке это не было сделано)
4. sudo apt-get install -y apache2 libapache2-mod-php mariadb-server mariadb-client php php-curl php-gd php-imagick php-intl php-apcu php-memcache php-imap php-mysql php-cas php-ldap php-tidy php-pear php-xmlrpc php-pspell php-mbstring php-json php-iconv php-xml php-gd php-xsl php-zip php-bz2 (Установим основные пакеты, возможно часть пакетов у вас уже установлена)
5. sudo nano /etc/ssh/sshd_config (можно и редактор vi или прочий, в зависимости от привычки работы в Linux)

6. Находим значение # Port 22, удаляем символ # чтобы опция была активна. Порт рекомендуем изменить на нестандартный для базовой безопасности

7. sudo systemctl restart ssh (чтобы настройки применились)

8. Работаем с файрволлом. По умолчанию файрволл в Ubuntu отключен.

a. sudo ufw allow 80 (Для веб)
b. sudo ufw allow 443 (Для защищенного веб)
c. sudo ufw allow (ваш порт ssh)
d. sudo ufw enable (включаем файрволл)

9. Настроим fail2ban. Данная программа позволит нам блокировать «хулиганов», кто попытался поизучать сервер без вашего дозволения

a. sudo apt install fail2ban (установим программу)
b. sudo systemctl enable fail2ban (включаем автозагрузку)
c. sudo nano /etc/fail2ban/jail.conf

d. Находим опцию [sshd] меняем порт на ваше значение, если стандартный порт был изменен

e. sudo systemctl restart fail2ban (перезапускаем службу)

10. Настроим базу данных. В нашем руководстве будет простая настройка базы данных MariaDB без оптимизаций. Как правило для реализации конкретной задачи нам будет достаточно и данных операций.

a. Софт мы уже поставили ранее, сейчас приступаем к настройке

b. sudo mysql -u root -p (Заходим в консоль mysql)
c. CREATE DATABASE glpidb; (Создаем базу. Наименование базы можете указать любое по вашему желанию)
d. GRANT ALL PRIVILEGES ON glpidb.* TO 'glpi'@'localhost' IDENTIFIED BY 'pas'; (Создаем пользователя glpi с паролем pas и даем привилегии к базе)
e. FLUSH PRIVILEGES;
f. EXIT;

На этом базовая операция с базой данных у нас завершена. Однако рекомендую не забыть сделать следующие процедуры

a. sudo systemctl enable mariadb-server
b. sudo systemctl restart mariadb-server

На этом подготовка сервера считается законченной. Приступаем к установке и настройке уже непосредственно программного решения по инвентаризации

Установка и настройка GLPI

1. Скачаем свежий дистрибутив glpi

a. cd /tmp/ (переходим во временную директорию)
b. wget https://github.com/glpi-project/glpi/releases/download/10.0.10/glpi-10.0.10.tgz (скачиваем свежий релиз)
c. tar -xvf glpi-10.0.10.tgz (разархивируем архив)
d. sudo mv glpi /var/www/html/ (переместим в веб директорию по умолчанию)
e. sudo chmod 755 -R /var/www/html/ (даем нужные права на папку)
f. sudo chown www-data:www-data -R /var/www/html/ (назначаем Apache владельцем папки)
g. sudo nano /etc/apache2/sites-available/glpi.conf (создаем конфигурацию для сайта)

Ниже представлен пример конфигурации

<VirtualHost *:80>
ServerAdmin admin@your_domain.com
DocumentRoot /var/www/html/glpi
ServerName your-domain.com
<Directory /var/www/html/glpi>
Options FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/your-domain.com_error.log
CustomLog ${APACHE_LOG_DIR}/your-domain.com_access.log combined
</VirtualHost>

h. Это базовая конфигурация, которая может быть улучшена на ваше усмотрение. Важными являются ServerAdmin, ServerName и журналы.

i. Сохраните изменения и закройте редактор.

2. Настраиваем Apache и пробуем зайти в наш сервер

a. sudo a2ensite glpi (активируем конфигурацию вашего веб сайта)
b. sudo a2enmod rewrite (включаем модуль rewrite)
c. sudo systemctl restart apache2 (перезапускаем Apache2)

d. Если ваш сайт будет доступен по сети и иметь публичную запись домена, рекомендуется настроить HTTPS через certbot

e. sudo apt install cerbot python3-cerbot-apache
f. cerbot --apache -d [domain] --email [your-email]
g. sudo systemctl restart apache2

Теперь откройте веб-браузер и перейдите по адресу https://your-domain, после чего начнется установка.

Первое что вы увидите это какой язык использовать.

Установка GLPI
Установка GLPI

Затем вы увидите лицензионное соглашение, которое вы должны принять.

Лицензионное соглашение
Лицензионное соглашение

Затем вам будет предложено выполнить новую установку или обновление с предыдущей. В данном случае речь идет об установке с нуля.

Начало установки GLPI
Начало установки GLPI

Затем появится окно, на котором программа установки проверит все зависимости.

Проверка необходимых компонентов
Проверка необходимых компонентов

Далее необходимо подключиться к базе данных. Сервер в нашем случае localhost, а данные для подключения мы указываем исходя из того, что внесли ранее

Настройка базы данных
Настройка базы данных

При подключении вам будет предложено создать новую базу данных или использовать уже созданную нами. Мы выбираем использовать уже созданную базу

Подключение прошло успешно
Подключение прошло успешно

На скриншоте выше говорится, что подключение к базе данных прошло успешно.

Инициализация базы данных
Инициализация базы данных

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

Анонимная статистика
Анонимная статистика

После этого вам будет предоставлена информация о GLPI.

Общая информация по GLPI
Общая информация по GLPI

В конце вы увидите учетные данные для входа в систему, указывающие на то, что все прошло успешно.

Завершение установки
Завершение установки

Теперь вы увидите экран входа в систему.

-12

По умолчанию в GLPI есть 4 разных профиля, вот пароль на вход суперадмина. Думаю с ним вы добавите и удалите кого захотите.

login: glpi

Pass: glpi

Войдите в систему с профилем администратора, и вы увидите панель управления.

На этом система в принципе готова к запуску. Мы можем переходить к включению модулей инвентаризации и подготавливать наших агентов

Инвентаризация

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

1. Включить инвентаризацию в GLPI

2. Разместить агентов на ваших клиентах. (В нашем случае покажем пример развертывания через GPO агентов Windows)

Давайте соответственно пройдем все по этапам.

a. Заходим в наш сервер с glpi и переходим в раздел «Администрирование» - «Оборудование

b. В данном разделе включаем «Инвентаризацию»

Раздел с инвентаризацией
Раздел с инвентаризацией

c. Скачиваем последнюю версию агента GLPI https://github.com/glpi-project/glpi-agent/releases/tag/1.5

d. Переходим к вашему серверу Active Directory. Вам необходимо разместить скаченный пакет в общедоступную директорию

e. Далее само распространение ПО можно сделать через скрипт автозагрузки (вот пример как реализовано в домашней лаборатории)

@echo off
set file=C:\glpi\done.txt
if exist %file% (
echo File %file% already exists
exit
) else (
echo Copying file from \\172.16.20.2\client\GLPI-Agent-1.5-x64.msi to C:\glpi
mkdir C:\glpi
copy "\\172.16.20.2\client\GLPI-Agent-1.5-x64.msi" "C:\glpi\"
if exist "C:\glpi\GLPI-Agent-1.5-x64.msi" (
echo Installation started
msiexec /i "C:\glpi\GLPI-Agent-1.5-x64.msi" /q ADD_FIREWALL_EXCEPTION=1 RUNNOW=1 SERVER='https://myinventory.local/front/inventory.php' NO_SSL_CHECK=1 ADD_FIREWALL_EXCEPTION=1 DEBUG=1 RUNNOW=1 TASK_FREQUENCY=daily
if %errorlevel%==0 (
echo Installation successful
echo Creating %file%
echo. > %file%
echo Deleting GLPI-Agent-1.5-x64.msi
del "C:\glpi\GLPI-Agent-1.5-x64.msi"
) else (
echo Installation failed
echo Deleting GLPI-Agent-1.5-x64.msi
del "C:\glpi\GLPI-Agent-1.5-x64.msi"
)
) else (
echo File GLPI-Agent-1.5-x64.msi does not exist in C:\glpi
exit
)
)

В данном скрипте важно учесть что у вас могут быть свои адреса сервера AD и сервера с GLPI

Само распространение ПО не входит в тему данной статьи, представил как возможную идею для быстрого развертывания

По результатам наших с Вами действий в сети развернут агент GPLI. а вы начинаете собирать статистику по вашему парку.

Ниже пара скриншотов

Дашборд системы с активами
Дашборд системы с активами
Список программного обеспечения на предприятии
Список программного обеспечения на предприятии

PS

Еще раз повторюсь, что задача данной статьи показать возможности использования инструментов для решения ваших задач.

Наша Компания производит внедрения информационных систем мониторинга, инвентаризации и прочих в Production среде. https://it-openspace.ru

Будут вопросы, пишите, обращайтесь. Всего наилучшего.