Skip to content

Final project of Computer Network course at Amirkabir University of Technology.

Notifications You must be signed in to change notification settings

AmirMohamadBabaee/CN-Monitoring-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CN-Monitoring-System

Final project of Computer Network course at Amirkabir University of Technology. The project is the implementation of a monitoring prometheus metric client that receive metrics from different agent and merge them in prometheus metrics and expose them for Prometheus Scraper.

Requirements

prometheus-client
psutil

You can install them just by entering:

pip install -r requirements.txt

How to use it?

To run this project, at first, you should run metric_server to initiate a MetricServer and start to listen for metrics of other agents.

python3 metric_server.py

then in separate shell, run metric_agent to initiate a MetricAgent to extract metrics from the system and send them to the MetricServer. You can pass a name and an interval (in seconds) to this agents. If you don't do that, based on current time, a hash code assigned to it and default interval is set to 2 seconds.

python3 metric_agent.py <agent_name:str> <agent_interval:int>

Metrics

CPU

  • Percentage of CPU Utilization
  • CPUs Average Frequency
  • CPU Temperature
  • CPU Fan Speed

Memory

  • Percentage of Memory Usage
  • Bytes of Memory Used

Swap

  • Percentage of Swap Usage
  • Bytes of Swap Used

Network

  • # of Packets Sent over Network
  • # of Packets Received over Network
  • # of Connections (INET connections)

Battery

  • Percentage of Battery Power

About

Final project of Computer Network course at Amirkabir University of Technology.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages