- 1️⃣ Introducción y contexto
- 2️⃣ Arquitectura del sistema
- 3️⃣ Instalación paso a paso
- 4️⃣ Integración con otras herramientas
- 5️⃣ Casos de uso prácticos
- 6️⃣ Buenas prácticas y mantenimiento
- 7️⃣ Solución de problemas comunes
- 8️⃣ Recursos y enlaces
1️⃣ Introducción y contexto
En cualquier entorno tecnológico, saber qué activos tienes, dónde se encuentran y en qué estado están es clave para:
- Optimizar costes y licencias.
- Anticipar fallos y planificar renovaciones.
- Mejorar la seguridad frente a vulnerabilidades.
OCS Inventory NG (Open Computer and Software Inventory Next Generation) es una solución open source que permite:
- Descubrimiento automático de hardware, software y periféricos.
- Auditoría continua de cambios y detección de elementos no autorizados.
- Gestión centralizada de inventario desde cualquier ubicación.
💡 Esta guía está pensada como recurso de consulta rápida para:
- Administradores de sistemas que necesitan control y visibilidad constante.
- Responsables de IT con infraestructuras distribuidas.
- Freelancers o pymes que buscan una solución gratuita y escalable.
2️⃣ Arquitectura del sistema
Componentes principales
- Agente (OCS Agent) 🖥 Software ligero que se instala en cada equipo. Recoge información de:
- Hardware: CPU, RAM, discos, tarjetas, periféricos.
- Software: versiones, licencias, fecha de instalación. Envía los datos de forma segura al servidor.
- Servidor OCS 🗄 Recibe y procesa los reportes de todos los agentes. Alberga los módulos para:
- Gestión de base de datos.
- Interfaz web de administración.
- Módulo de despliegue remoto.
- Base de datos 💾 Habitualmente MySQL o MariaDB. Guarda el inventario y el historial de cambios para auditorías y reportes.
- Interfaz web 🌐 Accesible vía navegador. Permite:
- Filtrar y buscar activos.
- Generar informes.
- Desplegar software o scripts.
💡 Tip avanzado: El agente puede trabajar en modo activo (envía datos de forma programada) o pasivo (el servidor lo interroga), algo útil en entornos con dispositivos que no siempre están conectados.
3️⃣ Instalación paso a paso
3.0 Requisitos previos generales
Antes de instalar, asegúrate de tener:
- Acceso administrador/root en el servidor y clientes.
- Conectividad de red bidireccional entre servidor y clientes (LAN o vía VPN/Internet).
- DNS interno o nombre de host para el servidor (evita depender de IP cambiantes).
- Hora y fecha sincronizadas en todos los dispositivos (NTP), para evitar problemas con certificados SSL.
3.1 Servidor en Linux (Debian/Ubuntu)
Instalar dependencias básicas
sudo apt update sudo apt install apache2 libapache2-mod-perl2 libapache2-mod-php php php-mysql php-curl \ php-gd php-mbstring php-xml mariadb-server unzip
Instalar OCS Inventory Server
sudo apt install ocsinventory-server ocsinventory-reports
Configurar elementos clave
- IP fija en
/etc/netplan/
onmcli
. - Crear base de datos y usuario con permisos limitados
sudo mysql -u root -p CREATE DATABASE ocsdb; CREATE USER 'ocsuser'@'localhost' IDENTIFIED BY 'contraseñaSegura'; GRANT ALL PRIVILEGES ON ocsdb.* TO 'ocsuser'@'localhost'; FLUSH PRIVILEGES;
Activar HTTPS
sudo apt install certbot python3-certbot-apache sudo certbot --apache -d inventario.midominio.com
Verificar estado
sudo systemctl status apache2 sudo systemctl status mariadb
Abrir en navegador: https://IP-o-dominio/ocsreports
3.2 Servidor en Windows Server
- Instalar Apache, PHP y MySQL/MariaDB (puede ser con paquetes tipo XAMPP o WAMP).
- Descargar instalador de OCS Inventory Server desde la web oficial.
- Durante la instalación, indicar:
- Ruta de instalación de Apache/PHP.
- Credenciales de la base de datos.
- Asignar puertos y habilitar reglas de firewall para HTTP/HTTPS.
Verificar: Abrir https://IP-o-dominio/ocsreports
y comprobar acceso.
3.3 Cliente Windows
- Descargar agente desde la web oficial.
- Ejecutar el instalador y especificar la URL del servidor (ej.
https://inventario.midominio.com/ocsinventory
). - Forzar primer reporte para validar:
cd "C:\Archivos de programa\OCS Inventory Agent" Ocsinventory.exe /NOW
3.4 Cliente Linux
sudo apt update sudo apt install ocsinventory-agent sudo ocsinventory-agent --server https://inventario.midominio.com/ocsinventory
💡 Puedes usar --now
para forzar un reporte inmediato.
🌐 3.5 Escenario práctico: Servidor Linux + Portátiles Windows 11 + Equipos remotos
Servidor OCS en Linux
- IP fija, SSL activado y puerto publicado (o acceso vía VPN).
- Recomendado: reverse proxy en Nginx con HTTPS forzado y autenticación HTTP básica.
Ejemplo mínimo de proxy en /etc/nginx/sites-available/ocs
:
server { listen 443 ssl; server_name inventario.midominio.com; ssl_certificate /etc/letsencrypt/live/inventario.midominio.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/inventario.midominio.com/privkey.pem; location / { proxy_pass http://127.0.0.1:80; auth_basic "Acceso restringido"; auth_basic_user_file /etc/nginx/.htpasswd; } }
Clientes en LAN
- Instalar agente normalmente.
- Usar IP o dominio interno.
- Ajustar frecuencia en configuración del agente (ej.: cada 4h).
Clientes fuera de la red
Método | Ventajas | Inconvenientes |
---|---|---|
VPN (WireGuard/OpenVPN) | Seguro, cifrado, como si estuvieran en LAN | Depende de que el usuario se conecte |
Proxy inverso con HTTPS y auth | Automático sin VPN, funciona siempre que haya Internet | Mayor exposición, requiere endurecer seguridad |
Servidor en VPS/Nube | Accesible siempre desde cualquier ubicación | Coste y gestión de seguridad |
Ejemplo mínimo WireGuard (cliente):
Código
[Interface] PrivateKey = TU_CLAVE Address = 10.8.0.2/24 [Peer] PublicKey = CLAVE_SERVIDOR Endpoint = midominio.com:51820 AllowedIPs = 10.8.0.0/24, 192.168.1.0/24
Buenas prácticas para entornos mixtos
- TLS/SSL obligatorio en cualquier comunicación externa.
- Filtrar IPs o establecer listas blancas si es viable.
- Configurar reintentos en el agente (
OCSInventory.ini
) para reportar tras reconexión. - Etiquetar dispositivos según ubicación/tipo para filtrar informes.
📌 Extra útil: programar un informe que liste los equipos que llevan más de X días sin reportar, para detectar portátiles “desaparecidos”.
4️⃣ Integración con otras herramientas
4.1 Integración con GLPI
¿Qué es GLPI? GLPI (Gestionnaire Libre de Parc Informatique) es una aplicación open source que actúa como centro neurálgico para gestionar el ciclo de vida de tus activos de TI, además de ofrecer funciones completas de Service Desk.
Principales capacidades
- 📋 Inventario centralizado de hardware y software (manual o automático).
- 🎫 Gestión de incidencias y solicitudes con asignación a técnicos, seguimiento y SLA.
- 📑 Control ITSM para contratos, licencias, compras y documentación técnica.
Por qué integrarlo con OCS Inventory
OCS Inventory recopila automáticamente información detallada y en tiempo real de todos tus dispositivos. GLPI importa esos datos para:
- Asociar cada activo a un usuario, contrato o ticket de soporte.
- Cruzar incidencias con inventario para informes más completos.
- Eliminar tareas manuales y minimizar errores.
Flujo simplificado: [Clientes con OCS Agent] → [Servidor OCS Inventory] → [Plugin OCSNG en GLPI] → [Inventario + Tickets + Gestión Integral]
Pasos básicos de integración
- Instalar GLPI en un servidor web (LAMP/WAMP o similar).
- Añadir el plugin oficial OCS Inventory NG en GLPI.
- Configurar credenciales y conexión a la base de datos de OCS.
- Importar y programar la sincronización automática.
💡 Nota práctica: filtra en GLPI qué datos de OCS importar para evitar sobrecargar el sistema.
4.2 Otras integraciones posibles
Herramienta / Sistema | Integración posible | Ventajas | Consideraciones |
---|---|---|---|
Zabbix / Nagios / Centreon | Usar inventario como base de monitorización | Inventario y monitorización alineados | Requiere scripts o módulos intermedios |
Ansible / SCCM | Seleccionar equipos del inventario para despliegues o cambios | Automatización masiva con precisión | Necesita definir grupos/etiquetas en OCS |
Grafana / Kibana | Visualizar métricas e inventario en dashboards | Informes dinámicos y atractivos | Exportar datos vía API o base de datos |
Active Directory / LDAP | Sincronizar usuarios y dispositivos | Gestión centralizada de identidades | Configuración avanzada de sincronización |
📌 Tip: Para integraciones personalizadas, OCS Inventory ofrece API REST y exportaciones en CSV/XML/JSON, lo que te permite conectarlo con casi cualquier sistema que maneje datos estructurados.
💡 Ejemplo: extraer de OCS la lista de PCs de un departamento en JSON y alimentarla directamente en un script Ansible.
5️⃣ Casos de uso prácticos
🔍 Auditoría de software
Objetivo: localizar aplicaciones desactualizadas, inseguras o no autorizadas.
- Cómo: desde la interfaz web, usar el filtro de software para buscar versiones concretas (ej.: “Adobe Reader ≤ 20.x”).
- Ejemplo: listar todos los equipos con
Java 8u131
y desplegar automáticamente la actualización. - Extra: configurar alertas para que OCS te notifique cuando aparezca software de listas negras.
📜 Control de licencias
Objetivo: evitar sanciones o sobrecostes.
- Cómo: compara el número de instalaciones reportadas frente a las licencias adquiridas.
- Ejemplo: detectar que tienes 27 instalaciones de Microsoft Office con solo 25 licencias contratadas y actuar antes de que llegue una auditoría.
- Extra: etiqueta el software crítico para tenerlo controlado en informes recurrentes.
🖥 Gestión de hardware
Objetivo: planificar renovaciones de forma proactiva.
- Cómo: filtrar por fecha de compra/instalación o por antigüedad del hardware.
- Ejemplo: generar un informe de portátiles con más de 5 años y menos de 8 GB de RAM, priorizando su sustitución.
- Extra: cruzar datos con el consumo de recursos para anticipar cuellos de botella.
🚀 Despliegues remotos
Objetivo: instalar o actualizar software en varios equipos sin desplazarte.
- Cómo: usa la función de despliegue del servidor OCS con paquetes MSI/EXE (Windows) o scripts (Linux).
- Ejemplo: desplegar un cliente VPN a todo el departamento de Ventas en una sola operación.
- Extra: combina con etiquetado por grupo para despliegues selectivos.
6️⃣ Buenas prácticas y mantenimiento
- Revisión semanal de informes de cambios
- Filtra las variaciones de hardware/software para detectar instalaciones no autorizadas o fallos inminentes.
- Backups automáticos de la base de datos
- Programa tareas con
cron
(Linux) o Programador de Tareas (Windows). - Guarda al menos una copia externa (otro servidor o almacenamiento en la nube segura).
- Programa tareas con
mysqldump -u ocsuser -p'contraseña' ocsdb | gzip > /backups/ocs_$(date +%F).sql.gz
- Filtros por localización o departamento
- Segmenta los activos para generar informes personalizados y facilitar la toma de decisiones.
- Mantener agentes y servidor al día
- Las actualizaciones corrigen vulnerabilidades y mejoran la compatibilidad con hardware/software nuevo.
- Documentar la instalación y configuración
- Un simple archivo de texto con pasos clave y contraseñas seguras almacenado en un lugar protegido puede ahorrarte horas.
7️⃣ Solución de problemas comunes
🛑 El agente no reporta
- Verificar conectividad al servidor con
ping
ocurl
. - Comprobar reglas del firewall.
- Revisar logs del agente:
- Windows:
C:\ProgramData\OCS Inventory NG\Agent\ocsinventory.log
- Linux:
/var/log/ocsinventory-agent/ocsinventory-agent.log
- Windows:
- Confirmar que la URL configurada es correcta y accesible.
📉 Datos incompletos
- Asegurarse de que el agente tiene privilegios de administrador/root.
- Comprobar que el paquete del agente incluye todos los módulos (algunos son opcionales).
- Validar que el sistema operativo es soportado por la versión de OCS instalada.
🐢 Servidor lento
- Optimizar la base de datos:
OPTIMIZE TABLE hardware; OPTIMIZE TABLE software;
- Revisar el tamaño de tablas y purgar registros obsoletos.
- Comprobar carga de CPU/RAM en el servidor y considerar escalado si es necesario.
8️⃣ Recursos y enlaces
- 🌐 Web oficial del proyecto → ocsinventory-ng.org
Sitio principal con descargas, noticias y enlaces a documentación básica. - 📚 Wiki oficial → Documentación en GitHub
Manuales y guías de instalación, configuración y uso, mantenidos por el equipo y la comunidad. - 💻 Repositorio principal en GitHub → OCSInventory-NG
Contiene el código fuente del servidor OCS Inventory NG y los agentes oficiales. Es el punto de partida si quieres ver el código, reportar incidencias o contribuir. - 🐧 Unix Agent → Repositorio UnixAgent
Código fuente del agente para sistemas tipo Unix/Linux. Aquí se actualizan mejoras y compatibilidad con nuevas distribuciones. - 🪟 Windows Agent → Repositorio WindowsAgent
Contiene el agente para Windows (incluido Windows 11), con su código, instaladores y changelog. - 📱 Android Agent → Repositorio AndroidAgent
Proyecto para el agente que inventaría dispositivos Android. - 🐳 Docker Image → OCSInventory-Docker-Image
Scripts y configuración para ejecutar OCS Inventory NG en contenedores Docker, ideal para pruebas rápidas o despliegues portables.
💡 Consejo de uso: si quieres clonar cualquier repo para probarlo en local:
git clone https://github.com/OCSInventory-NG/OCSInventory-Server.git
(cambia la URL por la del repositorio que te interese)