Skip to content

A basic Linux OS stats collection agent/Prometheus client meant to serve as code reference and/or light use. It uses the proc filesystem as a local data source.

License

Notifications You must be signed in to change notification settings

WinterSnowfall/flameglow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

flameglow

A basic Linux OS stats collection agent/Prometheus client meant to serve as code reference and/or light use. It uses the /proc filesystem as a local data source and /sys for temperature readings.

flameglow_grafana

What do I need to do to get it running on my PC?

- You will need a python3.6+ environment. Most Linux distros will come with python3 installed - make sure you pick one which comes with python 3.6 or above.

- The following python3 package needs to be installed: prometheus_client (& dependencies). I leave the details up to you. As long as they're in the PYTHONPATH, flameglow will not complain.

For Debian-based/derived distros, this should do the trick:

sudo apt-get install python3-prometheus-client

- HTTP port 8180 must be open for business (firewalls included), since the Prometheus server will need to access it in order to scrape and aggregate all the stats.

A Prometheus sever? Grafana? How the heck am I supposed to get those?

It's up to you, really - the simple way is to use docker. You can find sample prometheus config files online as reference, but in short you just need to point it to port 8180 on the host(s) flameglow is running on and it will start scraping.

What are all the various non-self-explanatory configuration options?

- network_interface_name: partial filter used to identify the network interface which will be used for collecting stats. If your interface is enp3s0 for example, then using enp will be sufficient, assuming it's the only interface which starts with enp on the system.

- host_type: can be either generic or raspberrypi. Used to determine thermal zone paths in the /sys filesystem.

- gpu_type: can be nvidia, amd or none. none will disable the gpu temperature stats submodule. Note that testing on amd has not been extensive.

Charts? Dashboards? Where, how?

I've included a sample dashboard of my very own design. Use the provided .json file (under misc) to import it from Grafana.

About

A basic Linux OS stats collection agent/Prometheus client meant to serve as code reference and/or light use. It uses the proc filesystem as a local data source.

Topics

Resources

License

Stars

Watchers

Forks

Languages