GithubHelp home page GithubHelp logo

boumer7 / glpi-inventory-plugin Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 392 KB

Модификация GLPI плагина для инвентаризации оборудования (PHP, SQL, HTML)

License: GNU Affero General Public License v3.0

PHP 99.55% Shell 0.28% Perl 0.17%
glpi glpi-plugin php sql

glpi-inventory-plugin's Introduction

Модификация плагина отчётов для GLPI (менеджера IT-инфраструктуры)

logo-glpi-bleu-1

Стек: PHP, SQL-запросы, HTML, CSS.

Перейти сразу к файлам

Для более подробного ознакомления с GLPI рекомендую посмотреть следующие материалы:

Официальный портал плагинов GLPI

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

Проблема

В некоторых случаях желаемый формат вывода каких-либо данных не предполагается системными настройками GLPI, поэтому возникает необходимость разработки собственных надстроек для решения этой проблемы.

Практическая значимость проекта

Этот проект представляет из себя модификацию уже существующего плагина для отчётов GLPI — reports

Посредством моего проекта можно сформировать представление о том, как модифицировать этот плагин под рабочие задачи организации, бизнес-требования для того, чтобы данные выводились в необходимом формате.

Директория плагина выглядит следующим образом (может отличаться в зависимости от версии):

image

Основная суть модификации плагина под свои нужды заключается в написании кода отчёта на основе шаблона на PHP, SQL и местами HTML+CSS. Код отчёта создаётся в отдельной папке с соответствующим желаемым названием в директории report.

Примеры уже готовых отчётов внутри плагина можно посмотреть в этой же папке, например, код для отчёта принтеров в printers/printers.php

Самой важной, пожалуй, вещью является понимание структуры таблиц в БД MySQL GLPI и написание соответствующих запросов к БД на SQL. Более подробно можно с ней ознакомиться в документации GLPI для разработчиков, однако там описаны не все связи и таблицы, поэтому для решения узкоспециализированнных задач придётся проанализировать архитектуру самостоятельно или использовать написанные мною отчёты для лучшего представления.

image

Примеры моих отчётов

  • vtrm_combined.php — отчёт для вывода связанных между собой бюджетов, комплексов и компьютеров, которые в них входят. Задействование таблиц glpi_infocoms, glpi_budgets, glpi_appliances, glpi_appliances_items, glpi_peripherals, glpi_printers, glpi_racks, glpi_networkequipments, glpi_passivedcequipments;
  • vtrm_report.php — отчёт для вывода объектов из отчёта выше, иная модификация. Задействование таблиц glpi_infocoms, glpi_budgets, glpi_appliances, glpi_peripherals, glpi_printers, glpi_racks;
  • vtrm_report_appliance.php — отчёт для вывода комплексов и связанных с ним оборудования. Задействование таблиц glpi_locations, glpi_budgets, glpi_users, glpi_budgettypes;
  • report_moves.php — отчёт для вывода историй перемещений оборудования (только отсоединения, например, монитор был отключён от ПК). Задействование таблиц glpi_logs, glpi_monitors, glpi_printers, glpi_peripherals, glpi_racks, glpi_operatingsystems, glpi_networkequipments, glpi_computers_items.

Расшифровка предназначений вышеупомянутых таблиц:

  • glpi_logs — массивная по объёму таблица, содержащая все логи системы. Начиная от системных изменений, заканчивая отсоединением одного оборудования от другого. Для извлечения из неё данных необходимо использовать определённые условия;
  • glpi_budgets — таблица, служащая для хранения данных о бюджетах объектов;
  • glpi_budgettypes — таблица, напрямую связанная с glpi_budgets, служит для хранения типов бюджетов;
  • glpi_appliances — таблица, служащая для хранения данных о комплексах оборудования;
  • glpi_appliances_items — таблица, служащая для хранения данных о составах комплексов;
  • glpi_computers — таблица, служащая для хранения данных о компьютерах;
  • glpi_computers_items — таблица, служащая для хранения данных о сборках компьютеров, подключенных устройств;
  • glpi_monitors — таблица, служащая для хранения данных о мониторах;
  • glpi_peripherals — таблица, служащая для хранения данных о периферии;
  • glpi_printers — таблица, служащая для хранения данных о принтерах;
  • glpi_racks — таблица, служащая для хранения данных о стойках;
  • glpi_networkequipments — таблица, служащая для хранения данных о сетевом оборудовании;
  • glpi_users — таблица, служащая для хранения данных о пользователях оборудования;
  • glpi_locations — таблица, служащая для хранения данных о местоположении оборудования;

glpi-inventory-plugin's People

Contributors

boumer7 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.