GLPI Agent
Summary
The GLPI Agent is a generic management agent. It can perform a certain number of tasks, according to its own execution plan, or on behalf of a GLPI server acting as a control point.
Description
This agent is based on a fork of FusionInventory agent and so works mainly like FusionInventory agent. It introduces new features and a new protocol to communicate directly with a GLPI server and its native inventory feature. Anyway it also keeps the compatibility with FusionInventory for GLPI plugin.
Download
- Release: See our github releases for official win32, MacOSX & linux packages.
- Development builds:
- nightly builds for last 'develop' branch commits: GLPI-Agent nightly builds
- with a github account, you can also access artifacts for any other branches supporting "GLPI Agent Packaging" workflow
Documentation
The GLPI Agent has its dedicated documentation project where any contribution will also be appreciated.
The documentation itself is readable online.
Dependencies
Core
Minimum perl version: 5.8
Mandatory Perl modules:
- File::Which
- LWP::UserAgent
- Net::IP
- Text::Template
- UNIVERSAL::require
- XML::LibXML
- Cpanel::JSON::XS
Optional Perl modules:
- Compress::Zlib, for message compression
- HTTP::Daemon, for web interface
- IO::Socket::SSL, for HTTPS support
- LWP::Protocol::https, for HTTPS support
- Proc::Daemon, for daemon mode (Unix only)
- Proc::PID::File, for daemon mode (Unix only)
Inventory task
Optional Perl modules:
- Net::CUPS, for printers detection
- Parse::EDID, for EDID data parsing
- DateTime, for reliable timezone name extraction
Optional programs:
- dmidecode, for DMI data retrieval
- lspci, for PCI bus scanning
- hdparm, for additional disk drive info retrieval
- monitor-get-edid-using-vbe, monitor-get-edid or get-edid, for EDID data access
- ssh-keyscan, for host SSH public key retrieval
Network discovery tasks
Mandatory Perl modules:
- Thread::Queue
Optional Perl modules:
- Net::NBName, for NetBios method support
- Net::SNMP, for SNMP method support
Optional programs:
- arp, for arp table lookup method support
Network inventory tasks
Mandatory Perl modules:
- Net::SNMP
- Thread::Queue
Optional Perl modules:
- Crypt::DES, for SNMPv3 support
Wake on LAN task
Optional Perl modules:
- Net::Write::Layer2, for ethernet method support
Deploy task
Mandatory Perl modules:
- Archive::Extract
- Digest::SHA
- File::Copy::Recursive
- Cpanel::JSON::XS
- URI::Escape
Mandatory Perl modules for P2P Support:
- Net::Ping
- Parallel::ForkManager
MSI Packaging
Tools:
Mandatory Perl modules:
- Perl::Dist::Strawberry
MacOSX Packaging
Tools:
Public databases
- Pci.ids
- Usb.ids
- SysObject.ids: sysobject.ids
Related contribs
See CONTRIB to find references to GLPI Agent related scritps/files
Contacts
Project websites:
- main site: https://glpi-project.org/
- forum: https://forum.glpi-project.org/
- github: http://github.com/glpi-project/glpi-agent
Project Telegram channel:
Please report any issues on project github issue tracker.
Active authors
- Guillaume Bougard [email protected]
Copyright 2006-2010 OCS Inventory contributors
Copyright 2010-2019 FusionInventory Team
Copyright 2011-2021 Teclib Editions
License
This software is licensed under the terms of GPLv2+, see LICENSE file for details.
Additional pieces of software
The glpi-injector script is based on fusioninventory-injector script:
- author: Pascal Danek
- copyright: 2005 Pascal Danek
GLPI::Agent::Task::Inventory::Vmsystem contains code from imvirt:
- url: http://micky.ibh.net/~liske/imvirt.html
- author: Thomas Liske [email protected]
- copyright: 2008 IBH IT-Service GmbH http://www.ibh.de/
- License: GPLv2+
ToolBox HTTP daemon plugin uses flatpickr lightweight and powerful datetime picker js library.
- author: Gregory Petrosyan
- url: https://flatpickr.js.org/
- copyright: 2017 Gregory Petrosyan
- License: License MIT