How AutoAMS 2.0 Automates Server Asset Management with Django and Ansible
This article describes the design, architecture, and key features of AutoAMS 2.0, an automated asset management system built with Django, Bootstrap, MySQL, and Ansible, showing how it replaces manual Excel‑based tracking, collects server and network data without agents, and streamlines permission and location management for large‑scale operations.
Introduction
After years of operations development, the author finally gave the work a proper name—DevOps—and created AutoAMS 2.0, an automated asset management system, to replace manual Excel‑based server statistics.
System Overview
AutoAMS 2.0 is built with
Django+
Bootstrapon the front end and
MySQLas the database.
Django was chosen because the server information collection program relies on the automation tool
Ansible, which itself is written in
Python, making Django a natural fit.
Key Functions
1. System Home Page
Shows server reports, log alerts, system status, and recommended knowledge‑base articles.
2. Server Asset List
3. Hardware/Software Details & Change Log
4. Permission Management
System Architecture
1. Server Information Collection
The system calls the
ansible apivia
sshto actively obtain server data without installing any agents.
Collects information without affecting existing server environments.
Facilitates rapid upgrades and new feature releases for the asset system.
2. Network Device Collection
Uses SNMP to gather switch hardware details and automatically stores interface information.
3. Spare Parts Import
Supports bulk import of server, disk, and memory spare parts via Excel.
4. Permission Management
a. Custom permission list b. Add custom permission modifiers to each action c. Create groups and assign permissions d. Assign users to permission groups
5. Server Location Implementation
Provides a cost‑free method to locate servers in racks, avoiding expensive hardware upgrades.
Development History
The original asset system was built four years ago using a manual approach. After experiencing frequent server changes and data inconsistencies, the team evaluated OCSNG and GLPI but found them unsuitable, leading to the creation of AutoAMS 1.0 with CakePHP + Bootstrap + MySQL.
AutoAMS 1.0 suffered from agent compatibility issues and Perl‑based extensions.
Following a technical sharing session at a new company, the architecture was completely redesigned, resulting in the lightweight, reusable AutoAMS 2.0.
Conclusion
Future versions will add batch server configuration and Zabbix monitoring integration, and the project will be open‑sourced on GitHub to encourage community contributions.
Efficient Ops
This public account is maintained by Xiaotianguo and friends, regularly publishing widely-read original technical articles. We focus on operations transformation and accompany you throughout your operations career, growing together happily.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.