Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
TLS Protocol
Microsoft is gradually removing the TLS 1.0 and 1.1 protocols for all Microsoft 365 applications. In order to keep your collector running, you need to add an Oauth IMAP plugin available in the marketplace.
OAuth IMAP and MFA
The Oauth tokens for the collector, retrieved during authentication with Azure by the OauthIMAP plugin, are "offline" tokens that delegate authorisation to a third-party application (GLPI). These tokens provide a renewal code that will be used by the application to renew them automatically without user intervention. You will therefore not be asked to re-authenticate after the 1st authorisation request (unless you change your password at a later date).
10.0.x
8.1
8.2
Here are the configuration steps including configuration phases on the Azure side.
See you in the marketplace. Download Oauth IMAP and enable it
Meet now on your Azure tenant
In the search box type registration
then select app registrations
Click on new registration
Indicate the desired name, select the type of account supported then indicate the redirection URL (present in the configuration of the plugin from your GLPI interface: https://XXXXXXXXXXXXXX/marketplace/oauthimap/front/authorization.callback.php) specifying the Web
option.
Then click on register
.
In the Certificates and secrets
tab , click on Client secrets
then New client secret
Enter a description and then an expiration date.
A secret value is then generated. Keep this value well because once you have left this page, it will no longer be recoverable.
Return to the " Overview
" tab and copy
the following values and the secret seen above
Now go back to your GLPI interface configuration
> Application Aouth IMAP
and indicate the information collected previously :
Click add
.
Now in the Oauth authorization
tab , we will create an authorization
When you click on create authorization
, you will be redirected to the Microsoft services sign-in page.
Enter the email address and password of the account that will be used for the collector.
You will also need to accept the necessary permissions related to the plugin.
See you now in setup
> receivers
to configure it:
The information concerning the files to be collected is according to your needs.
Change password
If the password of the account collecting the emails is changed, it will also have to be changed in Oauth IMAP using the button in the plugin configuration
TLS Protocol
Microsoft is gradually removing the TLS 1.0 and 1.1 protocols for all Microsoft 365 applications. In order to keep your collector running, you need to add an Oauth IMAP plugin available in the marketplace.
OAuth IMAP and MFA
The Oauth tokens for the collector, retrieved during authentication with Azure by the OauthIMAP plugin, are "offline" tokens that delegate authorisation to a third-party application (GLPI). These tokens provide a renewal code that will be used by the application to renew them automatically without user intervention. You will therefore not be asked to re-authenticate after the 1st authorisation request (unless you change your password at a later date).
10.0.x
8.1
8.2
Here are the configuration steps including configuration phases on the Azure side.
See you in the marketplace. Download Oauth IMAP and enable it
Meet now on your Azure tenant
In the search box type registration
then select app registrations
Click on new registration
Indicate the desired name, select the type of account supported then indicate the redirection URL (present in the configuration of the plugin from your GLPI interface: https://XXXXXXXXXXXXXX/marketplace/oauthimap/front/authorization.callback.php) specifying the Web
option.
Then click on register
.
In the Certificates and secrets
tab , click on Client secrets
then New client secret
Enter a description and then an expiration date.
A secret value is then generated. Keep this value well because once you have left this page, it will no longer be recoverable.
Return to the " Overview
" tab and copy
the following values and the secret seen above
Now go back to your GLPI interface configuration
> Application Aouth IMAP
and indicate the information collected previously :
Click add
.
Now in the Oauth authorization
tab , we will create an authorization
When you click on create authorization
, you will be redirected to the Microsoft services sign-in page.
Enter the email address and password of the account that will be used for the collector.
You will also need to accept the necessary permissions related to the plugin.
See you now in setup
> receivers
to configure it:
The information concerning the files to be collected is according to your needs.
Change password
If the password of the account collecting the emails is changed, it will also have to be changed in Oauth IMAP using the button in the plugin configuration
Log in to your Entra portal
In the Applications
> Application registration
> new application
menu
Enter an application name, then in URI redirection, enter web
.
Retrieve the GLPI redirection URL available in configuration
> notifications
> configuration of email notifications
. In way of sending emails
, select SMTP+OAUTH
.
You will see the redirection URL in the new menu that appears. Copy it and paste it into the redirection URI of your Entra application.
Click on Save
.
Now go to certificate and secret
.
Click on new client secret
.
Enter a name
and an expiry date
.
Then click on add
Once validated, the secret value
appears.
The addition of claims is necessary so that GLPI can use the SMTP service via the Entra application.
In the claims
tab, click on your application (in this case Microsoft graph).
On the right-hand side of the screen, search for smtp
.
select it then click on update permissions
.
Return to the application's overview
menu to find the information you need to enter into GLPI.
We filled in the secret value in the previous step, all that remains is to fill in the application ID
and the directory ID.
When you click on save
, you will be redirected to the Microsoft account to be connected.
In order for the account using SMTP services to be authorised to send mail, it is imperative to activate authenticated SMTP
from the Entra Tenant.
Connect to your tenant
Go to users
and click on the relevant account
Then go to mail > manage mail applications
and select SMTP Authenticated
Once you have entered your Microsoft account details, you will need to accept the necessary authorisations. All that's left is to carry out a test send.
GLPI documentation "Email followups configuration"
Log in to your Entra portal
In the Applications
> Application registration
> new application
menu
Enter an application name, then in URI redirection, enter web
.
Retrieve the GLPI redirection URL available in configuration
> notifications
> configuration of email notifications
. In way of sending emails
, select SMTP+OAUTH
.
You will see the redirection URL in the new menu that appears. Copy it and paste it into the redirection URI of your Entra application.
Click on Save
.
Now go to certificate and secret
.
Click on new client secret
.
Enter a name
and an expiry date
.
Then click on add
Once validated, the secret value
appears.
The addition of claims is necessary so that GLPI can use the SMTP service via the Entra application.
In the claims
tab, click on your application (in this case Microsoft graph).
On the right-hand side of the screen, search for smtp
.
select it then click on update permissions
.
Return to the application's overview
menu to find the information you need to enter into GLPI.
We filled in the secret value in the previous step, all that remains is to fill in the application ID
and the directory ID.
When you click on save
, you will be redirected to the Microsoft account to be connected.
In order for the account using SMTP services to be authorised to send mail, it is imperative to activate authenticated SMTP
from the Entra Tenant.
Connect to your tenant
Go to users
and click on the relevant account
Then go to mail > manage mail applications
and select SMTP Authenticated
Once you have entered your Microsoft account details, you will need to accept the necessary authorisations. All that's left is to carry out a test send.
GLPI documentation "Email followups configuration"
See all our most popular items below, or browse the menus on the right to find the item you're looking for.
Enter the name of your project
Click on create
Return to your organisation,
Select your project
From the menu, click on APIs & Services
.
Then OAuth consent screen
.
select the type of access that will be granted to the application (internal or external users)
Then click on create
.
Enter (as a minimum) a name for the application, an email address for application support and the developer's email address (this information is compulsory).
Click on save and continue
.
In the scope
section, click on add or remove scopes
.
Add auth/userinfo.email
auth/userinfo.profile
and openid
.
Click on update
Then save and continue
From the credentials
menu, click on create credentials
then Oauth client ID
.
Enter an application name,
In the authorized redirect URL
section, enter the GLPI callback URL
.
Where can I find my GLPI callback URL?
Click on create
A page appears with the username values. Keep this information as it will be requested in GLPI.
From setup
> notifications
> configuration of email notifications
Select SMTP + OAUTH
Select Google
and enter the information requested, using the screenshot above as a guide
Additional information :
Click on save
You will be asked for a Gmail account, and you will then need to accept the necessary authorisations.
Recommendation
It is preferable that the OAUth SMTP account is also the one indicated in sender email
so that emails are sent from the correct mailbox.Run a test send to make sure your SMTP configuration is working properly.
Yes, it is possible, but note that GLPI Network Cloud offer does not allow compatibility between following tools:
basic Apache authentication;
Windows domain authentication.
You can use the following tools:
Authentication server like LemonLDAP NG, Shibboleth, etc;
CAS;
X509 certificate;
oAuth (with oAuth plugin).
You can configure your authentication in the Setup
> authentication
menu.
For authentication via oAuth, make sure that oAuth plugin is installed and activated on your instance in setup
> plugins
.
Access the plugin's configuration by clicking on it or by setup
> Oauth SSO applications
From your (administrator access is required), go to your organisation
then new project
- Select the type of application "web application
".
To setup oAuth authentication, follow this
SMTP Host
smtp.gmail.com
Port
587
Email sender
If empty, the value will be email sender address
. If the value is different from sender's email, your configuration will fail, the 2 values must be identical
In this article we will show how to subscribe to the GLPI Network Cloud paid offer.
Go to your account here.
Before subscribing to paid offer, we ask you to check MY ACCOUNT menu on your Dashboard. Your profile may still be incomplete.
We invite you to fill it with your real data before subscribing to paid offer, so we can correctly issue the invoices.
Once your profile is complete, return to your Dashboard.
You will see an orange pop-up indicating the time remaining of your trial period and allowing you to switch to the paid offer by adding payment information to your customer area.
You will be offered to select between two methods of payment:
Credit or debit card
SEPA Mandate (soon available automatically)
Do not hesitate to contact us to discuss another payment options.
Once your payment method is selected, your trial period will be canceled and you will be transferred to the paid offer. You will also receive an email with the validation of your payment and your first invoice.
In the customer area, you will be redirected to Dashboard.
Go to My applications and options, you will find summary of your offer.
You are now a GLPI Network Cloud customer, thank you for your trust!
To create your customer account and your first GLPI Network Cloud instance, go here: https://myaccount.glpi-network.cloud/register.php
Please enter your authentication information and the URL for your first GLPI instance.
Once your information is validated, click on Create my instance. You will be asked to wait during the installation of your instance.
Once the installation is complete, you will be taken to your customer area. You will see the following information:
The URL of your GLPI Network Cloud instance
The Super Admin account ID
The associated password
By clicking on Go to my GLPI Network C1 Instance, you will be redirected directly to the URL you have chosen. Feel free to test it and contact us if you have any questions! You will also find useful articles in our FAQ to help you to understand and start using GLPI.
If you have decided to switch to the paid offer, please, return to your customer area: https://myaccount.glpi-network.cloud/ Your login details for the customer area are:
Login: the email address entered at registration
Password: The password entered at registration
After this step is complete, we invite you to read the first section of this article: I already have an account and instance.
In this article, we will expose solutions to benefit from your local LDAP authentication on your GLPI Network Cloud instance.
To benefit from your local LDAP directory, it is necessary to make it accessible from Internet.
That passes by the installation, on your infrastructure, of protocol LDAPS what will allow your directory LDAP and your instance GLPI Network Cloud to communicate in a protected way.
According to your infrastructure, it is also interesting to set up filtering to guarantee that only your instance GLPI Network Cloud can attack your LDAP directory from outside. ( IP address of your instance here )
You must prepare your environment for the use of the LDAPS protocol;
LDAPS protocol enabled/accepted (depending on your environment);
Port 636 open/accepted on your network from Internet/your GLPI Network Cloud instance.
You can finally configure the LDAP(S) authentication in your GLPI Network Cloud instance.
This adds an intermediary and requires more configuration but allows you to benefit from your local directory if you do not want to expose it directly.
Subscribe to Azure AD
Synchronize your local directory with Azure AD;
Subscribing to a GLPI Network Cloud Private offer will allow you to call upon our team to set up a dedicated VPN between your GLPI Network Cloud instance and your infrastructure.
Subscribe to a GLPI Network Cloud Private offer;
Migration or deployment of your private instance;
Ask for the implementation of a dedicated VPN;
Planning / Implementation / Validation of the VPN with a technician of our team.
Choose an authentication method for your GLPI Network Cloud instance (LDAPS or Oauth SSO -> ).
Let's first remember that using an Entra directory allows two features with GLPI:
Synchronize users
Authenticate them.
Authentication can be done in two ways:
LDAPS authentication via directory synchronization (of users) in GLPI
Oauth SSO authentication (sync is not required)
We will now detail the configurations of these features.
Entra AD requires the use of the LDAPS protocol to be synchronized. Microsoft has fully documented the configuration of its environment for the use of LDAPS. We therefore invite you to follow the official documentation here in order to prepare your Entra AD environment.
Remember that you can determine the IP address of your GLPI Network Cloud instance by following the article here, if you want to establish LDAPS access rules on your Entra AD environment.
Warning
If your Entra AD environment is poorly prepared for LDAPS, it won't work on the GLPI side
Also remember to create a service account (a user) in your directory, only dedicated to the interconnection between GLPI and your Entra AD directory.
Once your Entra AD environment has been prepared for LDAPS, go back to GLPI!
You must create an LDAP Directory type authentication source.
Go to the Setup
> Authentication
> LDAP Directory
Clicking on add
to add a new directory
We had to setup the new directory for LDAPS connections
Explanation of fields :
Name The name to enter here will be the one displayed in the liste of your directories, it doesn't influence the configuration.
Default server This parameter allows you to define if this directory should be used as a priority.
Active With this parameter, you can activate or not the directory
Server
In front of IP or FQDN of you rLDAP server, add ldaps://
, e.g : ldaps://Entra.mycompany.com or ldaps://xxx.xxx.xxx
Port Enter the port of your LDAP. LDAPS requires port 636
Connexion filter You can set a condition for the search. It possible to filter the user's search to a reduced number of records.
For Active Directory, use the following filter, which returns only no-disabled users (because machines are also considered users by AD):
(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
This filter is a standard example, you can modify it to your need.
BaseDN
basedn
The basedn must be written without spaces after the commas. Also, the case must be the same
For standard use, the parameters to enter are very simple, for example :
If your Server = Entra.mycompany.com
So your BaseDN = dc=mycompany,dc=com
RootDN (for non-anonymous binds) Enter here the full DN of the service account that will authenticate with your directory
Password (for non-anonymous binds) Enter here the password of the service account that will authenticate with your directory. Note that when saving the configuration, this field will appear empty, this is normal, the password will be saved in the database.
Login field
For Entra AD with SSO Authentication! We will indicate the field userprincipalname
For Entra AD without SSO authentication! We will indicate the field samaccountname
Comments This field does not influence the configuration, it is only a text field allowing you to place an indication, a remark, etc.
Synchronization field In the schemas provided by default, we recommend, for example, using the “objectGUID” attribute (corresponding to the official unique identifier of an object); Be careful with this field, once configured it cannot be modified.
Once the fields are entered, click Add to save your directory.
During registration, a connection test to your directory will be carried out by GLPI !
Once your LDAPS connection has been registered, return to the configuration of your directory on GLPI side.
In advanced information, change the Use Paginated Results field to Yes
We recommend changing the page size to 100
We recommend changing the field maximum number of results to unlimited
Your directory is connected but you have to define options to synchronize.
To do this, go to your directory configuration and use the Users and Groups tabs by customizing the LDAP attributes you want to synchronize and the settings that are useful to you. This section is complete.
To check the status of your automatic actions, there is an automatic action whose role is to check the status of the others.
Go to the menu setup
> Automatic actions
, and select the watcher
automatic action.
This automatic action will send you, by e-mail (if you have correctly configured Notifications), the actions in error. More precisely, these are all actions whose status remains indefinitely on "In progress".
It is also possible to manually check the status of an automatic action in its configuration page, and to restart it by clicking on the Reset
cross just to the right of the current execution status:
Dashboards are already present when you install GLPI:
Central: displays overall information (represents number of PCs, telephones, monitors, etc., number of users and groups, number of tickets, problems, changes, etc.)
Assets: shows the elements of the portfolio with computer-type graphics by status, by manufacturer. Computers by type, network hardware by manufacturer, and more.
Assistance: lists tickets and their status. Graphs are available such as tickets by status and month, top ticket categories, number of incoming tickets, assigned tickets, etc.
GLPI inventory reports: shows the number of agents, tasks, elements in the fleet, etc.
All these tables are of course modifiable.
In this example, we will add a global view of the number of tickets and their status as well as an assignment filter by user or group.
From the main GLPI view (by clicking on the logo at the top left), click on
Enter a name for your dashboard then click on add
Position your mouse where you want to position your tile and click on
In the window for selecting the type of data to display, choose the one that suits you (here ticket summary)
Depending on the data selected, you may be asked to choose the type of chart that will be displayed
1. Select the background of your tile 2. Select chart type 3. Select the gradient from the palette (shade of gray displayed per tile) 4. Select the number of data to display (the number of data reflects the number of statuses your tile will display)
Click on edit
You can enlarge your tile by selecting and stretching it
You can then add as many tiles as you want.
The filter will display the result of the tile for a given element. In our example, for a particular group.
Click on add filter
Select technician group
Click on add
When you are satisfied with your dashboard, click on to exit edit mode
If you want to display all the tickets in a group, you can now do so by selecting the desired group from the technician group filter
You can also access the items by clicking on the desired status. For example, if I want to display all tickets in pending
status for group 1
, I choose group 1 in the filter and then click on the pending line to display the result in the support tab.
In the menu at the top right, you can see a number of possible options:
1. Direct link: this public link can be communicated. It will be accessible without identification and will be displayed in full screen. Only viewing this dashboard will be possible (except if the recipient has a GLPI account on the instance with the necessary authorizations to modify it) 2. Iframe: allows insertion into a web page 3. Share with targets: allows sharing with other profiles, entities, users or groups. 4. Personal: Specify whether this dashboard is private or not. A personal dashboard is not visible to other administrators unless you explicitly share it
Allows you to update the data in order to have a result in real time
Allows you to clone a dashboard. It will have the same name with a copy
mention. You can of course modify the name of the table and all the data it contains
it is possible to share the dashboard in several ways
Delete a dashboard using this icon
Allows you to edit the dashboard you are on and modify its elements.
Display your table in full screen, this allows for example, to obtain a monitoring screen on elements of your fleet or assistance.
From setup
> dropdowns
, enter calendar
and click on calendars
.
Click on add
Name your calendar,
In the time ranges
tab, select the 1st day
of opening and the start
and end
times of the day. If you need to create a lunch break, you will need to create 2 entries per day (e.g. Monday 9am-12pm then Monday 2pm-7pm).
Click on add
for each entry you make
!!! Tip "Different days and times for each entity" You can create several opening times on different entities. For example :
- **Entity A**: Monday to Friday, 9am to 7pm
- **Entity B**: Monday to Saturday from 8am to 6pm

From setup
> dropdowns
, enter closing
and click on closing periods
.
Click on add
,
enter a name,
a start date,
an end date,
and a recurrence.
!!! tip "Recurrence information" If you add a recurring period, for example from Monday 7 August 2023 to Sunday 20 August 2023. The recurrence will apply to the same dates the following year, i.e. from Wednesday 7 August 2024 to Tuesday 20 August 2024. Please check that your information is consistent before validating a recurrence.
Requirements within a company are not always the same. For example, in entity A, closing days may differ from entity B. You can therefore set up different closing days and separate holidays.
If this is your case, make sure you create opening days and times in the correct entities (you can always skip the transfer list if you make a mistake).
From setup
> dropdowns
, enter calendar
and click on calendars
click on the calendar that is to receive a different day/period of holidays, click on closing periods
,
in the closing periods
tab, select the period created earlier,
click on add
From setup
> dropdowns
, enter closing
and click on closing periods
.
Click on the period you wish to delete,
click delete permanently
.
If you have several to delete, you can skip the select-entries, actions
then delete permanently
.
!!! Warning "Caution" This will permanently delete the entry for ALL entities
You can also download the Holiday plugin to enter mass holidays or specific to certain countries or regions.
Enter the ticket that requires a task to be added. Click on answer
> create a task
(or on create tasks
directly depending on the configuration of your interface):
or
As with tracking, you have a text field to indicate the nature of the Task. You can define whether the Task will be public or private. What differentiates the Task from the Tracker is its right-hand menu.
This will allow you to define the status of the Task when it is added: Information / To Do / Done.
GLPI lets you define its execution time (this data can be modified later):
You can define which user or group will be assigned to this Task:
As mentioned above, the best thing about a Task is its scheduling. To do this, click on the Schedule this Task button, which will display the scheduling options.
You will be able to set a date, start time and duration for the Task. Click on the icon on the right to unfold the calendar:
Once you have entered your details, click on the Add
button to save the Task.
Unlike Follow-ups, when adding a Task, you can only select a status for Tickets, the choice of status is not available for Problems and Changes. The ticket will automatically change its status to processing (planned)
.
Download the branding plugin from the marketplace
Activate it.
This allows you to customize the logo in GLPI, on the login page, etc.
To modify the logo :
Go to your list of plugins: setup
> Plugins
Click on the wrench for the Branding plugin, which will take you directly to the plugin's configuration menu.
Here you can replace :
the logo at top left (including folded bar)
the logo on the login page,
the background of the login page,
the icon in the browser bar
Download the branding plugin from the marketplace
Activate it.
This allows you to customize the logo in GLPI, on the login page, etc.
To modify the logo :
Go to your list of plugins: setup
> Plugins
Click on the wrench for the Branding plugin, which will take you directly to the plugin's configuration menu.
Here you can replace :
the logo at top left (including folded bar)
the logo on the login page,
the background of the login page,
the icon in the browser bar
To avoid duplicates, the uniqueness of fields
function allows you to refuse hardware imports if one of the fields set is identical to another field of the same type of hardware. For example, 2 computers with the same serial number.
From setup
> field unicity
, click on add
Add a :
a name
A comment
(optional)
Set active
to yes
The type
of item targeted (computer, telephone, user, etc.)
Select the filed
that will be considered unique
Indicate whether the import
should be refused
or accepted
.
Indicate whether a notification
should be sent
Sub-entity
If necessary, remember to tick sub-entity
in the top right-hand corner so that your field can be checked in all the sub-entitles in which uniqueness is created.
If a duplicate is created, an error message will appear:
A change
is a modification, addition or deletion of an element of a company that may have an impact on procedures, infrastructure, etc. A change is often a relatively major event and requires follow-up. It may be linked to a problem and/or one or more tickets.
The change is created as a problem. Additional inserts are available to identify the impacts
, monitor the points
that will have been modified, and draw up a plan
for deployment and fallback if necessary.
From assistance
> changes
, click on add
Fill in the title
and description
fields (they will already be pre-filled if you create a change from a problem).
The tabs on the right of the screen are standard, you probably already know them from tickets.
In analyses, 2 new inserts are available:
Impacts**: generally lists the impacts of the problem
Checklist': the checkpoints to be carried out (or that have been carried out) before any changes are implemented.
Different statuses are available for the changes and can be adapted as the change evolves.
When a change is implemented, an action plan must be devised to minimise the impact on production systems.
In our example, the change is the result of a problem that has arisen. Once the causes have been identified, an action plan must be put in place to prevent the problem recurring.
In your change, a plan
insert is available covering 3 phases:
deployment plan,
fallback plan,
checklist.
This insert should be filled in with as much detail as possible.
Once this insert has been updated with the necessary actions, it can be submitted for validation if required. A minimum threshold can be assigned to validate the change.
From the validation
tab, click on send a request for approval
.
Select the validation recipient
enter a comment
Click on add
If the validation is positive, you can then put the actions in place. If the validation is negative, you will need to improve your process to obtain validation of the change.
You can also estimate the cost of the change. In our case, adding a new server (hardware cost + human cost)
From the cost
tab for your change, add all the expenses associated with implementing the change.
If necessary, you could add a project. For example, if the change you make has repercussions on other departments, you could decide to implement the same solutions for all the other departments. In this case, it could be linked to a business development project.
If this change is the result of one or more tickets, you can join them in the tickets
tab.
You can indicate all the elements that are impacted or linked by this change.
Click on add an item
.
Click on the type of element to be added (here indicators
)
And choose the element(s) concerned
The impact analysis allows you to see the linked elements and to have an overview of the impact that a breakdown in the infrastructure could have.
To add an item, click on
Select the type of equipment you wish to add
Choose the item from the available list
Use the icon to join elements.
With the icon you can manage the colours of the relationships between elements.
You can attach one or more items from the knowledge base
Click on attach to a knowledge base entry
.
Select the item you want
Click on add
Each company has its own validation process. From an ITIL perspective, changes can be considered closed once testing and qualification have been completed. Once the change has been applied and reviewed, it can then be considered closed and the release to production is considered definitive.
For linking a category to a template and, for example, when a user selects the ITIL category mailbox
, the template loads its content to the ticket,
This procedure is linked to the procedure for establishing a
Name
Name of the category visible from the ticket interface
Comments
Comment visible from the standard interface
As a child of
Possible dependency
Technician in charge of the hardware
Technical manager can be assigned automatically if required
Group in charge of the hardware
Technical group can be automatically assigned as required
Knowledge base
Link to a knowledge base article
Code representing ticket category
Internal code for ITIL categories
Visible in the simplified interface
Visible or not from the simplified interface
Visible for an incident
Visible or not for an incident
Visible for a request
Visibility or not for a request
Visible for a problem
Visibility or not for a problem
Visible for a change
Visible or not for a change
Template for a request
Link a request template
Template for an incident
Link an incident template
Grandfather for a change
Link a change template
Problem template
Link a problem template
New
Evaluation
Approval
Accepted
Pending
Testing
Qualification
Applied
Review
Closed
Cancelled
Refused
It is possible, in GLPI, to add an external calendar so that the events of a diary can go up in GLPI (personal calendar of the diary Google, Microsoft, etc. of a technician for example). This avoids the need to schedule an intervention when the technician is already scheduled for another task but does not appear to be busy in the GLPI schedule.
It is possible to integrate any calendar that can be shared in .ics
.
Bi-directional calendar
At this time, it is not possible to obtain bi-directonnality of calendars. You cannot add an event to the GLPI calendar that will then be reflected in the technician's external calendar (Google, Microsoft, etc.).
To integrate Google calendar into GLPI, it must be public:
From your calendar, click on in the top right-hand corner.
Then Settings
.
In Settings for my calendar
, click on the calendar concerned
In Access permissions for events
, click on Make available to public
.
In Integrate calendar
, copy the URL from Public address in iCal format
.
Then go to the chapter Setup GLPI
To integrate a calendar from Microsoft, you need to publish it. Cela rend le calendrier public. You can then choose which information will be visible.
Go to settings
at top right
From your mailbox (Web version here), go to calendar
Then Calendar
And then Shared calendars
.
In the box Publish a calendar
, select the calendar concerned
Choose the type of permissions
Cliquez sur Publish
2 links will appear, copy the ICS link
Then go to the Setup GLPI
From Assitance > Planning
Click in the Schedules box
Add the necessary information, remembering to paste the link from your schedule that you copied earlier
Click on Add
Your calendar events are now visible in the GLPI schedule
Templates can simplify user requests by pre-filling fields, hiding some or forcing certain fields to be filled in.
In our example, we'll create an incident template to help users report incidents correctly.
From configuration
> titles
> ITIL category
, select your category
Click on incident template
.
Enter the name of your template
Close the template creation confirmation window, then click on de template for an incident
.
Select the newly created template
You can add mandatory fields for the simplified interface and/or the standard interface. They will be marked with a
In our example, we're going to force the user to fill in the description
and the emergency
.
Select description from the drop-down list, then add
.
Do the same with emergency
.
To guide your users, you can pre-fill fields to make the interface more interactive. This will give you as many elements as possible to help you resolve the incident. In our example, we'll fill in the description field to make it as complete as possible.
In the predefined fields
tab, select description
.
Fill in the information you deem necessary
Click on add
Hidden fields avoid overloading the user interface and simplify the writing of the incident.
In the hidden fields
tab, add the fields you don't want to appear in the standard and/or simplified interface.
Click on add
You can view the rendering of the simplified and standard interface in the corresponding tabs
The "ITIL category" tab lets you see which category your template is available in.
You can add different templates for each type of category (request, incident, change, problem). You can also use the same template for several category types.
From configuration
> titles
, select the relevant category
In the field for which you want your template to appear, select it from the drop-down list
Click on save
.
From now on, when a user selects the ITIL mailbox
category, the template will be selected.
Insert description
As we have forced the description insert to be filled in, if the user leaves it as it is, an error message will appear forcing them to change the default values
A problem is the source of incidents that can be tracked in GLPI. Symptoms, causes and impacts can be referenced. Problems are most often reported by technicians rather than users.
Concrete example
The accounting department reports major slowdowns on the file server. Tickets have alerted the IT department, which has to take the requests into account, analyse the source of the problem and act accordingly.
A problem is created like a ticket.
From assistance
> problems
click on add
Fill in the fields required to report a problem
The special feature of problems is that a analyses
insert is available. In this box, you can enter :
Symptoms
Impact
Causes
Click on add
Problems are often created following feedback from user tickets. You can attach all related tickets to your problem to get a more global view of the impact.
You can link a change if the problem requires a modification to an element of the infrastructure, a procedure, etc.
Please refer to the article change if this applies to you. This section continues the example and shows you how to create and track a change.
The estimated cost of the problem can be added in order to evaluate the expenses incurred.
Click on add a cost
Add a name
Indicate the duration of the problem
Indicate the different types of cost (time, fixed, material)
Indicate the budget affected (the total cost will be directly deducted from the budget indicated)
Indicate the start and end dates of the problem
If the case requires it, you could add a project. For example, if the problem had repercussions on other departments, a project may need to be set up to improve the company's processes or infrastructure. The problem may be linked to a change that gives rise to a project that may impact several departments.
You can add elements affected by the problem. By elements, we mean any element of the park
From the add an item
section, select the type of item concerned from the drop-down list
Select the item(s) concerned
Click on add
.
The impact analysis enables you to see the linked elements and to have an overview of the impact that a breakdown in the infrastructure could have.
To add an item, click on
Select the type of equipment you wish to add
Choose the item from the available list
Use the icon to attach items
With the icon, you can manage the colours of the relationships between elements.
It is possible to add notes. The note is a free text field with no formatting facility.
You can add one or more articles to the knowledge base.
In the Link to a knowledge base entry
section, add the article(s) you wish to add.
A reason to wait allows you to put a ticket on hold, send automatic reminders and resolve the ticket if it has not received a response. All these actions are subject to conditions:
the interval between automatic follow-ups,
the number of follow-ups before resolution,
setting up a follow-up template,
implementation of a solution template.
Go to setup
> dropdowns
and enter pending reasons
in the search box.
Click on add
Name your pending reason
What happens next will depend on your needs. Start by defining the automatic follow-up frequency
. In our example, we're going to carry out every 3 days
.
We're going to define that a ticket can be closed after 3 follow-ups.
This template will be used to send out reminders. Click at the end of the follow-up template field
Name your template and indicate the source of the tracking (helpdesk in our case)
Then enter the content of your follow-up, which will be sent to your contact person
Add this follow-up and then select it from the drop-down list
When this template is added to the ticket, it will close the ticket.Repeat the same process as for the follow-up templateClick on the at the end of the solution template field
Name your templateSelect the solution incident
option so that the ticket can obtain the resolved
statusAdd your follow-up and select it from the drop-down list.
Your pending reason is now ready, all you have to do is click on add
When you respond to a ticket, you'll be able to click on the pause symbol and select the pending reason you've just created
Warning
Pending reasons depend on the pendingreason_autobump_autosolve
automatic action. Check that this is active and correctly set (setup
> automatic actions
)
In most cases, this problem comes from the execution mode of the automatic action.
In GLPI mode, it is normal for your actions to have trigger problems at night / weekend, because these actions are only triggered by user activity in GLPI interface.
In CLI mode, however, automatic actions will be triggered by our internal system, regardless of activity in GLPI.
CLI mode is therefore recommended, it is activated by default on paid instances (triggering every 15 minutes), if you are in a test period, do not hesitate to contact us, we can activate it on demand.
GLPI interfaces with LDAP directories in order to authenticate users, control their access, retrieve their personal information and import groups.
All LDAP v3 compatible directories are supported by GLPI. This is also applies for Microsoft Active Directory (AD). There is no limit for the number of directories filled: of course, the higher the number, the longer the search for a new user to authenticate.
First, it is necessary to configure the directory in GLPI and test the connection:
Hover over the "Configuration" menu located in the main menu of GLPI.
Choose "Authentication".
Several options of external authentication will be offered to you. Choose "LDAP Directories".
To add an AD / LDAP directory to your list, click on the "+ Add" icon.
You will access the configuration page of an AD / LDAP server.
Preconfiguration
These two clickable links will allow you to load or delete default values for other fields, in particular for configuring an Active Directory.
Name
The name you enter here will be the one displayed in the list of your directories, it does not affect the configuration.
Default server
This parameter allows you to define whether this directory should be used as a priority or not.
Active
This parameter allows you to activate / deactivate this directory after its creation. This parameter will of course be modifiable at any time.
Server
Here you will need to enter the FQDN of your server or its IP address.
Port
Enter the port required for connection to your directory here. By default the port is preloaded in 389.
Connection filter
We can set up a condition for the search. This allows you to filter the search for users by a reduced name of records.
For Active Directory use the following filter, which returns only users who are not deactivated (because machines are also considered as users by AD):
(&(objectClass=user)(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
BaseDN
Attention, the basedn must be written without spaces after the commas. In addition, breakage is important.
The parameters to enter are very simple, for example:
If your server is = ldap.mycompany.fr
So your basedn = dc=mycompany,dc=fr
Account DN (for non-anonymous connections)
Enter here the full DN of the service account that will authenticate with your directory
Account password (for non-anonymous connections)
Enter the password for the service account that will authenticate your directory here. Note that when saving the configuration, this field will appear empty, this is normal, the password will be saved in the database.
Identifier field
By default, for an LDAP directory, the value will be placed on the "uid" field
For an Active Directory, we will prefer the "samaccountname" field
Comments
This field does not influence the configuration, it is only a text field allowing you to place an indication, remarks, etc.
Synchronization field
In the diagrams provided by default we recommend for example to use:
For Microsoft Active Directory: the attribute "objectGUID" (corresponding to the official unique identifier of an object);
For a directory based on OpenLDAP: the attribute "entryUUID".
Pay attention to this field, once configured it cannot be modified.
If you want to use LDAPS, you have to modify some data:
Server: In front of FQDN of your LDAP server, add ldaps: //, ex: ldaps: //mon.ad.com
Port : The port becomes 636
Once your directory has been saved, return to it to edit its configuration.
In the Advanced Information tab, change Use TLS to Yes.
The blacklist identifies the information that will not be retrieved when a PC is inventoried or when users are synchronised.
It is possible to prohibit a certain amount of information, such as IP addresses in 0.0.0.0 or a user with an @yopmail.com email address.
You can blacklist the following items:
IP
MAC
Serial number
UUID
Email (for users)
Model
Manufacturer
Manufacturer
For our example, we will block IPv6 forwarding
To configure a blacklist, go to Setup
> Dropdowns
> Blacklists
Click on +ADD
Name your new blacklist
Indicate the value (::1
for IPv6)
Select the expected value (IP for our example)
To delete a blacklist, click on Delete permanently
You can use massive action to delete one or more blaclists
Software deployment configuration can be done in three steps:
determination of files and / or commands to deploy
determination of deployment targets
deployment itself
Recommendation
We recommend using the URL https://
my_instance
/marketplace/glpiinventory
for your GLPI agents to ensure proper application deployment.
Go to Administration
> GLPI Inventory
In the tab Deploy
> Package management
Create a new package with add
Name it
Add
In this newly created package, in the Actions on package
tab we need to configure the four parts that form a package:
Audits
Files
Actions
User interactions
Each part is configured via small icon
It is possible to perform checks before starting the package installation process. This part is not essential but may be necessary for optimal deployment.
Registry check (Windows only)
Verification of files (all OS)
Checking free disk space (all OS)
If the audit fails, the following options are available:
stop the process
: do not continue checking, and skip the deployment process
skip the process
: do not continue the process and pass the deployment successfully (package already installed)
report information
: checks continue, failure is reported to the central console
report warning
: checks continue, a warning appears on the central console
In this part, you have to select the data (files) that will be deployed.
Two possible options:
Download from your computer (pay attention to the maximum size allowed): if you want to upload larger size, please contact Cloud Support.
The administrator can select the files from his computer.
Import options are available for each file:
Unzip
: the agent can decompress zip or tar.gz archives
P2P
: indicates whether the file fragments may be available via P2P or only via the server
Retention time
: during a P2P move, the number of minutes within which the
Downloaded fragment is available to other agents in the subnet
Download from the server (not available in Cloud environment at the moment)
Once the files to download are defined, it is necessary to define which actions have to be executed on it or not.
The actions are executed after successful download of the file (s). Here are their types:
execute an order
create or delete directory
move or copy a file
As an example, installation of Firefox :
A mechanism makes it possible to check whether the execution of command has passed correctly. To do this, you can test:
the return code of the order
standard output command
This feature is not mandatory.
The administrator can decide if to interact with user in deployment process:
after the execution of audits
after downloading files
after the actions
in case the file download failed
in case the execution of actions has failed
This functionality is divided into two parts:
Definition of interaction model
Model records he characteristics of an interaction to be reused next time. It describes both the type of window shown to the user and its behaviour.
The models are accessible via Administration
> GLPI Inventory
> Deploy
> user interaction templates
Example:
Model has :
a name
an interaction formation (Windows WTS only)
a type of interaction: definition of the buttons accessible on the window
whether or not an icon is displayed
a number of possible postponements of an interaction
the time between 2 interaction requests from the user
Then, you must define what would be the behaviour of the system according to the different behaviours adopted by the user, via the Behaviours tab.
Three types of behaviour are possible for each action:
continue the deployment process
stop it
try it again later
Certain events are pre-defined, regardless of the type of choice that the user makes:
Behaviour in case of no active session
Behaviour in case of several active sessions (TSE)
Behaviour in case of the window display time is exceeded (automatic closing)
Applying the template for package event Once the template is configured, it must be applied.
Going back to our package, select Actions on the package
tab in the User Interactions
section.
The administrator defines the title and content of the window that will be displayed to the user.
Once the package is defined, you must define on which workstation (s) it will be installed.
GLPI Inventory offers several types of targets:
a particular computer
a computer group based on GLPI group
a group of GLPI Inventory computers
Usually we mainly use GLPI Inventory groups, which are either static or dynamic.
This configuration is carried out from the Administration
> GLPI Inventory
> General
> Computer group
menu.
A static group contains machines that have been selected by the administrator. It does not change over time, unless the administrator adds / removes machines.
Create a static group
From Administration
> GLPI Inventory
> General
> Computer groups
Click on Add
Name your group
Choose Static group
In the Criteria
tab, select the information you want in the search (here we will indicate all jobs located in Paris)
You can add as many criteria as you like, paying attention to the logical operator (and, or, and not, or not). You can create global rules (entity criteria, user criteria, application criteria, etc.) and/or create groups of criteria (for example, all PCs whose name is Microsoft, whose name contains commerce, with an active status, connected to the switch on the 3rd floor. All these criteria must be met for the PC to be included in the dynamic group).
Click on Preview
to see the list of workstations appear
Select the workstations concerned
Use the Actions
button to add them to the static group
The search results will appear in Associated Items
.
A dynamic group is the result of a search engine query. The machines in the group are calculated and the list varies over time.
Create a dynamic group
From Administration
> GLPI Inventory
> General
> Computer groups
Click on Add
Name your group
Choose Dynamic Group
In the Criteria
tab, select the desired information in the search (here we will indicate all workstations whose OS name contains Microsoft and are located in Barcelona).
You can add as many criteria as you like, paying attention to the logical operator (and, or, and not, or not). You can create global rules (entity criteria, user criteria, application criteria, etc.) and/or create groups of criteria (for example, all PCs whose name is Microsoft, whose name contains commerce, with an active status, connected to the switch on the 3rd floor. All these criteria must be met for the PC to be included in the dynamic group).
Click on Save
.
The results of the search will appear in Associated items
.
Your group is created. If you wish, you can transform it into a static group using the Actions
menu.
Dynamic groups <-> static groups
You can change the group type from dynamic to static at any time by modifying it directly in the group parameters
Package deployment is done by adding dedicated tasks. Tasks are accessible via Administration
> GLPI Inventory
> Tasks
> Task management
.
A deployment task can contain several jobs, which are several actions that agent will execute one after the another.
A task is divided into 3 stages:
preparation
: it is the stage of calculation of targets for which the task must be executed
execution
: it is the stage of sending deployment order from the server to the agent
the follow-up
: it is the stage of display of the follow-up of deployment After creating a task, make it active and define its execution.
It is possible to indicate range of validity of task:
scheduled start time
: start preparation actions from this date
scheduled end time
: stop the validation of task after this date
Automatic actions
Check if Taskscheduler
automatic action is correctly configured
In the task, in the Job configuration tab
.
A job is an action to deploy a package to computer or a set of computers.
Information
Make sure that the remote deployment module is activated for each agent. It is possible to activate the module by default in the general configuration of GLPI Inventory
A job contains:
Method
(package deployment here)
Targets
(package to deploy)
Actors
(target groups)
Deployment is monitored either in the Job execution tab
of a task, or via the Administration
> GLPI Inventory
> Tasks
> Monitoring / Logs
menu.
In this article we will see how to inventory an Android mobile quick and easy with GLPI Agent and the Agent config plugin.
This requires GLPI inventory plugin installed and activated (in the Setup > Plugins menu).
In GLPI, in your list of Plugins, you will find Agent config.
This plugin allows you to facilitate the inventory of mobiles by configuring in advance the values to enter to configure the agent.
This plugin will allow you to be scanned via QRcode or a DeepLink to quickly integrate your mobile into your inventory.
Once the plugin installed and activated, go to the configuration.
In the Configuration tab of the GLPI Agent, we must configure at least:
The URL of server, example: mon.glpi.fr/GLPI inventory/
Identifier
Password
Once this data has been entered and saved, the QRCode or Deeplink functionalities will allow you to inventory your smartphones.
The GLPI agent can be deployed/configured from an MDM / EMM tool
Samsung Knox
AirWatch
InTunes
MobileIron
etc.
Here is the list of configurable settings:
auto_start_on_boot
=> Run an inventory at startup (Bool
true
/ false
)
automatic_inventory
=> Enable automatic inventory (Bool
true
/ false
)
frequency
=> Frequency of automatic inventory (String
Day
/ Week
/ Month
default Day
)
server_configuration_list
=> (Bundle
)
server_url
=> GLPI server URL (String
)
server_tag
=> TAG (String
)
server_login
=> Username for basic authentication (String
)
server_password
=> Password for basic authentication (String
)
server_itemtype
=> Asset type in GLPI (String
Computer
/ Phone
default Computer
)
server_custom_asset_serial
=> Custom serial number to replace the one generated by the agent (String
)
Good to Know
server_configuration_list
allows you to configure multiple GLPI servers.
If you want to update a GLPI server, the server_url
configuration serves as a reconciliation key.
As soon as a configuration is applied or if an error occurs, the GLPI Agent will inform the MDM tool.
The GLPI agent is an application available on Google Play. Once downloaded and installed on your smartphone, we will be able to configure the agent to start inventory of the equipment.
You will be redirected to the server configuration page asking you to enter all the authentication data.
Thanks to the Agent config plugin configured previously, we do not need to enter information because the features of QRcode and DeepLink allow you to fill in the fields automatically.
Scan the QRcode available on your GLPI web interface on the home page.
Save the configuration entered automatically to validate the server.
Go to your GLPI via web browser on your smartphone.
In the GLPI Agent tab of your GLPI home page, click the Configuration link for GLPI Agent.
Your smartphone will ask you with which application you want to open this link, choose the GLPI Agent application.
You just have to save the configuration to add the server.
Go to the administration
> GLPI Inventory
> tasks
> computer information
Then create a new item ajouter
:
The next window will allow you to enter the following information:
A name
A comment
A type
Registry
Search for a file
Active or not
Visible in a sub-entity or not
Once you've clicked on Add
, a Collect configuration
tab appears in the left-hand menu, allowing you to configure data collection for one of the following three options, depending on the chosen type:
WMI Windows
File search
Windows registry
Go to administration
> GLPI Inventory
> tasks
> task management
Then create a new task with ajouter
:
Create the task :
Then in Job configuration
, add a job:
And configure the collect job in this task:
Once the job has been activated, prepared and taken over by the agent, you can see the result of the job execution here:
In the computer file, a new tab Collection information
appears with the value found for the file:
Since GLPI 10, the inventory is now native.
Please refer to the documentation for the GLPI agent to upload your PCs, printers, etc. https://glpi-agent.readthedocs.io/en/latest/installation/
You will need to install the agent to retrieve inventory. You can download it here
During installation, you will be asked to complete several steps.
We suggest that you go through the full installation so that you can validate any requirements you may have (certificates, type of installation, etc.).
The next step will allow you to identify your GLPI server. The URL to enter may vary depending on whether or not you have installed the GLPI Inventory plugin:
without the plugin: https://myinstance.com/front/inventory.php
with the plugin: https://myinstance.com/marketplace/glpiinventory
To know
The URL https://myinstance.com/front/inventory.php
will also work if the GLPI Inventory plugin is installed, so there's no need to change it if you decide to install it later.
You can then choose how the agent runs. 3 modes are possible:
As a service
: the task is launched in the background and runs without any user or administrator action
As a task
: a scheduled task is programmed so that the agent is launched every X hours/days
Manually
: the agent will only be launched on request
During installation, it is also possible to ask for an inventory to be taken at the end of the operation.
A monitor agent can be installed. It enables tasks run to be forced by the user. This icon will be visible in the notification bar:
The next steps will be up to you (certificate, proxy, etc.).
You will also be able to identify a tag depending on how your GLPI is set up so that your PCs can be sent to the right entities, locations, etc.
You can also ask for the user's virtual machines to be inventoried. They will be visible in the Virtualisation tab of the PC file:
You can also scan the user profiles to bring up any software found in the software tab of your GLPI server.
Once the installation is complete, if an inventory has been requested, it will now appear in the computers tab a few minutes after installation.
Copy the file toolbox-plugin.cfg
and rename it toolbox-plugin.local
Open the file toolbox-plugin.local
and uncomment the line disabled = no
.
Restart the GLPI service
Connect to http://localhost:62354
A new menu will be available from the web interface
Here you will also find a video about how setting up the GLPI Agent Toolbox
To secure exchanges between your agents and the GLPI server, several tips and methods are available:
This method consists in intercepting requests and pretending to be the legitimate GLPI server.
To avoid this, use an SSL server and ensure that the agent authenticates the server with its certificate.
If the server's certificate is signed by a public certification authority, just configure the agent with an https url.
If the server's certificate is private, you need to provide the agent with the certificate via the ca-cert-file option (it can also be found in the windows keystore or MacOSX keychain) or a fingerprint of the certificate via the ssl-fingerprint option and, above all, never activate the no-ssl-check option. This last option should only be used to debug SSL communication problems, or only once, so that the agent displays the server's ssl certificate fingerprint in its log to indicate how to configure the ssl-fingerprint option.
It is also possible to add password authentication. In this case, you need to configure the agent's username and password options. The only problem in this case is that a compromised machine could reveal the user and password to an attacker, who could then inject bogus inventory or data into GLPI.
There's also the possibility of defining authentication by client ssl certificate, but this solution has never been properly tested, and above all it's complex to implement because it requires very advanced Apache configuration. On the agent side, it's the ssl-cert-file option that supports this possibility. But this doesn't change the problem of compromising the workstation that could reveal the client certificate.
Bi-directional authentication is therefore currently possible using the technologies mentioned above.
Future versions will include the idea of registering agents with a password or token dedicated to this phase, and enabling the agent and server to negotiate an exchange of private keys in order to authenticate and encrypt exchanges, including in an http flow and possibly even through a proxy agent. The JSON protocol of the native inventory has been designed to remain open to this kind of functionality. This functionality would enable direct bi-directional authentication and the possibility of managing an expiry, renewal or revocation policy for tokens and keys to help counter the attacks you mention. Unfortunately, this kind of functionality, to be developed in the agent and in GLPI, is currently seeking funding. Please don't hesitate to contact us. Nevertheless, there should be new authentication possibilities for the agent in the not too distant future.
Regarding the detailed flows between agent and server: the agent remains an HTTP/HTTPS client, depending on the type of url configured. The agent can also be an http server, including for the GLPI server to force execution of tasks from GLPI, and here the default TCP port 62354 needs to be opened from the GLPI server to the agent.
The impact analysis is available from the tab of the same name in each of the park elements.
Example of infrastructure
We'll take a simple example. A router is connected to a switch to which a rack containing a server is attached.
2 concepts need to be understood:
Impact: represented by default by a red arrow. If this element encounters a problem, it will impact all linked elements.
Dependency: represented by default by a blue arrow. A dependency is an element which will be directly affected by the impact. A dependency does not necessarily affect the elements linked to it.
!!! Information An important element to understand is that you need to place yourself in the context of the element in question. If you select a switch, the impacts and dependencies will be different if you select an element linked to the switch.
Your equipment must be powered up before you can use the impact analysis.
If we go back to our example given above, we'll start from the 1st item, i.e. the router.
Go to Assets
> Network devices
Select the network hardware you require
In the impact analysis
tab, the hardware you are on will appear
On the right-hand bar, click on
The list of categories appears, choose the one that suits you (here network hardware to link our switch to our router)
Drag and drop the hardware you want.
Do the same with all the hardware you want
You'll get a result like this (depending on how you've placed your items)
Now that our materials have been placed, we need to add the links in order to check their impact and dependencies (or both).
From the right-hand menu, click on
Your mouse will then appear with a
Hold your mouse over the 1st element, and release the mouse over the element to be linked.
Repeat the operation for all the desired elements
As mentioned above, you need to understand the context of the selected element. What we see in the diagram above is that all the links are in red. This means that if the router were to fail, all the following elements would be affected.
If we position ourselves on Rack 1, the behaviour will not be the same:
In this example, from the point of view of Rack 1, the only hardware that would impact the infrastructure if it were to fail is SRV-GLPI. Rack 1 depends on Router EDGE-51 and Switch A3. They are in blue (dependency) because they would not be impacted if Rack 1 were to experience a problem.
We can add a router to our example, which will be linked to the 1st original router:
To do this, create a relationship in one direction and then in the other using the option seen above.
The purple arrows mean that they are dependent on each other and that they would both be affected if one of them were to encounter a problem. They are therefore both dependent and impacted.
There is one last type of link, those that have no dependency or impact:
The black arrows mean that from the element you are on, there will be no imapct if that element were to fail. In our example, we are on Rack 1. This does not communicate with Rack 2, so there will be no dependency or impact in the event of a failure.
Groups can be created using the :fontawesome-regular-object-group: icon in the right-hand menu.
Groups allow you to see all the elements that depend on another piece of equipment. You can create a name for the group and choose a background colour.
To delete a group, right-click on it and select delete. This only deletes the group, not the items it contains.
Remember to save your project with
You can delete an element using . This deletes the element and the link.
You can download your impact analysis using . The download format is PNG.
Use the icon to make your analysis full screen.
You can also use your mouse wheel to zoom in and out.
You can configure certain options using
In visibility, you can choose to show only impacts and/or dependencies.
In the colours tab, you can change the colours of dependencies, impacts and impacts and dependencies.
The maximum depth is the number of elements that can be displayed on your imapct analysis. If you select "infinity", there will be no display limit.
Here are the prerequisites that will permit deployment of GLPI agents with a GPO:
You have to download the glpi-agent-deployment.vbs VBS script which ease deployment via GPO.
Before using this script in a GPO, you have to edit the few configuration lines at the beginning of the script.
In this file, the following lines then need to be adapted:
Line 67: GLPI Agent version to be installed. It has to be update in the case agent version is changing.
Line 91: Indicates the path to the shared folder containing the agent MSI packages: For example:
Line 112 : Agent installation options Example for GLPI 10 with native inventory support:
Here is a list of common attributes:
The rest of the script does not need to be modified.
The GPO to be created must have the following parameters:
Type Computer
Startup script (where we will give the path to the vbs script mentioned above)
Full documentation is also available at this address :
Then you'll have to add USER=
and PASSWORD=
options to options line like in the following example:
An IT Service Level Agreement (SLA) is a documented agreement between an IT service provider and a customer, defining the services required and the level of service expected. In GLPI, it is possible to enter these SLAs so that the level of service expected by a customer is in line with the contract signed between the 2 parties.
Setting up SLAs involves several stages:
Define intervention times via the calendar (working hours, on-call, etc. several possible calendars).
Definition of SLAs (Service Level Agreements)
Maximum Time To Own (TTO)
Maximum time to resolution (TTR - Time To Resolve)
Definition of OLA (Operational Level Agreement)
Maximum Time To Own (TTO)
Maximum time to resolve (TTR - Time To Resolve)
Implementation of SLA assignment rules (escalation level)
Set up SLA reminder notifications
Automatic action settings
Checking the cron
Optional steps
Depending on the contract with your customer, not all of these steps may be necessary. For this example, we'll take as complete a case as possible in order to have a complete view of GLPI's possibilities in terms of SLAs.Add an SLA
From Setup > Service levels, click on Add.
Add a name to your SLA
In the calendar insert, select the one you want from the list.
Important step
The calendar step is important because your SLAs will take into account the opening or intervention times that have been entered.
In your SLA, click on Add a new item.
Select Time to own.
Add the desired value (generally defined by the contract). In our example, we'll take 4 hours.
Click on Add
Click on Add a new item.
Select Time to resolve
Add the value you want (usually defined by the contract). In our example we'll take 5 days
Indicate whether the last day of the SLA should be a working day
Click on Add
OLAs are internal service levels; they have no impact on SLAs, but define a level of service internal to the IT department.
Adding an OLA is strictly identical to the SLA, so you can repeat the above process.
The escalation level enables you to apply a rule before/after the deadline imposed by the TTO or TTR, whether positioned in the SLA or the OLA.
You can, for example, add a TAG, assign a priority, assign a default technician, etc.
The following operation can be repeated for each TTO or TTR included in an SLA or OLA.
Example
"We're going to create 2 types of escalation level:
For the SLA TTO :
If the ticket is not assigned at the end of the TTO, a technician group will automatically be assigned.
The priority will be changed to Very high.
For SLA TTR:
2 days before the end of the TTR, SLAs will be reminded that the ticket is still open and must be resolved on time.
You can, of course, add/modify/delete anything you like, just like any other GLPI rule.
From Setup > Service levels
In the SLA tab, click on the name of your TTO
In the escalation level tab
Enter a name
Indicate when the execution is to take place (before/after or at the end of the TTO)
Active to Yes
Click on Add
Click on the name of your Escalation level to add a rule that will be applied.
In the Criteria tab, click on add a new criterion.
In our case, we'll specify Criteria - Take into account delay is No.
Click on + Add
In the Actions tab, click on Add a new action.
Specify Technician group > Add > the_desired_group.
Click on Add a new action.
Specify Priority > Assign > Very high
From Setup > Service levels
In the SLA tab, click on the name of your TTR
In the escalation level tab
Enter a name
Indicate when execution is to take place (before/after or at the end of the TTR)
Active to yes
Click on Add
Click on the name of your Escalation level to add a rule that will be applied
Logical operator
We're going to change the logical operator to OR because we're going to indicate that if the status isn't closed OR solved, then the rule will have to be applied.
In the Criteria tab, click on add a new criterion.
In our case, we'll specify Criteria - Status not closed OR resolved (2 different criteria)
Click on Add
In the Actions tab, click on Add a new action.
Specify Automatic reminders of SLA > Send > Yes.
Click on Add!
Reminders are used by the Ticket Recall
notification and use the ticket template. By default, the recipients of this notification are left blank. This step is therefore necessary so that the people concerned by SLA reminders can receive the notifications.
From Setup > Notifications > Notifications, search for Ticket Recall
in the list.
In the Recipients tab, select the desired values (profile, groups, ticket group, requester, entity administrator, etc.).
Click Update to confirm your changes.
In order for SLA actions to be carried out, the slaticket
action must be activated.
From Setup > Automatic actions, find the slaticket
action.
Make sure it is :
scheduled
in CLI mode
with a minimum frequency of 5 minutes.
Click on Save.
In the application, go to the settings by clicking on the . Open the server list.
In order to configure new server, click on the button .
For the QRcode, find the . By clicking on it, you will arrive on the scan interface.
In the :
Create a shared folder on the network, accessible to all PCs, in which the GLPI agent executables (32bits and/or 64bits) will be placed. These are available on Github:
The latest script VBS version can directly be downloaded from the following link:
The full list of options is available here:
This option must be requested via the cloud support form if you are a customer. Once this has been set up on the server side, you will be provided with a user and password. Then you'll be able to use them in agents configuration.
Public GLPI Agent documentation:
If nothing suits you, you can add a new calendar by clicking on . You can refer to the article to add a new calendar.
For on-premise instances, please check that your cron is correctly configured. Please refer to the
SetupVersion = "1.12"
SetupLocation = "\srv-fileglpiinventory"
SetupOptions = "/quiet RUNNOW=1 ADD_FIREWALL_EXCEPTION=1 SERVER='http://glpi.yourcompany.com/front/inventory.php' TAG=MONTAG TASKS=inventory,deploy,collect,inventory"
- RUNNOW : Launch an inventory just after installation
- ADD_FIREWALL_EXCEPTION : Adds the GLPI agent to the Windows firewall exception list.
- SERVER : agent contact address on the GLPI server
- TAG: Adds the "TAG" tag to agents.
- TASKS: Allows you to manage the order of tasks to be carried out by the agent.
SetupOptions = "/quiet RUNNOW=1 ADD_FIREWALL_EXCEPTION=1 SERVER='http://glpi.yourcompany.com/marketplace/glpiinventory/' TAG=MONTAG TASKS=inventory,deploy,collect,inventory USER=MONUSER PASSWORD=MONPASS"
The knowledge base of GLPI allows to answer the following needs:
The first is to centralize internal knowledge to the various technicians.
The second is to provide users with information (public FAQ) allowing them to solve simple problems alone.
Only the elements of the public FAQ are visible to the users of the simplified interface. Items that are not defined as being part of the public FAQ are only visible within the central console by technicians for example.
It is necessary to select one or more targets for each item in the knowledge base or the FAQ. The target(s) correspond to the entities, profiles, groups or users who can consult the article. As long as no target has been selected for an article, it is only visible to its editor. The article is considered as "unpublished" and appears in the "Unpublished articles" table on the home page of the knowledge base.
It is possible to associate one or more documents to the articles of the knowledge base.
Our automatic import tool is under development. Meanwhile, we can import your archive manually (GLPI database and "files" folder). After selecting your option, do not hesitate to contact us from your customer area https://myaccount.glpi-network.cloud/
Please note, that any specific information and plugins are not covered by the selected option and will not be imported.
Your GLPI Network Cloud instance has a static IP. To find out what this is and configure your firewall, for example, run the following command in a terminal:
Linux :
dig +short MaSociete.with.glpi-network.cloud
Windows :
nslookup MaSociete.with.glpi-network.cloud
GLPI allows you to automatically inventory your switches, printers, routers, etc... This part requires the installation of the GLPI Inventory plugin available in the marketplace and a GLPI agent installed in the park.
Inventory takes place in 2 stages:
network discovery, which scans the network for detected devices.
An SNMP inventory, to provide the SNMP information authorized by the manufacturer (serial number, OS, etc.) for each type of equipment.
These 2 actions will be managed by tasks. The principle for network hardware and printers is the same. In this example, a printer will be remounted to demonstrate the principle.
GLPI Inventory installed and up to date (from marketplace),
a GLPI agent installed in the park (also up to date with the necessary modules installed),
Inventory enabled (administration > inventory enable)
network hardware or printer capable of accepting SNMP requests (preferably V3, but V1 and V2 are also accepted).
Make sure you have correctly configured your SNMP identifiers on the machine side. Refer to the official hardware documentation if necessary.
Go to administration
> inventory
> SNMP credentials
!!! info In SNMP V3, identifiers must be configured. In V2c and V1, only the name of the community is required. We recommend that you upgrade to V3 as far as possible to ensure maximum security for exchanges between GLPI and your agents.
Then click on add
Enter the name you prefer
Select the SNMP version you want (here V3)
Next, specify the identifiers and encryption methods for authentication and data:
Clock on Save
By default, rules are created to ensure that detected equipment is created if it does not exist, or merged if it is already in the park. You'll find these rules in administration
> Rules
> Equipment import and link rules
. You can modify these rules to match the elements you need (serial number, machine name, etc.).
This part is optional. As each instance is different, this step is specific to your needs and must be adapted. Here, the simplest case will be explained. Here we're going to define that everything in the 192.168.1.1 /24
network is brought up in the inventory (provided that the SNMP configuration has been applied to the equipment brought up).
We will therefore create the following rule:
criterion
: If my IP address contains 192.168.1
action
: Assign to the entity Paris Office
Go to administration
> Rules
Click on Rules on the computer entity
(this menu also takes into account the rules for other hardware)
Then create your rule(s) :
In order to perform the network scan, GLPI needs to know which IP range(s) it should scan.
Go to administration
> GLPI Inventory
> Networking
> IP ranges
.
Click on add
Add your IP range(s) :
In Associated SNMP identifiers, add the identifiers created earlier.
To know
This step is important, if you don't associate the SNMP identifiers, your network discovery won't succeed correctly
Remember to save your changes
A GLPI agent will be dedicated to managing tasks. Once the tasks have been created, the agent will check, during its next inventory, that one or more tasks are available. It is therefore necessary to activate the modules it will need to carry out its tasks correctly.
In administration
> GLPI Inventory
> General
> Agent Management
, select the agent that will be dedicated to performing the tasks.
In the agent's modules tab, select network discovery
and network inventory (SNMP)
Click update
.
As explained above, you first need to discover the network in order to locate the equipment in your fleet.
In administration
> GLPI Inventory
> Tasks
> Task management
create a new task:
Name this task then click on add
(you can also choose the option Allows the task to be re-prepared after it has been run
so that it can be reloaded and ready for the next run). If required, you can also add scheduled start options or slots in which these tasks can be launched.
Attention point
Make sure you tick the Active
box so that your task can be executed
In job configuration, enter a name
Select Network discovery
from the drop-down list.
When you click on add, a new insert will appear. The last configuration step is job.
Click on next to target
Add the IP range created earlier.
Do the same with actors, and select the agent configured for network discovery above.
Once this information has been entered, you can force the task to be prepared using the option in task management
.
!!! Warning "Caution" This option prepares the task but does not execute it. The designated agent will execute the task the next time it is inventoried.
You will notice that it is in prepared
status in job execution
.
The SNMP inventory will allow you to retrieve information such as cartridges, counters and other information authorised by the hardware manufacturer.
Go back to task management
Add a new task
Proceed in the same way as before and remember to activate the task.
In job configuration
enter a name and this time select network inventory (SNMP)
.
By clicking on add, do as before and add a target (IP address) and a actor (the agent dedicated to the SNMP inventory).
You can again force the start but GLPI will tell you that no target is detected, which is normal because the discovery has not yet been executed.
The agent is now waiting to be launched so that it can carry out the tasks we have assigned to it. There are several ways to launch the agent:
Via the web interface where the agent is located, by logging on http://localhost:62354/
and clicking on force an inventory
.
By restarting the scheduled task or the glpi-agent service.
If you have installed agent monitoring, click on force an inventory
.
The job changes to in progress
.
Then to successful
Now that the 2 tasks have been executed, you can return to printer (for our example) and see that our hardware has been implemented in the printer tab, in the entity corresponding to our rule:
if your printer supports it, you can also see the status of the cartridges and the page counter
A mirror server for application deployment via GLPI is a dedicated server containing replicas of software packages, updates and deployment scripts. This server enables system administrators to deploy applications to client workstations efficiently and redundantly, ensuring that the necessary files are available even if the main server is unavailable.
Prerequisites
The GLPI Inventory plugin must be installed to access this functionality. It is available on the marketplace (Cloud and on-premise).
Availability: Ensures that deployments can continue even if the main server fails.
Performance: Improves response times and deployment speed through load balancing.
Security: Reduces the risk of data loss and ensures that applications are always available for deployment.
From Administration
> GLPI Inventory
> Deploy
> Mirror servers
Click on Add
Fill in the required fields (mandatory fields are the name
and address of the remote mirror server
. Remember to create your server in the correct entity and check the child-entity box if necessary).
Click on Add
Install a web server (such as Apache or Nginx) on the mirror server, which will host the deployment files.
Synchronize the deployment files between the main server and the mirror server.
rsync -avP /var/www/glpi/files/_plugins/glpiinventory/files/repository user@mirror_server:/path/to/mirror/deployment/files/
When the deployment task is configured, the agent will be able to receive the list of mirror servers.
These features are particularly useful when internal policies prevent technicians from installing the GLPI agent on all servers, when there's no centralized installation method for the agent, or when the environment involves the use of isolated networks which should not connect to the internet or an additional network where the GLPI server is.
Attention
The toolbox is not intended to be installed on insecure networks.
Activate the basic authentication
Set the trusted IP networks or hosts authorized to access the toolbox
Activate SSL on the agent
Take good care of the yaml file that is created during the configuration
Current environment
The following task is going to scan one networks
172.16.10.250 to 172.16.10.254 - containing network devices with SNMP enabled, alongside Linux servers with ssh access enabled
The task should run every every 5 hours
There will be ssh credentials for remote linux servers
After the information is gathered, you can check the following steps:
For this example you only need 4 menus:
Credentials
Inventory
IP Ranges
Scheduling
Open the GLPI Agent Toolbox Web Interface at http://agentip:62354/toolbox
Click on the cog icon on the top right of the screen
On Navigation bar
session enable
Show Credentials
in navigation bar
Show Inventory
tasks in navigation bar
Show IP Ranges
in navigation bar
Show Scheduling
in navigation bar
Click on Update
at the bottom of the page
Go back to home clicking on the GLPI Agent icon on top left of the screen
Now you will be able to see new menus on your left where you will create the inventory tasks.
From your GLPI Agent Toolbox home page, click on the Scheduling
tab
Click on Add new scheduling
The Name of the scheduling is for administrative purposes
Choose a Type
in this example, Delay
since there's the need of running this task every 5 hours
for more information about the types, please refer to the scheduling official documentation
Click on Add
From yout GLPI Agent Toolbox home page, click on the Credentials
tab
Click on Add Credential
Give it a name
Select the type according to your devices - in this case ssh
Type the ssh
Username
Type the Authentication password
Select the port - here is the default port for ssh - 22
Select Remote SSH Mode libssh
You can add a descriprion to this credential if needed
Click on Update
!!! note Add more credentials to different usernames and/or protocols
For more information, please refer to the official documentation
Click on IP Ranges
Name the IP Range Network A
On IP range start
type the first IP address be scanned on your range
172.16.10.250
On IP range end
type the last IP address to be scanned on your range
172.16.10.254
Add the credentials previously created that will be used in this IP range
rootlinux
!!!note Repeat the step above for the second IP range
For more information, please refer to the official documentation
Click on Add new inventory task
Name your task to be easy to find and understand it after
Select the type
Local inventory for only the computer where the agent is installed
Network scan to run a network scan
Select a Target for this task
It will use the servers that you have created before as targets or the Agent folder when you need to create an XML and import it to GLPI after
server0 - it's the URL set up in GLPI Agents config file or installation
Select the scheduling type
Every 5 hours
Add a tag to make business rules an easier task
Associate the ip ranges created
Set the number of threads that you desire to run
Set the time of Connection timeout
Tip
Threads is the number of remote devices the task will query for at the same time - Timeout is the number of seconds before the agent will decide a remote device is not responding
Warning
You may set a higher number of threads to request for more devices at the same time, and a higher timeout for devices that may be much further from your GLPI Agent scanner. Keep in mind that it consumes more resources of your Agent and Network.
Enable the Inventory task by clicking on the respective select box and on Enable
You may also refer to our video about setting up the GLPI Remote Inventory at our YouTube Channel.
Native satisfaction surveys are available from GLPI. A star system is used to rate the quality of the ticket response and a comment can be left. The requester receives an email allowing him to respond to this survey, but it is also possible to respond directly from the ticket in the Satisfaction
tab.
The following settings can be modified for each entity, allowing you to obtain different behaviour according to your needs.
From Administration
> Entities
> Entity required > assistance
>Configuring the satisfaction survey
Complete the various tabs:
Internal or External survey
Create survey after: as soon as possible up to 90 days
Rate to trigger survey: randomly triggers surveys at the specified rate. If the unspecified option is selected, surveys will not be sent. Rate can be set between 10 and 100%.
Duration of survey: closes the survey after 180 days. It will not be closed if you choose unlimited.
For tickets closed after : Defines a date on which surveys will be sent.
Click on Save
.
Survey by entity
This setting can be changed for each entity or inherited from the parent entity
Check that from Setup
> Notifications
> Notifications
, the Ticket satisfaction
notification is present. If this is not the case, you can create it with the following parameters by clicking on Add
. The satisfaction survey template already exists, so all you have to do is add it to your survey, whether external or internal (it can of course be customised).
From Setup
> Notifications
> Notifications
, the notification Ticket satisfaction answer
is created. It is sent to the requester and the technician in charge of the ticket to inform them that the response to the survey has been completed. You can of course modify this information or deactivate the notification if you wish.
Only the requester can modify the response to their survey (if it is not closed according to the settings you have chosen). It is possible to retrieve the survey email or go to the ticket in question in the satisfaction tab. Modifications to the survey will be included in the ticket's historical
tab.
It is possible to see the level of satisfaction of a particular ticket (from the ticket satisfaction tab), or to have more global statistics from Assistance
> Statistics
(this right can be added/removed from Administration
> Profiles
, assistance
tab of the selected profile). These statistics are available for :
Tickets
Problems
Changes
The search engine of the knowledge base is available here
Tools >
Knowledge base ("Search" tab)
Simple
searchIt is possible to perform a simple
keyword search.
For example, if you search for the following keywords apple
GLPI will automatically add a *
(except if *
is already present) apple*
GLPI will then search for all articles that contain words such as apple
, apples
, applesauce
, or applet
.
Complex
searchThe search engine of the knowledge base also offers the following operators for a complex search
+
Word must be present
-
Word must not be present
*
Truncate suffix
" "
The sequence contained must be searched literally
< >
Define the order of search items
()
Grouping when using <
and >
Here are some examples:
+apple +juice
Finds articles that contain both words.
+apple macintosh
Finds articles that contain the word "apple", but ranks articles higher if they also contain "macintosh".
+apple -macintosh
Finds items that contain the word "apple" but not "macintosh".
+apple ~macintosh
Finds articles that contain the word "apple", but if the line also contains the word "macintosh", rank it lower than if the line does not contain the word "apple". This method is "gentler" than the "+apple -macintosh" search, where the presence of "macintosh" causes the line to not return.
+apple +(>turnover <strudel)
Finds articles that contain the words "apple" and "turnover", or "apple" and "strudel" (in any order), but ranks "apple turnover" higher than "apple strudel".
apple*
Finds articles that contain words like "apple", "apples", "applesauce", or "applet". Note that the "
characters surrounding the expression are characters that delimit the expression. They are not the quotation marks that surround the search string itself.
Once connected in CLI on your server hosting your database, run the following commands:
mysqldump -u myuser -p
> mydump.sql
tar -czf mondump.sql.tar.gz mondump.sql
If you are not comfortable with command lines, you can use a graphical tool like HeidiSQL which we recommend here to build your dump.
Follow all the steps in this guide to make sure the dump is complete and well built!
Connect HediSQL to your database
Once connected to your database, right click on it.
Click on Export database to SQL
(graphical tool)
In the export tool, make sure that only your database is selected.
Check Create in Table(s)
Choose INSERT
in Data
Choose .sql file compressed in ZIP
in the Destination
Name your file
Click on Export
Export via PHPMYADMIN : most of the time, dumps are incomplete, with syntax errors, change undesired variable, etc.
Maintenance menu of GLPI : Legacy feature, dumps export is incomplete
Powershell : most of the time, dumps is done with non-standard encoding
Only the following data are eligible for import:
Your GLPI database
The contents of the folder files
of your GLPI
Warning
All data currently present in your GLPI Network Cloud instance will be replaced by the data provided
The possible specific developments and plugins not covered by the GLPI Network Cloud Public offer will not be imported
After receiving your request and its consideration by our team, you will receive a response with a first migration proposal containing:
A date (at least 72 hours after receiving the request / only between Monday and Friday)
If the initial proposal is not suitable, our team will discuss with you to define another date.
Once the migration is planned with our team, here are the important points of its progress:
The day of the migration, cut the access to your GLPI and export your data:
The contents of the folder "files" (if you want to import your attachments)
Your compressed data
must be accessible by our team via a download link at the time scheduled for the start of migration.
We recommend you to verify that your GLPI is out of production before the migration of data to your GLPI Network Cloud instance otherwise you will have a data differential between the two!
A complete migration takes on average between 1h and 2h.
To know
These times are not guaranteed, the real time of migration depends mainly on the size of your database and its contents (a significant history strongly lengthens the duration for example).
A definitive migration is always done towards the last stable version of GLPI.
Once the migration is done, you will receive a response from our team to inform you.
Collecting inventory data from servers, network devices, and workstations across your company without installing an agent on every device is possible through the use of the Remote Inventory features.
The migration start time you selected in your (subject to the availability of a technician)
Your GLPI database a guide to do it
If you are experiencing slowdown problems with GLPI, here is a list of causes that occur regularly:
When a ticket is created, if your Notifications are activated on this event (New ticket), GLPI will send an email without going through the Notifications queue. As a result, if the connection between GLPI and your SMTP server takes a little time (network latency or slowdown, overload of your SMTP server), the waiting time after posting your ticket may be longer.
Try to optimise the load on your SMTP server. If you don't want to authenticate your emails as much as possible, you can switch your email notifications to the default "PHP" mode (your message will be sent via our SendGrid relay, limited to 500 per day).
We can also offer you the option of switching to a private Cloud offering, in which case you can configure a personalised local SMTP relay. Please do not hesitate to contact us.
Too many entities can slow down GLPI, especially if rules are configured on top of them. It is recommended to have the lowest possible number of entities (in correspondence with the real need). Don't hesitate to contact our network of partners for support and advice on how to integrate your GLPI correctly.
GLPI's search engine can handle very complex searches, but this can slow down the platform for the user launching the query, depending on the size of the query! Also be careful not to activate alerts when a threshold is triggered for large queries.
A user can change the number of items displayed per page, slowing down access to the platform depending on the size of the list to be displayed.
Be sure to check the frequency and execution mode (CLI recommended) of certain actions! Actions that process a lot of data can slow down the platform.
Certain maintenance operations that we carry out during non-working hours (8pm-6am GMT Paris) may slow down or render your instance unavailable. Please check https://status.glpi-network.cloud to see if a maintenance operation is in progress.
If you think your problem lies elsewhere, please contact us via the Support link in your customer area.
Email notifications via SMTP
The multiplication of entities
A search filter that is too complex
The number of elements displayed per page is too high
Incorrect configuration of one or more automatic actions
Ongoing maintenance operations
Our automatic import tool is under development.
In the meantime, we can import your archive manually (database and "files" folder of GLPI).
After having selected your formula, do not hesitate to contact us from your customer area
Warning
The specific of your instance and the plugins not covered by the selected formula, will not be imported.
You will find all the information regarding our privacy policy clicking this link.
It is possible.
A form is available here, please, send your request to our team. Rename my instance
Your GLPI Cloud instance has three types of notifications:
Navigator
Collaborative tools (via plugin)
Most of GLPI´s notifications have to be configured in the Configuration> Notifications menu
Let's see what are the different types of notifications and how to configure them:
Depending on your browser this type of notifications will display a message on your screen alerting you about new ticket, follow-up, etc.
To be able to use this type of notifications you must first activate tracking and activate browser notifications:
You have to save your choice to get to the second configuration menu in which you will edit the configuration of browser notifications:
Once in the configuration menu:
You will be able to choose:
Your notifications sound
The interval for checking new notifications (in seconds)
We advise you not to change the address of the icon, it is not yet possible to personalize it in our Cloud offer.
Save your choices and you can launch notification via test button.
Allow notifications"
Don’t forget to allow notifications in your browser too!
Warning
GLPI Network Cloud environment does not allow unauthenticated / unsecured SMTP connections ( port 25 )This notification will send you an email when you receive a new ticket, follow-up, etc.
To be able to use this notification, you must first enable tracking and enable email notifications:
You should save your choice to obtain the second configuration menu in which you will edit the configuration of email notifications:
Once in the configuration menu:
Administrator email: the email address of the GLPI general administrator. This address is used when the Administrator is selected as the recipient of notification;
Administrator name: the administrator name used indicates the name associated with the administrator's email;
Response email (if necessary): email address used when the user replies to notification sent by the administrator;
Signature of messages: text added at the end of each notification. This feature is global, but can be adapted for each entity (see configuration of entity);
Method of sending emails:
PHP: the sending is carried out by our relay mail SendGrid, do not hesitate to use the other sending modes if you encounter reception problems;
SMTP: sending using the SMTP protocol;
SMTP + SSL: sending using the SMTP protocol, encapsulated in SSL tunnel;
SMTP + TLS: sending emails more secure than SMTP + SSL;
SMTP + OAUTH : send mail via an authorization server (OAuth2.0 standard) ;
SMTP host (s) [: Port] (separator;): name or IP address of the mail server. It is possible to specify the port by adding the character "colon", then the number. Several servers can be specified by separating them with a semicolon;
SMTP login (optional): the user authorized to connect to the SMTP (leave empty for anonymous connections);
SMTP password (optional): the user's password. It is possible to erase the password by checking the erase tick box and confirming this choice.
Save your configuration and send a test email to check your settings.
Warning
In the case of a Cloud instance, it is not recommended to use PHP as a method of sending mail. Indeed, Cloud instances use a Sendgrid relay for sending mail and can sometimes be blacklisted or considered as SPAM by certain mail servers.
Documentation de fournisseurs de messagerie sur ce sujet :
GLPI with the collaborative tools plugin allows you to receive notifications in third-party solutions.
As a reminder, the available solutions are:
Mattermost
Microsoft teams
Rocket.Chat
Slack
Telegram
To be able to use this notification, you must first activate the tracking and activate the notifications by webhooks:
You have to save your choice to obtain the second configuration menu in which you will edit the configuration of notifications by webhooks
Once in the configuration menu:
Here it is possible to define:
The maximum number of sending attempts
The frequency, in minutes, at which send will be attempted
The Webhook (s) used
Before you can select a Webhook, you must create it on GLPI side.
To do this, click on the icon . You will arrive on the Webhook creation pop-up window:
Here you can define:
The name of your Webhook (the name on GLPI side, it does not influence the configuration.)
Type of Webhook (which third party solutions)
The URL of this Webhook
The language in which the messages will be sent
A comment (simple text field for information only, it does not influence the configuration)
Once your configuration items have been entered, click on "Add" to register your Webhook.
In the pop-up window you can select the Webhook from the drop-down list.
Save your configuration and send test notification to check your settings.
Here you will find quick guides to help you to get the URL of the webhook to integrate into GLPI:
Full procedure here
Logged as administrator, go to the main menu.
Click on Integrations
Select incoming webhooks
Add a new one
Define a title and select channel
After registration, you will get the webhook URL.
Full procedure here
Navigate to the channel where you want to add the webhook and select (•••) More Options from the top navigation bar.
Choose Connectors from the drop-down menu and search for Incoming Webhook.
Select the Configure button, provide a name, and, optionally, upload an image avatar for your webhook.
The dialog window will present a unique URL that will map to the channel. Make sure that you copy and save the URL—you will need to provide it to the outside service.
Select the Done button. The webhook will be available in the team channel.
Logged as administrator, go to the administration menu
Click on the Integrations menu
Add a new integration
Select incoming webhooks
Define the webhook parameters
After registration, you will get the webhook URL.
You need to add an application to your team. (The link is found at the bottom of the left banner)
Select incoming webhooks
Add new configuration
Select the channel in which you wish to be notified.
You will get the URL of the webhook.
Optional: you can configure a name and logo in webhook.
Full procedure here
First, you need to create a Telegram Bot by chatting with @BotFather in the application.
You will get an API token corresponding to this Bot.
The webhook URL will therefore be: https://api.telegram.org/bot.
Then, as an administrator, you must add this bot to the channel in which you want to be notified.
The Telegram API requires an additional parameter called chat_id which corresponds to the id of the channel concerned.
To get it, transfer any message from the concerned channel to the @getidsbot bot.
You will get the value of the id in the forward_from_chat property.
Documentation GLPI "Notifications"
This procedure frees up disk space in a gradual process, which can take several days or weeks. Once all the steps have been completed, it will be necessary to temporarily increase the disk space in order to rebuild the database, thus recovering space and then reducing the disk size again.
Percona
Access the menu Setup
> General
> History Purge
to set up the purging of the two main space-consuming sections: Software and Users.
Steps :
Initial setup
In the Software section, set all three fields to 60 months.
In the Users section, set the four fields to 60 months for an initial test.
From Setup
> Automatic actions
, configure purgelogs
to run daily outside business hours.
Example schedule:
Automatic actions
Let the automatic action run overnight.
Then check the Logs tab in the automatic action to verify the number of lines deleted.
Leave the automatic action running overnight.
Then check the Logs tab in the automatic action to see how many lines have been deleted.
Once the number of deleted lines reaches 0 or close to 0, gradually reduce the retention period (previously set to 60 months) to 55 months.
Repeat the cleaning steps until you reach the desired minimum history duration.
Once the cleanup is complete, it will be necessary to temporarily increase disk space (to almost double the current size) to perform the following operation.
After deleting a large volume of data (e.g. from the glpi_logs table), you may notice that the disk space used does not immediately decrease at file system level. This is normal due to the operation of the InnoDB storage engine.
Procedure: Run the following command to optimize the table and reclaim disk space:
ALTER TABLE <table_name> ENGINE=InnoDB;
This command rebuilds the table indexes while ensuring data security and freeing up unused space.
Since version 9.5 of GLPI, the Marketplace to install and update plugins is available.
The Marketplace consists of two tabs :
Installed allowing to activate/deactivate and update plugins
Discover allowing to access the complete catalog of plugins and to install them.
Note that a plugin can have several versions, each version is most of the time specific to a particular version of GLPI. So be sure to select the right file to download!
Once the plugin has been chosen, just follow the following steps:
Click on the Download button
Copy the address
Go in ssh on the server then in the glpi/plugins folder
Follow the following steps:
Download
Unzip
Delete the archive
Apply the correct permissions
Go to setup
> Plugins
. If the Marketplace is activated you have to in order to return to the old plugin interface.
So now you need to Install and Activate it. The installation will create the possible tables in the database.
Activation will make the plugin accessible to users.
Updating a pluginis done by physically removing (Caution: not to be confused with Uninstalling a plugin) the previous version and installing the new version. You just have to delete the folder corresponding to the plugin and refer to the installation paragraph of the plugin for the rest of the procedure.
In this article, we'll give you a quick overview of GLPI's Marketplace, integrated since version 9.5.
GLPI's Marketplace is an alternative interface to the setup
> Plugins
menu. The first time you consult it, you'll be asked if you want the Marketplace to become the default interface. But don't worry, you can still access the original plugin interface. You'll find both menus in the breadcrumb trail:
With the Marketplace, you no longer need to access the server hosting GLPI (CLI) to download and install plugins. GLPI now offers a filtered list of available plugins compatible with the GLPI Network Cloud environment.
The Marketplace offers two tabs :
Installed This tab lists the plug-ins installed on your GLPI Network Cloud instance.
Discover This tab is the real "marketplace" for plugins. This is where you can search for and download plugins.
Service support give you a file, the extension can be patch
or diff
Example : bug-fix.diff
Service support give you this commit number ex: adc9876
First, you need to retrieve changes from commit
Go to https://github.com/glpi-project/glpi/commit/ + COMMIT_NUMBER
Example
https://github.com/glpi-project/glpi/commit/adc9876
Then, transform the commit into a patch by adding .diff
at the end of url.
Like this https://github.com/glpi-project/glpi/commit/adc9876.diff
Copy the patch URL and run a wget on your GLPI server wget https://github.com/glpi-project/glpi/commit/adc9876.diff
Service support give you a PR number 4770
First, you need to retrieve the PR
Go to https://github.com/glpi-project/glpi/pull/ + PR_NUMBER
Example
https://github.com/glpi-project/glpi/pull/4770
First , transform the PR into a patch by adding .diff
at the end of url.
Like this https://github.com/glpi-project/glpi/pull/4770.diff
Copy the patch URL and run a wget
on your GLPI server wget https://github.com/glpi-project/glpi/pull/4770.diff
Info
Move the previously created file to the root folder of GLPI.
Go to the GLPI root folder
cd
Go the previously created file to the root folder of the plugin
Go to the root folder of the plugin
cd
To known if it installed, just find the version of the binary patch installed
If it installed you should have this
If not you should have this
Install it with this command
Ubuntu/Debian
CentOS/RHEL
Before appling patch, you have to test it with this command and parameter --dry-run
In case of a success you should have this
or this
You can now apply the patch for real with this command
Congratulation the patch is applied !
Now you have to test this patch, feel free to give us a feedback
In case of an error you should have this
Many things can lead to failure :
Your version of GLPI is different from the version used to make the patch
The file that must be modified by the patch has already been previously
Contact support and explain your problem (do not hesitate to add screenshot, GLPI version, command used etc)
To cancel a patch, enter the command :
You can also use Percona to perform this type of operation on your databases. A is available to help
See the different related to logsInitial run
This feature can be acttiYou will have to create a registration key beforehand. The procedure is available .
All GLPI plugins are available on the
Click on
Click on the which will turn green once the plugin is activated .
The uninstallation of a plugin is done from the plugin configuration interface. Simply click on . Then you can even if you want to delete the folder in the plugins directory.
GLPI Documentation
GLPI Documentation
Go to section
If it's a core patch, perform the wget
directly at the root of GLPI. If it's a plugin patch, perform the wget
directly in the folder of the plugin concerned. If you've done it elsewhere, the section will help you move it to the right place.Finally, go to section
If it's a core patch, perform the wget
directly at the root of GLPI. If it's a plugin patch, perform the wget
directly in the folder of the plugin concerned. If you've done it elsewhere, the section will help you move it to the right place.
Finally, go to section
patch -v
GNU patch 2.7.6
Copyright (C) 2003, 2009-2012 Free Software Foundation, Inc.
Copyright (C) 1988 Larry Wall
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Larry Wall and Paul Eggert
command not found: patch
apt-get install patch
yum install patch
grep -v "phpunit/" buf-fix.diff | patch -p1 --dry-run
patching file inc/config.class.php
patching file inc/config.class.php
Hunk #1 succeeded at 891 with fuzz 1 (offset 23 lines).
Hunk #2 succeeded at 1301 with fuzz 2 (offset 41 lines).
grep -v "phpunit/" buf-fix.diff | patch -p1
patching file inc/config.class.php
Hunk #1 FAILED at 400.
1 out of 1 hunk FAILED -- saving rejects to file inc/config.class.php.rej
patch -p1 < bug-fix.diff -R
For this installation, we need
A Linux Ubuntu Server 22.04 LTS
A Web server - Apache
A code interpreter - PHP
A Data Base Server Management Platform - MariaDB in this case
We are separating this process in 6 steps:
Installing components
Database configuration
Preparing files and folders to install GLPI
Giving correct folder and files permission on linux to install GLPI
Configuring web server and PHP
Starting web installation
Before we start, make sure your server is up to date
If your firewall is enabled, you need to allow ssh, http and https connections to this server. According to your security policies.
For this post, we are using Apache 2, MariaDB Server, PHP and its respective extensions. If your operating system and repositories are updated, the latest stable version of the extensions are already the ones downloaded.
After all the components are installed, we need to follow the steps 2 - 6.
MariaDB, by default is provided without a default password set to the root user and with some default settings that need to be correctly configured.
Minimum recommendation
Change the root password
Remove anonymous users
Disallow root login remotely
Remove test database
Reload privilege tables
Furthermore, since GLPI is a global ITSM tool which may be used by people from all around the world at the same time, you would like to activate the possibility to GLPI database service user to read timezone information from your default mysql database.
Choose a secure and strong password for your service user. This is the user GLPI uses to access and save information in the GLPI Database.
After you installed the components and created a first database and service user to receive GLPI folders, you will download the *.tgz latest version of GLPI and store it on apache main root folder.
In this scenario we are storing GLPI information in different folders and following the FHS where, usually.
/etc/glpi : for the files of configuration of GLPI (config_db.php, config_db_slave.php) ;
/var/www/html/glpi : for the source code of GLPI (in reading only), served by Apache;
/var/lib/glpi : for the variable files of GLPI (session, uploaded documents, cache, cron, plugins, …);
/var/log/glpi : for the log files of GLPI.
To make sure GLPI will find those files, we need to indicate in two different files where these folders are on the system:
The downstream.php
file is responsible for instructing GLPI application where the GLPI_CONFIG_DIR
- the configuration directory of GLPI - is stored. Remember, we must indicate /etc/glpi
as the new folder for configuration files. GLPI understands that a file called downstream.php
inside the inc
folder has these instructions.
Create the downstream.php
file
Declare the new config file folder - you can insert this content in this file you have created
Now you may move the folders from its current directory to the new directories:
After you declare the new GLPI_CONFIG_DIR
with the downstream.php
, navigate to this new directory /etc/glpi
and create a new file called local_define.php. This file is reponsible for instructing GLPI where the other directories are stored.
We are changing the documents folder ( files
) and the logs folder ( files/_log
) to their new directory.
Create the local_define.php
file
Paste the following in this file
Here is a suggestion of permissions for your GLPI installation
Create a file on /etc/apache2/sites-available/glpi.conf
In this file, you will add the following content:
ServerName if you have a public URL, you can type it here
DocumentRoot if you will store GLPI in a different page, change it too.
After the Virtual Host file is created you should disable the default apache site configuration, enable the rewrite module and reload the new vhost file.
a2dissite 000-default.conf
# Disable default apache site
a2enmod rewrite
# enable the rewrite module
a2ensite glpi.conf
# enable the new apache virtual host settings for your glpi instance
systemctl restart apache2
For GLPI to work properly it is recommended to change the following parameters on your php.ini file
Open the php.ini file
Change the following parameters
upload_max_filesize = 20M
Maximum size for uploaded files is set to 20 megabytes.
post_max_size = 20M
Maximum size for POST data (e.g., form submissions) is also set to 20 megabytes.
max_execution_time = 60
Maximum execution time for a PHP script is set to 60 seconds.
max_input_vars = 5000
Maximum number of input variables (e.g., form fields) a script can accept is 5000.
memory_limit = 256M
The maximum amount of memory a single PHP script can use is 256 megabytes.
session.cookie_httponly = On
Sets the "HttpOnly" attribute for session cookies
date.timezone = America/Sao_Paulo
Sets the default timezone for PHP to yours.
Once the installation and configuration of dependencies are done, the installation can continue on a web browser with access to this same server. Open a Web browser and type the DNS record you have created for this server.
You may always find the latest stable release on
For GLPI to run smoothly, without the need of complex URLs, we recomend you use a DNS name for your server and create a Virtual Host to forward all the requests coming to your instance looking for this previously created DNS entry to the correct path in your Apache configuration. More information about web server configuration
To add your timezone, please refer to the official
apt update && apt upgrade
apt install -y apache2 php php-{apcu,cli,common,curl,gd,imap,ldap,mysql,xmlrpc,xml,mbstring,bcmath,intl,zip,redis,bz2} libapache2-mod-php php-soap php-cas
apt install -y mariadb-server
mysql_secure_installation
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql
mysql -uroot -pmysql
CREATE DATABASE glpi;
CREATE USER 'glpi'@'localhost' IDENTIFIED BY 'yourstrongpassword';
GRANT ALL PRIVILEGES ON glpi.* TO 'glpi'@'localhost';
GRANT SELECT ON `mysql`.`time_zone_name` TO 'glpi'@'localhost';
FLUSH PRIVILEGES;
cd /var/www/html
wget https://github.com/glpi-project/glpi/releases/download/10.0.18/glpi-10.0.18.tgz
tar -xvzf glpi-10.0.18.tgz
vim /var/www/html/glpi/inc/downstream.php
<?php
define('GLPI_CONFIG_DIR', '/etc/glpi/');
if (file_exists(GLPI_CONFIG_DIR . '/local_define.php')) {
require_once GLPI_CONFIG_DIR . '/local_define.php';
}
mv /var/www/html/glpi/config /etc/glpi
mv /var/www/html/glpi/files /var/lib/glpi
mv /var/lib/glpi/_log /var/log/glpi
vim /etc/glpi/local_define.php
<?php
define('GLPI_VAR_DIR', '/var/lib/glpi');
define('GLPI_DOC_DIR', GLPI_VAR_DIR);
define('GLPI_CRON_DIR', GLPI_VAR_DIR . '/_cron');
define('GLPI_DUMP_DIR', GLPI_VAR_DIR . '/_dumps');
define('GLPI_GRAPH_DIR', GLPI_VAR_DIR . '/_graphs');
define('GLPI_LOCK_DIR', GLPI_VAR_DIR . '/_lock');
define('GLPI_PICTURE_DIR', GLPI_VAR_DIR . '/_pictures');
define('GLPI_PLUGIN_DOC_DIR', GLPI_VAR_DIR . '/_plugins');
define('GLPI_RSS_DIR', GLPI_VAR_DIR . '/_rss');
define('GLPI_SESSION_DIR', GLPI_VAR_DIR . '/_sessions');
define('GLPI_TMP_DIR', GLPI_VAR_DIR . '/_tmp');
define('GLPI_UPLOAD_DIR', GLPI_VAR_DIR . '/_uploads');
define('GLPI_CACHE_DIR', GLPI_VAR_DIR . '/_cache');
define('GLPI_LOG_DIR', '/var/log/glpi');
chown root:root /var/www/html/glpi/ -R
chown www-data:www-data /etc/glpi -R
chown www-data:www-data /var/lib/glpi -R
chown www-data:www-data /var/log/glpi -R
chown www-data:www-data /var/www/html/glpi/marketplace -Rf
find /var/www/html/glpi/ -type f -exec chmod 0644 {} \;
find /var/www/html/glpi/ -type d -exec chmod 0755 {} \;
find /etc/glpi -type f -exec chmod 0644 {} \;
find /etc/glpi -type d -exec chmod 0755 {} \;
find /var/lib/glpi -type f -exec chmod 0644 {} \;
find /var/lib/glpi -type d -exec chmod 0755 {} \;
find /var/log/glpi -type f -exec chmod 0644 {} \;
find /var/log/glpi -type d -exec chmod 0755 {} \;
/etc/apache2/sites-available/glpi.conf
# Start of the VirtualHost configuration for port 80
<VirtualHost *:80>
ServerName yourglpi.yourdomain.com
# Specify the server's hostname
DocumentRoot /var/www/html/glpi/public
# The directory where the website's files are located
# Start of a Directory directive for the website's directory
<Directory /var/www/html/glpi/public>
Require all granted
# Allow all access to this directory
RewriteEngine On
# Enable the Apache rewrite engine
# Ensure authorization headers are passed to PHP.
# Some Apache configurations may filter them and break usage of API, CalDAV, ...
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect all requests to GLPI router, unless the file exists.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
# End of the Directory directive for /var/www/glpi/public
</VirtualHost>
# End of the VirtualHost configuration for port 80
vim /etc/php/8.1/apache2/php.ini
To get the access to the GLPI Marketplace, it is necessary to register and obtain the registration key on GLPI Network: register
Simply do your registration in order to buy or get a free registration key.
Then copy the key in the dedicated tab of your general configuration.
Register
Please find complete process below
Complete informations:
In the menu click on Registration and get your key:
Paste it in your GLPI web interface, Setup > General
> GLPI Network
:
Percona is a leading provider of unbiased open source database solutions, they offer a wide range of products (complete from database server/clustering solution to monitoring or administration tools).
For changes (modification of columns or data migration) in large GLPI databases, based on MySQL / MariaDB, you can use the tool "pt-online-schema-change", which is included in the "percona-toolkit" developed by Percona, for example:
Converting all data from MyISAM engine to InnoDB engine
Migrate all DATETIME collumn to TIMESTAMP format (for timezone support)
Adding / removing / recovering an Index on glpi_logs table
By saying "large database", we mean those whose glpi_logs table exceeds 5GB of data, but of course it's possible to use these tools on all databases (regardless of their size).
pt-online-schema-change is more efficient and more secure than the command line tools (bin/console) provided in GLPI core release (useful for less important databases).
Using pt-online-schema-change:
As indicated in the official documentation:
Percona Toolkit is mature, proven in the real world, and well tested, but all database tools can pose a risk to the system and the database server (like any others sysadmin/DBA tools).
Danger
Before using this tool, please:
Read the tool’s documentation
Review the tool’s known "BUGS"
Test the tool on a non-production server
Backup your production server and verify the backups
TECLIB cannot be held responsible for improper usage conducting to loss of data.
The main principle of pt-online-schema-change is to create a temporary table that corresponds to the ALTER you want to do, then copy the data from the old table to the new one, and delete the old table if everything is ok.
Therefore, pay attention to the disk space usage: it will temporarily double (or triple), then return to normal (or decrease in case of "OPTIMIZE").
Disk size
If your glpi_logs table (before intervention) is 25GB, we recommend having a free disk space of at least 50/75GB to perform the operation.Warning about execution time
Although thanks to this tool, the data migrations are much faster (than with the bin/console tool of GLPI), we always advise (like any good self-respecting Linux system administrator) to execute all your commands in a virtual terminal or terminal multiplexer (like: tmux or screen).
Example with tmux
On Ubuntu 20.04 LTS: apt-get install tmux
Create a new tmux session: tmux new -s innodb_migration
Run your commands ...
Detach without closing the session: CTRL+b
then d
key
Connect to the existing session: tmux attach -t innodb_migration
Quit a session: exit
Migrate data from MyISAM to InnoDB
GLPI command:
pt-online-schema-change command:
--alter "ENGINE=InnoDB"
Here is the complete cli usage, you can test with --dry-run
instead of --execute
:
$ pt-online-schema-change \
--alter "ENGINE=InnoDB" \
--ask-pass \
--execute \
D=glpi,t=glpi_logs,u=root,h=localhost
You can change the variables:
u
as user database
h
as host database
D
as database name
t
as glpi table to alter
GLPI command:
pt-online-schema-change command:
--alter "MODIFY COLUMN date_mod TIMESTAMP NULL DEFAULT NULL"
Here is the complete cli usage, you can test with --dry-run
instead of --execute
:
$ pt-online-schema-change \
--alter "MODIFY COLUMN date_mod TIMESTAMP NULL DEFAULT NULL" \
--ask-pass \
--execute \
D=glpi,t=glpi_logs,u=root,h=localhost
You can change the variables:
u
as user database
h
as host database
D
as database name
t
as glpi table to alter
If by accident or mistake, the INDEXES of one of your tables are corrupted (you discovered it thanks to the MySQL CHECK command), we recommend to re-run the --alter "ENGINE=InnoDB"
command, your table INDEXs will be rebuilt while keeping your data safe.
After having done a lot of cleaning in your glpi_logs table (deleting millions of lines for example) you realize that the disk space used has not changed on the filesystem side.
Without going into the details of how the InnoDB storage engine works, tell yourself that this is normal you need to "OPTIMIZE" your table.
To do this, we recommend once again to re-run the --alter "ENGINE=InnoDB"
command, your table INDEXs will be rebuilt while keeping your data safe and recover the used disk space.
Here is a script to alter all tables for specific database.
Be sure to adapt the ALTER_COMMAND command with the right action to perform (see previous chapters).
(you can test with --dry-run
instead of --execute
)
#!/bin/bash
DBNAME=glpi
DBUSER=root
DBPWD=password
DBHOST=localhost
ALTER_COMMAND="MODIFY COLUMN date_mod TIMESTAMP NULL DEFAULT NULL"
for TABLENAME in $(mysql -h$DBHOST -u$DBUSER -p$DBPWD --batch --column-names=false -e "show tables" $DBNAME);
do
pt-online-schema-change \
--alter $ALTER_COMMAND \
--execute \
D=$DBNAME,t=$TABLENAME,u=$DBUSER,p=$DBPWD,h=$DBHOST
done
In this article we will look at how to configure alerts in GLPI.
An "alert" in GLPI is the combination of four concepts:
An alert configured for this search
An automatic action to trigger the alert
A Notification
Case study to illustrate the concept
I want to be alerted when the number of Tickets
with the New
status exceeds 4
Adapt the following method to your context (other examples: alert if the number of computers with the status "In stock" is less than 10, or alert if at least one server-type computer has less than 90% free disk space).
First, we need to save the search on which we want to place an alert.
In the menu Assistance
> Tickets
(in our case)
Enter the search parameters in the search engine
Start the search
!
The search result is displayed
To save your search, click on the icon in the search engine.
Give your search a name
Define its visibility (private in this case)
The Count
field defines whether you want the number of results to appear in a tooltip
Choose the entity and the recursivity
Click on add
The search is now saved.
You can view your searches via the Lists
icon at the top right of your interface:
The sliding banner will give you a list of your saved searches:
Now just click on your search to display the results.
Go to Tools
> Saved searches
Choose the saved search on which you wish to place an alert
In the Saved search alerts
tab
Click on Add an alert.
Here you need to :
Name this alert
Choose the operator and value that will trigger the alert (strictly greater than 4 in our case)
Make this alert active
Click on add
Our alert is configured.
The principle is simple:
You have configured a search linked to an alert.
In this alert, you have defined a threshold that triggers the alert (in our example above, the alert is triggered if the number of Tickets in New status is strictly greater than 4).
An automatic action will therefore be run regularly to trigger these alerts; this is called savedsearchesalerts:
Go to setup
> Automatic actions
.
Click on savedsearchesalerts
.
Configure it according to your needs:
Warning
Attention As this automatic action is global to your entire platform, we strongly recommend that you configure the execution frequency to be as low as possible in order to cover as many alerts as possible.
The final step is to set up a notification that will be sent if the defined threshold is exceeded.
There are two possible scenarios:
Alert on a saved search Personal
Alert on a saved search Public
If the alert comes from a saved "Personal" (non-public) search, you will only need to create a single notification that will group together all your alerts. You will be the only recipient, so there is no need to multiply the number of emails.
If the alert comes from a search that has been saved as "Public", you will need to create a new notification. Personal notification :
In the menu setup
> Notifications
> Notifications
Choose the Saved searches
notification
Change it to Activated
Click on Save
On the Gabarits
tab, you can specify whether you want an email notification and the notification template and/or an Ajax notification and the notification template.
In the Recipients tab, it will only be possible to add Users.
Public Notification:
The first step is to create the event that will be associated with the notification for this alert
Go to Tools
> Saved Searches
Choose the saved search on which you want to create the event.
Choose the saved search on which you want to be notified.
If the search is in public mode, go to the Search alerts
tab and GLPI will ask you to create this event:
You will then need to click on the create now
button.
Next, create the notification:
setup
> Notifications
> Notifications
Add a new notification
Add a name
Active : Yes
Type : Saved search alert
Event : choose the search desired
Click on save
In the "Templates" tab, you can specify whether you want an email notification and the notification template and/or an Ajax notification and the notification template.
Finally, in the Recipients tab, you will need to add the desired recipients.
GLPI documentation "Notifications"
The principle is simple: use emails to create tickets or add follow-ups to already existing tickets.
An internal GLPI task will connect to a mailbox and retrieve messages for further transformation.
In order to achieve this we should use GLPI tools: Receivers and Automatic Actions.
We will explore this topic in the following order:
Receivers
Automatic Actions
Specifications according to suppliers
Let's start by defining a receiver.
A collector allows you to import an email from a mailbox and transform it into a ticket in GLPI. A routing mechanism allows this to be assigned to a destination entity.
Receivers are configured from the menu setup
> Receivers
Add a new receiver by clicking on add
Name (Email) The name of the receiver should be the full email address -> mon@adresse.mail
Active Classic GLPI field, allows you to activate or deactivate receiver.
Server This field should contain the FQDN or IP address of your server.
Connection options These different lists allow you to define the connection parameters to your server (IMAP or POP, SSL, TLS, certificate validation, etc.)
Incoming mail folder (optional, often INBOX) If you have messages you want to collect in a specific folder in mailbox, this is where it should be indicated.
Port (optional) Indicate here if your mail server requires a specific port to establish the connection.
Connection string This field is not available when creating the receiver
Login Here you will have to enter the mailbox identifier. Often this will be the prefix of the email address (everything before @) but it is better to enter the full email address.
Password Insert the password associated with the mailbox concerned by the receiver.
Accepted mail archive folder (optional) This field is optional, it allows you to indicate an archiving file for emails accepted from the receiver.
Refused mail archive folder (optional) This field is optional, it allows you to indicate an archive folder for refused emails from the receiver
Maximum size of each file imported by the mails receiver This field allows you to modify the size of the imported files. It also allows you to deactivate the import by placing the field on "No import"
Use mail date, instead of collect one This field will affect the time of creation of tickets! It is important to consider this, especially when setting up SLA.
Use Reply-To as requester (when available) This field allows you to change the requester of the ticket generated by the mail according to the "Reply to mail" field.
Add CC users as observer This field allows you to add CC users (mail) as observer in the generated ticket.
Collect only unread mail This field allows you to only generate ticket from unread mail.
Comments A simple text field in which you can enter content for informational purposes. It does not influence the configuration.
Once the collector is configured, it is necessary to configure or check the automatic action of GLPI concerning the collectors, mailgate
.
Automatic actions can be configured from the menu Configuration
> Automatic actions
Select the mailgate action.
Run frequency This list allows you to define the execution period of the automatic action. It goes from minute to month.
Attention
This parameter must match your possible SLAs.Status This field is used to define whether the automatic action should be launched or not.
Run mode This field allows you to define the launch mode of the action:
GLPI
: (not recommended) the activity of the platform that triggers actions
CLI
: (recommended mode) the execution of tasks is managed via the Cloud system (every 15 minutes in paid mode)
Run period Two time fields to define the execution range
Number of days this action logs are stored (in days) Here you can select the number of days of stored logs
Number of emails to retrieve This field allows you to define the maximum number of emails to retrieve when the action is triggered.
Comments Classic text field allowing you to enter indications, remarks, etc. It does not affect the configuration.
With the configuration of your collector and automatic action, your emails will now be transformed into GLPI tickets.
Follow these articles to put the right parameters depending on the suppliers:
From setup
> plugins
, install Oauth imap
.
Enter the name of your project
Click on create
Return to your organisation,
Select your project
From the menu, click on APIs & Services
.
Then OAuth consent screen
.
select the type of access that will be granted to the application (internal or external users)
Then click on create
.
Enter (as a minimum) a name for the application, an email address for application support and the developer's email address (this information is compulsory).
Click on save and continue.
In the scope
section, click on add or remove application fields
.
Add auth/userinfo.email
auth/userinfo.profile
and openid
.
Click on update
Then save and continue
## ID settings
From the credentials
menu, click on create credentials
and then Oauth client ID
.
Select the type of application "web application".
Enter an application name,
In the Authorized redirect URIs
section, enter the GLPI callback URL
.
Where can I find my callback URL?
Click on create
A page appears with the identifier values. Keep this information as it will be requested in GLPI.
From setup
> Oauth imap applications
, click on add
.
Select Google
in the Oauth provider
field
Enter the client ID
(number 1 on the previous screenshot)
Enter the client secret
(numbered 2 on the previous screenshot)
Click on add
Once the application has been created, go to the Oauth authorization
tab
click on create an authorization
You will be asked for an account using IMAP services
Accept the necessary authorisations
You can now configure your Oauth IMAP application in the receiver
End of TLS protocol
Since the removal of the TLS1.0 protocol, it is no longer possible to use an Office365 account directly from the collector. It is therefore necessary to set up Oauth IMAP.
Oauth IMAP
If you want to collect emails from a Gmail mailbox to transform them into GLPI tickets, here are the instructions.
You need to generate an application password from your Google account so that you can transform your e-mails into tickets from the collector.
Follow the procedure below to generate a GLPI-specific password from the account that will use IMAP services via the collector.
IMAP must be allowed in your email settings
Settings -> Forwarding and POP/IMAP -> IMAP access> Enable IMAP -> Save changes
If your receiver uses delegated mailbox, follow these steps to configure it.
!!! Info This case applies to accounts using Azure AD and Gmail
The principle is to create your authorization from Oauth IMAP plugin on the main account and then, modify this authorization to identify the delegated account. To create the receiver via an Azure account, please refer to this article :
If your receiver is already configurated on the main account, follow these steps to modify it by the delegated mailbox :
Go to Setup
> Oauth IMAP applications
> Oauth authorization
tab of your OAuth IMAP
click on update
Enter the delegated mailbox
Valid your modification
To configure the folders of the receiver of the new box, you just have to go to Setup
> receivers
Click on the icon that corresponds to the folder that you waant to customize (incoming, archives, etc.)
The list of the delegated mailbox's folders will appear
Enjoy your GLPI 10
If for any reason you lose SSH connection/session, being in a virtual terminal the execution of your command will continue without you!
A
From your (administrator access is required), go to your organisation then new project
We invite you to follow the procedure to set up your collector with an Office365 account".
In your Collector, you must enter your IMAP authentication parameters. Google provides authentication settings to enter on third-party applications .
You can find the generic configuration of a collector .
In this article, we will see how to define a Rule to assign an authorization to a user coming from an LDAP source automatically.
To define a rule, go to the menu Administration
> Rules
> Rules for assigning authorizations to a user
.
Add a new rule by clicking on add
It is necessary to define one or more criteria. In our case we have to tap on the LDAP criteria.
GLPI allows you to select multiple LDAP attributes, for example:
MemberOf
;
Email
;
TelephoneNumber
;
User ID
;
Common Name
;
etc.
Once your criteria has been selected, you must define how GLPI should take this criteria into account by defining an operator, for example:
is
;
contains
;
finished by
;
exists
;
does not exist
;
etc.
Let´s take a specific case. I want to establish a rule for my users who are members of a group containing the term SECURITY in the name.
My criteria therefore will be MemberOf
and the action will be contains
.
Then I enter the value of my criteria. Here it will be SECURITY
.
Reminder:
An authorization is the combination of the following three concepts:
User;
Profile;
Entity.
Example :
John
technicien
Infrastructure
Transformed into an enabling rule:
Criteria
= User
Actions
= Entity + Profile
Our criteria being defined, we can now create at least two actions necessary to affect a profile and an entity.
GLPI also allows you to influence on other objects or user status, for example:
Active
( yes or no );
Recursive
(yes or no );
Default entity
;
etc.
At this step our rule is functional.
Users with SECURITY
in their MemberOf
attribute will be Technician
in the Infrastructure
entity.
To know
The rule will be applied when users log in or at each LDAP synchronization with GLPI.
Documentation GLPI "Users profiles"
Project management in GLPI allows you to track the progress of a project by creating tasks and setting up teams. Projects can be linked to a change and/or a problem.
From tools
> projects
, click on add
Fill in the necessary fields
A project brings together a number of tasks which must be carried out to move the project forward. These tasks must be completed for the project to progress.
From your project, go to the tasks
tab
Fill in the fields required to complete the task.
We recommend that you leave the automatically calculate
option unchecked if this task does not have a child task.
You can create one or more child tasks and automatically feed the percentage calculation. Creating a child task is exactly the same as in the previous step. Remember to tick automatically calculate if you want child tasks to automatically fill the parent task.
Once a task has been created, it needs to be monitored so that the project can also be populated.
Click on the task you have just created to view its options
In the main tab, you can modify the information created in the previous step
In the project tasks
tab, you can create child tasks
In the task team
tab, you can assign it to :
A contact (for example, if it is assigned to a service provider)
a supplier
a group
a user
On the documents
tab, you can add any documents related to your task.
In the tickets
tab, you can link an existing ticket or create a ticket linked to the task in question
In the notes
tab, a simple text field is available.
Each task can have a different assignment group. When the status of one of the tasks is marked as in progress
, the project itself is also automatically marked as in progress.
Depending on the complexity of the initial project, it can be split into several projects. So, in the projects
tab, you can create a sub-project from this project. It will be managed in exactly the same way as the parent project.
The kanban allows you to view the tasks in progress and have an overall view of the project.
Kanban modification
Only the user manager or a member of the manager group can modify the kanban (project tab, manager
section).
To search for a particular item, click in the search box and select the relevant heading
You can add a task or project directly from the kanban by clicking on the . The task will appear in the project task list and the project as a child project. You can feed them in the same way as the parents.
Some information is visible from the kanban
Task completion percentage
User and/or group allocation
You can add cost(s) to the project in order to estimate the expenditure incurred for the project. You can charge it to a budget in order to deduct the expenditure from the budget. The expenditure will automatically be deducted from the budget affected.
Tab management
> budgets
(DSI budget for example)
If your project requires it, you can link tickets, changes and/or problems. This data is for information purposes only, and the closure of its elements is not dependent on the project.
You can add park elements to see which items are impacted by the project.
You can link documents in the tab of the same name. They may already be in the library, or you can import a new one. When you import a new document, it will also be visible in management
> documents
You can link one or more contracts to the project. The link will also be visible in the management
> contracts
section.
A note field is available. It is a free text field.
You can attach one or more items from the knowledge base. The link will also be visible from tools > knowledgebase
If you want to collect emails from an iCloud mailbox to transform them into GLPI tickets, here are the instructions.
iCloud account
Your iCloud account must have an email address in the icloud.com domain. The Apple ID cannot be used, only the email address.
Your iCloud account password will not work. You must generate an application password in the security settings of your iCloud account. To do this, Apple provides documentation here .
Apple provides IMAP connection settings here .
GLPI
Configure the collector with the IMAP connection settings provided by Apple.
Remember to enter the application password and not the account password.
Find the generic configuration of a collector here .
The rules are accessible from the Administration
> Rules
menu.
Dictionaries are accessible from the Administration
> Dictionaries
menu.
GLPI has rule engines which enable a number of actions and associations to be performed automatically.
The engine is used for:
Management rules
assignment of machine to an entity - Rules for assigning an item to an entity
assign credentials to user - Authorizations assignment rules
assign categories to software - Rules for assigning a category to software
routing of tickets to entities - Rules for assigning a ticket created through a mails receiver
create automatic actions when tickets are created - Business rules for tickets
Data dictionaries
manufacturers
software
printers
types of materials,
hardware models
operating system fields
A rule is made up of different criteria. Depending on the option chosen (OR / AND) one or all of the criteria must be completed to trigger an action list.
Preview mechanism allows you to test the rules being written before going into production.
There are several conditions:
simple
is
is not
contains
does not contain
starts with
finished by
exists
does not exist
under
(for entities titles, indicate to be this title or one of child titles)
not under
(for entities titles, indicates not to be this title or one of the child titles)
complex
regular expression matches
regular expression does not match
Regular expressions (aka as regexp) return one or more results that can then be used by actions using the #x
directive (where x is the result number of the regular expression).
The engine behaves differently depending on the types of rules:
stop after the first rule checked
unfolding all rules
rules progress with passage of the result to the following
Dictionaries allow you to modify the data that is entered or already exists in GLPI.
Dictionaries are based on rules engine and are available for certain inventory data (software, manufacturers, titles). These dictionaries allow you to have rules which will modify manually entered values, added automatically via an inventory tool, or plugins (for example, CSV file injector).
The dictionary works in the following manner:
added data goes to the dictionary;
the rule engine replay all the rules concerning this type of data, and stops after first check;
the modified data is returned by the dictionary and inserted into the database.
Here is an example of particular case to better understand this concept:
Context:
I have 150 software in my inventory.
During inspection, I notice that 80 software programs contain the terms Microsoft and Office.
As they are not formatted in the same way, GLPI does not group them!
Solution:
I am creating Software dictionary rule.
I choose 2 criteria Name of the software BEHAVIOR Microsoft ET Office.
I then apply an action Name of the software AFFECT Microsoft Office.
Conclusion:
The 80 detected software are now grouped to one.
My statistics are improved.
In order to remain well informed, GLPI allows you to integrate RSS feeds whether they are private (intranet) or public (press/suppliers/customers/etc).
These RSS feeds can remain personal to its editor or be shared with different targets of the platform (entity, group, user).
The RSS feeds are visible on the homepage of GLPI.
Business rules for tickets are predefined conditions and actions that automate processes, ensuring that tickets are categorized, assigned, and processes efficiently. By defining these rules, teams can reduce manual work, improve response times, and ensure compliance with service level agreements (SLAs).
The rules are accessible from the Administration
> Rules
> Business rules for tickets
menu.
Setting up Business Rules involves 4 main stages:
Defininig the order of execution of this rule.
A rule is made up of different criteria. Depending on the option chosen (OR / AND) one or all of the criteria must be completed to trigger an action list.
You can refer to general behavior of rules here.
Administration
> Rules
> Business rules for tickets
click on Add
,
Name your rule,
Choose the Logical operator
according to your needs - if you are not sure which one to use, see more here. In this example we are using the Logical operator AND
,
In Use rule for
you choose if the rule runs just when a ticket is created, when it is updated or both. In this example we a re using just for Add
,
Add additional Comments
to your rule if you need,
Set Active
to Yes
if you want the rule to be activated right after its creation,
Click on Add
at the end of the form.
Example
We are creating a rule to set our SLA and OLA according to this article:
Every time a ticket is opened from the Entity
called Brazil
AND the Category
is not Servers
The ticket must assume A Time to Own
of 4 hours in Brazil and a Time to Resolve of 5 days in Brazil
These SLAs must be already created.
In your new business rule, click on the tab with the name Criteria
,
Click on Add a new criterion
,
Chosse a Criterion
that matches one or more needs of your tickets,
In this case Criterion
> Entitiy
> is
> Brazil
Click on Add
,
Choose the second Criterion
> Category
> is not
> Servers
Click on Add
.
In your new business rule, click on the tab with the name Actions
,
Click on Add a new action
,
Chosse an Action
that matches one or more needs of your tickets,
In this case Action
> SLA Time to own
> Assign
> TTO - 4 hours in Brazil
Click on Add
,
Choose the second Action
> SLA Time to resolve
> Assign
> TTR - 5 Days in Brazil
Click on Add
.