amatsa
Asset Monitoring and Analytics Tool for System Administrators
Science Score: 41.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.1%) to scientific vocabulary
Repository
Asset Monitoring and Analytics Tool for System Administrators
Basic Info
- Host: GitHub
- Owner: VSangarya
- License: mit
- Language: Python
- Default Branch: main
- Size: 2.03 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
🖥 AMATSA
Have you ever reported to your organization's IT team that your machine is slow or running out of disk space? Well, I guess most of us have done this at some point. What if your IT team can be proactive and give you a new disk (or a new asset to meet your workload!) before you even go to them?
Asset Monitoring and Analytics Tool for sysadmins (we call it AMATSA) is a client-based solution for system administrators to monitor assets in their organization. amatsa-client is cross-platform (Linux, Windows, macOS), can be installed on a server/user PC and takes less than 50MB of disk space at runtime. Once you install the amatsa-client on a host, it will periodically send system metrics (asset info, cpu/memory utilization, network etc.) to the backend server. The backend server runs on Elasticsearch and can be hosted on-premise or in the cloud. Sysadmins can then import our pre-built Kibana dashboard or build custom visualization on top of raw data sent by the clients. The meta data on fields listed here can be used to create custom visualization dashboards.
Setting up AMASTA on a PC and exploring the visualization dashboard
https://user-images.githubusercontent.com/68890508/194654605-f23bc6a3-13ba-43b3-b41a-8d8b9015c583.mp4
📖 Usecases
- Gather asset information - how many assets are there in the organization, specification of each asset etc.
- Monitor assets that haven't rebooted in a while to apply security patches.
- Monitor assets that have high CPU/memory utilization over time.
- Monitor assets running out of disk space.
- Monitor network speed of assets across the organization.
Workflow and 'How to Do Stuff'
The architecure of the system is shown below:

- The script installed at the client side collects client metrics and at fixed intervals and pushes these metrics as a JSON to the elastic server.
- Kibana is connected to the Elastic Server from where it fetches the data and renders this data in the dashboards accessible by system administrators.
- This update happens in realtime.
To use the system:
- Follow the steps in Installation.
- Adding new metrics:
- You can make changes to the classes in the 'src' directory to track additional metrics or remove metrics that are currently tracked.
- Leverage Kibana's convenient UI to create new dashboards as per your requirements.
- View dashboards:
- Access your AWS server using your browser.
- Enter your Kibana credentials to view the dashboards.
🛠 Installation
- See server installation instructions to setup Elasticsearch and Kibana.
- See client installation instructions to deploy amatsa-client on assets.
- Once the server and the clients are setup, you can import and explore our pre-built Kibana dashboards.
- Common issues faced by users while setting up client are listed here.
👩🏼💻 🚀 Developer Environment Setup
Prerequisites
- Python 3.10+
- VS Code (to make collaboration easier. We don't want to argue over tabs vs spaces!) ### Setup
Spawn terminal and change working directory to repo directory.
Create virtual environment using venv:
path/to/python -m venv .venvActivate virtual environment:
Linux/MacOS:source .venv/bin/activate
Windows:.venv/Scripts/activateInstall Python dependencies
Text pip install -r requirements.txt pip install -e .
↑ Enhancements
Server
- Send emails to users based on occurrence of an event.
Client
- Collect running process information (name, pid) to identify unique instances across your organization.
- Monitor listening ports across assets to identify which services are listening in your network.
- Configure a rule file containing filenames to monitor on the client. If the hash of monitored file changes, you can send an event.
⚙︎📧 Troubleshooting, help and contact information
For any help or assistance regarding the software, please E-mail any of the developers with the query or a detailed description. Additionally, please use issues on GitHub for any software related issues, bugs or questions. * mquresh@ncsu.edu * apandit3@ncsu.edu * vnagara3@ncsu.edu * schopra4@ncsu.edu * lsangar@ncsu.edu
Owner
- Name: Vishwesh Sangarya
- Login: VSangarya
- Kind: user
- Repositories: 4
- Profile: https://github.com/VSangarya
Computer Science Grad Student at NCSU
Citation (CITATION.md)
## Zenodo DOI badge for version 1.0.0 of AMATSA Software repository [](https://doi.org/10.5281/zenodo.7179464) Reference to Zenodo Citation of the repository : [Zenodo AMATSA](https://zenodo.org/record/7179464#.Y0OWKXbMJmM)