prometheus

command
v3.2.2+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 25, 2021 License: BSD-4-Clause Imports: 9 Imported by: 0

README

Prometheus in FogFlow

Intro

This section is about integrating prometheus as a component in the FogFlow system. FogFlow uses the prometheus for distributed monitroing. You can use prometheus to check CPU/Memory/Network/IO usage of each container. The API of Prometheus can be used for QoS-aware orchestration.

Basic Flow

Prometheus has "target"s and it scrape metric data from the targets. Each FogFlow component ( Edge Node, Cloud Node) would be a target for prometheus. Every time an edge worker is registered to master via RabbitMQ protocol, the master should add the address of the edge node to prometheus config file.

How to do it

There are two ways to update prometheus.yml config file.

  • Using the config file as a shared volume between master and prometheus. This method might be challenging to scale out.
  • An HTTP call to prometheus (From whoever needs it, in this case: master). Prometheus does not support this by default and we rebuild the prometheus docker image for fogflow to support the feature of "remotely updating the configuration file".

Configuration

  • The refresh_interval in the prometheus.yml indicated the frequency of looking for new targets. The default value is 10 seconds.
  • k

TODO

  • The security concern: Some way of authenticating the caller should be provisioned. For now, the use case is at proto-type level, and community can decide on the method later on with more insight.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL