Remote Inventory on GLPI Inventory

Collecting inventory data from servers, network devices, and workstations across your company is a challenging task. Initially, this process requires installing agents on every computer. However, there are common obstacles. Perhaps internal policies prevent agents from being installed on all servers, or there’s no centralized installation method. Sometimes, networks are isolated, making it impossible to connect to your GLPI server, or you might simply need to collect data remotely from your network.

Additionally, consider the scenario where data collection is necessary from network devices and printers. This is where the GLPI Agent becomes invaluable. Since its 1.6 version, the GLPI Agent includes a Toolbox plugin. This plugin significantly expands your capabilities, allowing for network discovery and inventory of network devices using SNMP. It also facilitates remote data collection of hosts: Windows through WinRM, Linux via SSH, and ESXi.

The beauty of the GLPI Agent lies in its versatility – all these functions are integrated into a single agent, simplifying what was once a complex and multifaceted task.

All you need before starting is:

  1. At least 1 device with the GLPI Agent 1.6 or above installed and with access to the networks you need to scan
  2. The GLPI Agent Toolbox plugin activated
  3. The list of IP Ranges from the network you want to scan and collect data from

a. If you have many VLANs or want to segment the scans between tasks, you can separate the ranges following your company policies

4. The list of SSH, WinRM and SNMP credentials with administration permissions

The toolbox is not intended to be installed on insecure networks.

After we’ve gathered all this information, You can follow these steps contained in the video below:

  1. Activate the GLPI Agent Toolbox plugin
  2. Activate the navigation bar menus

a. You will need just the 4 menus that are on the documentation:

i. Credentials

ii. Inventory

iii. IP Ranges

iv. Scheduling

3. Create the IP ranges you want to discover and inventory devices remotely

4. Register the SNMP credentials of your devices

5. Register the SSH credentials of your devices

6. Register the ESXi credentials – if you have them

7. Create the scheduling you want GLPI Agent to run – if you want to do it recurrently

a. Even if you want the task to be run just once, we must create a schedule to add to the task

8. Create an Inventory task

a. If you set a huge network, you need to be aware that more time will be needed for the agent to finish its job.

b. threads is the number of remote devices the task will query for at the same time.

i. This can be set higher to make more requests at the same time and keep the task running in a shorter time.

ii. The value must be reasonable, and the right value can depend on the resources allocated to the agent.

c. timeout is the number of seconds before the agent will decide a remote device is not responding.

i. On a local network with devices responding quickly, it can probably be set to 1 second.

ii. On devices located behind a far network or if devices can be overloaded, this may require a higher value.

iii. When have SSH authentication is included, 10s is better, so the agent can wait for the device to respond.

9. Run the task

a. If you activate the debug of the agent to the ID 2, which is the most complete debug mode, you will be able to watch each tentative of the agent to connect to each IP of the range.

In this scenario, we are collecting just information about SNMP equipments, and Linux instances using SSH. For this lab and video, we are not collecting Windows information, even though it is possible if you enable WinRM connections from the host containing the GLPI Agent Toolbox and registering a WinRM credential to the configuration of the agent.

 

Resources

 

https://glpi-agent.readthedocs.io/en/latest/tasks/remote-inventory.html

https://glpi-agent.readthedocs.io/en/latest/plugins/basic-authentication-server-plugin.html

https://glpi-agent.readthedocs.io/en/latest/plugins/ssl-server-plugin.html

https://glpi-agent.readthedocs.io/en/latest/plugins/toolbox-plugin.html#setup

GLPI Agent Toolbox

Webinar by our partner Gold Omnicom – “Service request management supported by GLPI”

We invite you to join this free webinar presented by our Gold partner in Slovakia – OMNICOM, the subject will be “Service request management supported by GLPI

On February 1, 2024 from 10:00 a.m. to 10:45 a.m. presented by Miroslav Hlohovsky CEO, Head of Digital at OMNICOM.

Discover the agenda!

  • Introduction;
  • Overview of GLPI;
  • Service Request Management;
  • GLPI Implementation;
  • GLPI Best Practices;
  • Case Studies;
  • Q&A.

Join their webinar “Service Request Management with GLPI”. Explore GLPI’s capabilities for streamlined service requests. Don’t miss this opportunity to improve your understanding and improve the management of your service requests.

Register for the Webinar!

GLPI Agent 1.7.1

GLPI Agent 1.7.1 has been released.

You can download it on the GLPI Agent github project: https://github.com/glpi-project/glpi-agent/releases/tag/1.7.1

The 1.7.1 version specifically fixes SSL connections problems introduced with 1.7 version update for windows and MacOSX agents but only when you’re using windows keystore or macosx keychain to publish the ssl chain validation for your GLPI server.

You don’t need to update to 1.7.1 after updating to 1.7 if you’re not in that case.

GLPI Agent 1.7

GLPI Agent 1.7 has been released.

You’re encouraged to upgrade your GLPI agents or migrate if you’re still using FusionInventory agents.

You can download it on the GLPI Agent github project: https://github.com/glpi-project/glpi-agent/releases/tag/1.7

Here is a summary of the most important changes of the 1.7 version:

  • some important fixes have been made on ToolBox plugin in relation with NetDiscovery and RemoteInventory tasks:
    • the defined timeout will only apply on connection tries during discovery where the agent backend-collect-timeout configuration will apply on the inventory
    • a possible locking issue while running the discovery has been fixed
    • we updated the way we define the “Agent Folder” local target in inventory tasks configuration to have a more appropriate sens when the agent is running as a service
    • an issue blocking the submission of JSON remote inventory was fixed
  • for NetDiscovery and NetInventory tasks, we also have:
    • an enhanced support of Toshiba printers
    • a fix related to the support of LLDP connection datas analysis
  • for ToolBox plugin, we also fixed the export button on the results page
  • the RemoteInventory task also includes:
    • a fix for the inventory of softwares from a windows remote with a windows agent
    • a fix for computer FQDN and domain inventory
    • an update to support timezone inventory
    • an update to support printer inventory via ssh using perl mode
    • a fix for an error preventing ssh inventory because of a wrong option in the “ssh” mode
  • the ESX task has been fixed to work as expected with the GlpiInventory plugin without living the job in a “ko” status with just “n/a” as description while the inventory is still normally integrated
  • the Inventory task has received few improvements:
    • the support of SentinelOne antivirus on linux. It was implemented by a community contributor, many thanks to him !
    • the assetname-support option has been updated to authorize forcing the asset name with its FQDN on linux. Also that option also changes the computing of the agent name in the same way.
    • a fix related to the inventory of network cards on linux
    • an update to find the wifi card network speed on linux
  • the MacOSX package has been udpated to use OpenSSL 3.2.0
  • the Apple AppID for the MacOSX package has been updated
  • the 1.6 and 1.6.1 linux perl installers had a problem generating an error during agent update and this is now fixed
  • to optimize the running time while using a server url with SSL support, we decided to no more try to export the ssl key store if any of the options providing SSL server certificate authentication is still used

As always, you can check the more detailed changelog at: https://github.com/glpi-project/glpi-agent/blob/1.7/Changes

About the MSI windows installer, it appears the used perl version is now completely outdated and requires a very big update. This essentially concerns the OpenSSL and libssh2 libraries, the last been used for remote inventory. As we use StrawberryPerl and this project decided to no more support the 32 bits perl version, we decided the 1.7 version will be the last to provide GLPI Agent in 32 bits. This perl update will be the main goal of the next 1.8 version.

Enhance Multilingual Support in GLPI with ‘Translate’ Plugin

Provide support to companies or branch offices worldwide can be a big challenge if you need to comply with everyone to keep on just one language.

I used to be a language teacher and, myself, am not an English native speaker. It can be hard to express some ideas, feelings and describe issues or requirements when you’re not using your own language.

Translation tools happen to be some kind of best friends when you need support from companies around the world. Or even when you support companies or offices that keep sending you tickets in other languages that you can’t understand.

Communication is more than just convey a message. It’s about really understanding what you want to be perceived by your pairs.

With our new plugin called “Translate”, part of the job of copying and pasting texts to add tasks and follow-ups is gone.

With Translate you can add the ability to translate ticket timeline items like tasks and follow-ups.

GLPI is a multi-language ITSM tool, which means that you can provide system translation on menus, modules, notifications, categories taking into account the language that each user selects on their personal settings. The only missing piece of information that would not be translated were the written items. The ones that people provide to the system.

Requirements

The plugin is available to all GLPI Network Basic Subscription and GLPI Network Cloud clients, and it is integrated with the Translation API from DeepL, a leading neural machine translation service that uses artificial intelligence to provide high-quality language translation.

Which means you will also have a DeepL account and registration on its Translation API — which has many plans, including a free tier.

How to set it up

  • Install and enable the plugin on the GLPI Marketplace
  • Copy your DeepL Pro API
  • On GLPI, Navigate through General > Translate (tab)
  • Paste your DeepL Pro API
  • Enable the languages you want GLPI to be able to translate
  • Enable the “Translatable elements allowed for all users”
  • Add the permissions for Profiles allowed to translate the GLPI timeline items
    • Each Profile must have authorization to be able to translate
  • Use the button on top right of each item to toggle the translation on and off

Video content

00:00 – Multilingual support is hard

01:07 – Plugin Translate

01:48 – How to configure the plugin Translate

02:58 – Plugin Translate Demonstration

04:40 – Plugin Translate permissions