Cristian Ozan - 2025-08-27

We’re publishing a small, practical Inventory Agent for iTop that automates workstation discovery and keeps your CMDB up to date—no manual data entry, no gimmicks.

What it does

Collects key facts from Ubuntu desktops: brand, model, serial, CPU, RAM, OS version, IPv4, MAC, plus last boot and last logged-in user/time. Data is pushed securely to iTop via REST/JSON.

Runs on a schedule and updates existing CIs; if they don’t exist, it creates them. The flow is simple and idempotent:

IPv4Address: update by friendlyname=IP, otherwise create it.

PC: update by name (from config); otherwise create and link the IP via ipaddress_id.

Architecture (keep it simple)

Python 3 agent that reads a local config and posts JSON to iTop.

Config file (/etc/itop-agent/itop.conf) with the API URL, Auth Token, organization, and device name/type.

systemd service + timer: runs as a one-shot job on a daily schedule (persistent catch-up if the PC was off). An installer script lays down everything and enables the timer.

Security

App Token sent in the Auth-Token header (not in the URL).

HTTPS required.

Config file is 600 (root-only).

Use a minimal-rights iTop account (e.g., REST Services User; scoped to PC and IPv4Address).

Supported scope

Target: Ubuntu Desktop (Linux).

How to try it

Install with the provided script (it creates folders, the agent, service/timer, and dependencies).

Edit /etc/itop-agent/itop.conf with your iTop REST URL, Auth Token, Organization, and a unique device name.

Run once: sudo systemctl start itop-agent.service and watch logs with journalctl -u itop-agent.service -f.

This agent favors reliability and clarity over complexity: small footprint, predictable runs, and transparent logs. If you need a no-nonsense way to keep your CMDB aligned with reality, this should fit right in.

👉 You can download it here: https://github.com/ozan-cristan/itop-extensions/tree/main/Agente