GLPI+Fusioninventory实战:如何用Agent自动收集Windows和CentOS的软硬件清单?

发布时间:2026/5/21 10:34:26

GLPI+Fusioninventory实战:如何用Agent自动收集Windows和CentOS的软硬件清单? GLPIFusioninventory企业级资产自动化管理实战指南资产管理一直是企业IT运维中既基础又关键的一环。想象一下当公司拥有数百台服务器和终端设备时手动记录每台机器的CPU型号、内存大小、磁盘容量、安装的软件清单等信息不仅耗时耗力还容易出错。这正是GLPI结合Fusioninventory解决方案大显身手的地方——它能够自动、准确地收集这些资产信息并集中展示在一个统一的平台上。1. 企业资产管理自动化架构解析GLPI作为开源的IT资产管理解决方案其核心价值在于提供了一个集中管理IT资产的平台。而Fusioninventory则是其生态系统中最强大的资产自动发现和收集插件两者结合形成了完整的资产自动化管理闭环。1.1 核心组件工作原理Fusioninventory Agent是运行在各个终端设备上的轻量级程序它负责收集本机的硬件和软件信息。这些信息包括但不限于硬件信息CPU型号、核心数、内存大小、磁盘型号和容量、网卡信息等软件信息已安装程序列表、版本号、安装日期等网络信息IP地址、MAC地址、开放端口等收集到的数据会通过HTTP/HTTPS协议传输到GLPI服务器经过处理后存储在数据库中。GLPI的Web界面则提供了直观的数据展示和查询功能。1.2 数据流与处理流程整个系统的数据流动可以分为以下几个阶段信息收集Agent按照配置的策略收集本地信息数据传输加密后的数据通过HTTP/HTTPS发送到GLPI服务器数据处理GLPI服务器接收并解析数据更新数据库数据展示管理员通过Web界面查看和分析资产信息这种架构的优势在于自动化程度高减少人工干预降低出错概率实时性强可以配置定期更新保持数据新鲜度扩展性好支持从几台到上万台设备的规模2. Fusioninventory Agent部署实战部署Fusioninventory Agent是实现自动化资产管理的第一步。根据操作系统的不同部署方式也有所差异。2.1 Windows系统部署在Windows环境中部署Agent通常有以下几种方式手动安装下载MSI安装包图形化界面逐步安装静默安装使用命令行参数实现无人值守安装批量部署通过组策略或配置管理系统如SCCM大规模部署以下是静默安装的示例命令msiexec /i fusioninventory-agent_windows-x64_2.6.msi /qn SERVERhttp://glpi-server.example.com/plugins/fusioninventory/ TASKinventory关键参数说明/qn静默安装不显示界面SERVER指定GLPI服务器地址TASK指定默认执行的任务类型2.2 CentOS/RHEL系统部署对于基于RPM的Linux发行版如CentOS、RHEL可以通过yum或dnf直接安装# 添加EPEL仓库如果需要 sudo yum install epel-release # 安装Agent sudo yum install fusioninventory-agent fusioninventory-agent-task-inventory # 配置Agent sudo vi /etc/fusioninventory/agent.cfg在配置文件中至少需要设置以下参数[server] url http://glpi-server.example.com/plugins/fusioninventory/安装完成后启动服务并设置为开机自启sudo systemctl enable --now fusioninventory-agent3. 高级配置与优化基础安装完成后还需要根据企业实际需求进行定制化配置以充分发挥Fusioninventory的功能。3.1 agent.cfg关键参数解析Agent的核心配置文件是agent.cfg它控制着Agent的各种行为。以下是一些常用且重要的配置项配置项默认值说明delaytime3600两次完整清点之间的最小间隔秒httpd-port62354Agent本地HTTP服务端口no-task0是否禁止自动执行任务scan-homedirs0是否扫描用户主目录scan-profiles0是否扫描用户配置文件对于大型部署特别需要注意以下优化项# 减少网络带宽使用 compression 1 # 设置代理服务器如果需要 proxy http://proxy.example.com:8080 # 限制CPU使用率 max-cpu-percent 503.2 任务调度策略Fusioninventory支持多种任务触发方式各有优缺点定时任务优点负载均衡避免服务器高峰缺点数据更新不及时配置示例execution-interval 86400每天执行一次服务器拉取优点实时控制缺点增加服务器负担配置示例no-task 0本地触发优点即时响应缺点需要本地访问权限执行命令fusioninventory-agent --local/path/to/task.xml在实际环境中通常会组合使用这些策略。例如配置基本的定时任务保证数据定期更新同时在需要时通过服务器或本地触发即时更新。4. 数据收集范围定制默认情况下Fusioninventory会收集大量信息但有时我们需要根据实际需求调整收集范围。4.1 硬件信息收集控制通过配置可以控制收集哪些硬件信息[hardware] # 是否收集USB设备信息 usb 1 # 是否收集打印机信息 printer 0 # 是否收集显卡信息 video 14.2 软件信息收集策略软件收集是资产管理的重要部分可以精细控制[software] # 扫描哪些目录下的软件 path /usr,/opt # 忽略某些软件支持正则表达式 blacklist .*adobe.*,.*microsoft.*对于Windows系统还可以控制是否收集特定注册表位置的软件信息。4.3 自定义数据收集除了预定义的信息类型还可以收集自定义数据创建自定义模块脚本如/usr/share/fusioninventory/agent/custom/myinfo.pm在配置中启用自定义模块[task] include /usr/share/fusioninventory/agent/custom自定义模块可以用Perl编写返回需要收集的额外信息。5. 数据上报与GLPI集成收集到的数据需要上报到GLPI服务器进行处理和展示。5.1 通信安全配置为保证数据传输安全建议配置HTTPS和认证[server] url https://glpi-server.example.com/plugins/fusioninventory/ user inventory password securepassword ssl-cert-file /path/to/cert.pem5.2 GLPI端配置在GLPI管理界面中需要配置Fusioninventory插件以正确处理上报的数据进入插件→Fusioninventory→配置设置自动清理旧数据的策略配置资产信息映射规则设置告警阈值如磁盘空间不足5.3 数据查看与分析在GLPI界面中可以通过多种方式查看资产信息全局视图所有设备的概览单设备详情特定设备的完整信息自定义报表按条件筛选和导出数据GLPI还支持设置监控项当某些指标超过阈值时自动触发告警。6. 企业级部署最佳实践在大规模生产环境中部署Fusioninventory需要考虑更多因素。6.1 性能优化建议当设备数量超过100台时建议使用MySQL而不是SQLite作为GLPI后端数据库为GLPI服务器配置足够的RAM至少8GB使用负载均衡部署多个Fusioninventory处理节点错开Agent的上报时间避免高峰6.2 高可用架构对于关键业务环境可以考虑数据库集群MySQL主从复制或Galera集群应用层冗余多个GLPI前端节点存储分离将上传的文件存储在共享存储或对象存储中6.3 备份与恢复策略定期备份以下内容GLPI数据库/var/lib/glpi目录/etc/glpi目录Fusioninventory插件配置可以使用以下命令创建数据库备份mysqldump -u glpi_user -p glpi_db glpi_backup_$(date %Y%m%d).sql7. 常见问题排查即使配置正确在实际运行中仍可能遇到各种问题。7.1 Agent无法连接服务器检查步骤验证网络连通性ping glpi-server.example.com检查端口开放telnet glpi-server.example.com 80查看Agent日志/var/log/fusioninventory-agent.log7.2 数据不完整或缺失可能原因收集任务配置不正确权限不足导致某些信息无法收集过滤规则过于严格检查Agent配置文件和日志确认没有错误信息。7.3 性能问题如果Agent占用过多系统资源限制收集频率增加delaytime减少收集范围关闭不必要的收集项限制资源使用设置max-cpu-percent和max-memory8. 进阶应用场景除了基本的资产管理GLPIFusioninventory还可以支持更多高级应用。8.1 软件许可证管理通过收集的软件信息可以跟踪已安装软件及其版本比对采购记录发现未经授权的软件统计软件使用情况优化许可证采购8.2 变更追踪与合规审计定期收集的信息可以用于检测未经授权的硬件变更发现安全策略违规如安装了禁止的软件满足合规审计要求8.3 与其他系统集成GLPI支持通过API与其他系统集成与CMDB系统同步数据与监控系统联动自动创建工单与采购系统对接实现资产全生命周期管理集成示例代码Pythonimport requests import json url https://glpi-server.example.com/apirest.php/Computer/ headers { Content-Type: application/json, Session-Token: your_session_token, App-Token: your_app_token } response requests.get(url, headersheaders) computers json.loads(response.text) for computer in computers: print(fID: {computer[id]}, Name: {computer[name]})9. 安全注意事项在部署和使用过程中必须重视安全性。9.1 通信安全强制使用HTTPS而非HTTP定期更新SSL证书考虑使用VPN或专用网络进行数据传输9.2 访问控制为GLPI配置强密码策略实施基于角色的访问控制RBAC定期审计用户权限9.3 数据保护敏感信息加密存储遵守数据隐私法规制定明确的数据保留策略10. 未来发展与替代方案虽然GLPIFusioninventory是成熟的解决方案但也需要关注技术发展。10.1 容器化部署新的趋势是将GLPI和Fusioninventory容器化FROM glpi-project/glpi:10.0.3 # 安装Fusioninventory插件 RUN wget https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi10.0.3%2B1.0/fusioninventory-10.0.31.0.tar.bz2 \ tar -jxvf fusioninventory-10.0.31.0.tar.bz2 -C /var/www/html/glpi/plugins/10.2 替代方案比较除了GLPIFusioninventory还有其他资产管理方案方案优点缺点Snipe-IT界面现代易用性好功能相对简单Lansweeper扫描速度快报表丰富商业软件成本高OCS Inventory开源跨平台支持好配置复杂选择方案时需要综合考虑功能需求、技术能力和预算。

相关新闻