Pre-installation - Recommendations#
Before installing a GLPI server, what should you consider?#
It's important to determine several criteria before installing a GLPI server. Some of these may have an impact on the load on the server(s), others on the network load. The right questions to ask yourself before setting up your server are :
How many users will be able to connect at the same time?
Will there be automatic inventories?
- If so, estimate the number of assets (computers, monitors, applications, etc.) that will be brought up.
Will a backup system be set up?
- If so, estimate the resources required to launch backups.
Do potential IS security layers consume resources, or can they create latencies?
What system resources are available to you?
-
if hosting on-premise :
- Rack availability
- Which hardware to order
- Budget constraints
-
Hosting with a provider (Cloud Offer available)
Are there any recovery constraints (implementation of clusters, load balancing, HA, etc.)?
Are there any short/medium/long-term business growth forecasts?
Depending on the answers, a simple or improved architecture could be considered.
What should you think about for a GLPI with heavy traffic?#
The more traffic there is to/from your GLPI, the more resources you'll need.
If you assume a large number of users and/or assets to be inventoried, you should consider at least an enhanced archtecture :
For high-traffic architecture, we strongly suggest :
Separate web front-ends :
- one for users
- one for inventory
Evaluate APACHE resources correctly
- 8-core CPU minimum per machine
- Calibrate configuration for simultaneous task management (connections, worker, etc.)
Ensure sufficient bandwidth
Deport SQL layer to a dedicated server
Associate a second server for SQL replication (necessary for disaster recovery)
Associated resources for the SQL layer :
- RAM: 16 or 32 GB
- Coniguring 2 GB RAM to the InnoDB buffer pool
- Remember to increase values for temporary table management
- Disk: Nvme -> indispensable for fast database writes
WEB connection <-> SQL :
- Sufficient bandwidth
- Minimize latency between machines
- If you're using a provider, we strongly encourage you to ensure that the machines are on the same physical site
Add an NFS share to share files
between upstream WEB servers (sessions, attachments, XML inventories, etc...).
Cluster, Load-Balancing, High-Availability: can GLPI be integrated into this type of architecture?#
Yes, this type of architecture is perfectly feasible with GLP. It's part of a high-availability, disaster recovery mode, in the event of the failure of one of the servers.
For example, you can :
- add a reverse-proxy server upstream of the 2 WEB servers
- add a 3rd WEB server and better distribute the load (manage fault tolerance)
- replace simple
MASTER / SLAVE
replication with a database cluster, requiring at least 3 DB nodes
What flows does GLPI use?#
Mandatory flows
From | To | Prot./Appli. | Port | Comment |
---|---|---|---|---|
User | GLPI | HTTP(S) | 80 (443) | http(s) : //glpi/ |
GLPI | Databases | MySQL | 3306 | Another port can be configured |
Optional Flows - LDAP/CAS connection
From | To | Prot./Appli. | Port | Comment |
---|---|---|---|---|
GLPI | LDAP directory | LDAP(S) | 389 (636) | Synchronization and user authentication |
Optional flows - MAIL connection
From | To | Prot./Appli. | Port | Comment |
---|---|---|---|---|
GLPI | Mail server | SMTP(S) | 25 (465), 587 | Send email notifications |
GLPI | Mail server | IMAP(S) | 143 (993) | Mail retrieval (receiver) > ticket creation |
Optional flows - GLPI Inventory Basic module (inventory)
From | To | Prot./Appli. | Port | Comment |
---|---|---|---|---|
Agents | Server | HTTP(S) | 80 (443) | http(s) : //glpi/plugins/fusioninventory/ |
GLPI | Agents | HTTP | 62354 | Remote agent wake-up (from GLPI) |
Optional flows - GLPI Inventory Advanced modules
From | To | Prot./Appli. | Port | Comment |
---|---|---|---|---|
Agents | Equip. | SNMP | 161,162 | Network inventories |
Agents | Equip. | NMAP | ICMP,DNS | Network discovery |
Agents | VMWARE | HTTPS | 443 | VMWare inventory |