Skip to content

Latest commit

 

History

History
 
 

probes

TMA-Monitor Probes

This folder contains the monitoring probes to be developed to gather measurements and events and send to the TMA Monitor component.

Contents

In this folder there are demo probes that generate random data and probes that collect real data. There are the following demo probes:

  • probe-demo - this probe was developed in Java to generate random data in format of the json schema of this project;
  • probe-python-demo - this probe was developed in Python to generate random data in format of the json schema of this project;
  • probe-cs-demo - this probe was developed in C# to generate random data in format of the json schema of this project;

In this directory there are also probes that collect real data. Those probes are:

  • probe-docker-metrics - this probe collects performance metrics about containers deployed using the docker tool. It is able to collect metrics such as CPU usage and statistics about memory, network and disk storage;
  • probe-k8s-docker - this probe was developed to collect performance metrics about Docker containers deployed and managed with Kubernetes. It is able to collect metrics related to CPU usage, memory, and disk storage;
  • probe-k8s-metrics-server - this probe was developed to collect metrics about pods and nodes in a Kubernetes cluster. It is able to collect metrics of CPU usage and memory;
  • probe-k8s-network - this probe was developed to collect network metrics about pods deployed in a Kubernetes cluster. It is able to collect the rate of network packets received, transmitted and dropped by each network interface of each pod;

Prerequisites

Probes developed in Java require the software available in libraries. Probes developed in Python require the software available in dependency/probe-python-base, and probes developed in C# require the software available in dependency/probe-cs-base.

The Demo Probe, as well other probes developed in Java, include the tma-monitor/libs docker image, probes such as Probe Python Demo developed in Python include tma-monitor/python-probe-base docker image, and probes such as Probe C# Demo developed in C# include tma-monitor/cs-probe-base docker image .

Installation

To build the project of any probe, there is a script called build.sh in all probes folder. For instance, to build the Demo Probe project and respective image use the following commands.

cd probe-demo
build.sh

Running

To run probes that collects metrics from pods, you should execute the yaml files that are presented in probes respective folders. For example, to run probe-k8s-docker, you should execute the following commands:

cd probe-k8s-docker
kubectl create -f probe-k8s-docker.yaml

On the other hand, to start a probe that only runs in a Docker container, there is a script called run.sh that starts the probe docker container. For example, to run Demo Probe use the following commands:

cd probe-demo
run.sh

Authors

  • Rui Silva
  • José D'Abruzzo Pereira
  • Nuno Antunes