Skip to content

Process (and future many stuff!) monitor API built in Python using Flask and psutil

Notifications You must be signed in to change notification settings

mromagnoli/monapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

#monapi

Monapi is in its conception a project for Universidad de Mendoza (University of Mendoza) Monitoreo y Gestión de Redes (Monitoring and Network Management) subject.

##Introduction

Monapi allows you to monitor process running in host by requesting an API.

It is built in Python using two great tools: Flask as framework and psutil.

##Usage

Monapi allows you to make HTTP requests using its methods in a RESTful way.

You can:

  • Retrieve information about all process in host

curl -XGET <hostname:port>/api/<api_version>/process

  • Launch a new process
 -d '{"path": "/path/to/exec", "params": "-as -in /shell/format --optional"}'```

* **Retrieve information about a particular precess by PID**

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>`

* **KIll a process**

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>/kill`

* **Renice a process (root privilegies)**

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>/renice` increase by 1 the actual value.  

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>/renice/<value>` set the value passed.

* **Retrieve process status**

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>/status`

* **Retrieve connections opened by process**

`curl -XGET <hostname:port>/api/<api_version>/process/<pid>/connections`

* **Retrieve all connections opened in host**

`curl -XGET <hostname:port>/api/<api_version>/connections`


##Installation

Note: it is convenient to do installation in a virtual environment.

In Ubuntu:  
  
`$ sudo apt-get install python-virtualenv`  
`$ git clone https://github.com/mromagnoli/monapi.git`  
`$ cd monapi`  
`$ sudo virtualenv venv` (*venv* or whatever you want to name it)  
`$ source venv/bin/activate` (if **root** privilegies are needed, before change user `sudo su`)  
`$ pip install -r requirements.txt`  
`$ python api/app/__init__.py`  


##TODO
* Add I/O monitoring
* Improve connections monitoring
* Improve documentation --> Usage and return data 
* Memory monitoring

About

Process (and future many stuff!) monitor API built in Python using Flask and psutil

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages