Operations 8 min read

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.

Efficient Ops
Efficient Ops
Efficient Ops
How AutoAMS 2.0 Automates Server Asset Management with Django and Ansible

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 + Bootstrap on the front end and MySQL as 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 api via ssh to 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.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

DevOpsDjangoAnsibleasset management
Efficient Ops
Written by

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.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.