Skip to content

Easily runnable example to view how yabeda metrics works in action

Notifications You must be signed in to change notification settings

yabeda-rb/example-prometheus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example of Rails, Sidekiq and Puma metrics exported to Prometheus + Grafana

This example illustrates how to use yabeda gem suite with rails application to draw graphs for app metrics.

Prerequisites

Recent versions of Docker and Docker Compose installed.

Usage

  • Execute docker-compose up to start.
  • Go to rails application at http://localhost:5000
  • Hit the button and refresh page few times
  • Go to Grafana Web UI at localhost (user: admin/admin)
  • Look for graphs
  • After starting up docker-compose will run rails-stressor service to simulate huge load for the rails app. By default will do the request for 2 minutes. Settings could be changed in docker-compose.yml config (command parameter of the rails_stressor service).

You also could run rails stressor again by executing docker-compose up rails_stressor command.

Notes

Possible errors and their solutions

Permission denied error / My grafana container is not running (Stopping after boot)

If your grafana's container is not running correctly after you run docker-compose up you're probably getting this error, if you check at docker ps -a you'll see your grana container with the status Exited, picks the id of this container and run docker logs YOUR_GRAFANA_CONTAINER_ID and check if the errors is equal to the following:

GF_PATHS_DATA='/var/lib/grafana' is not writable.
You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migration-from-a-previou
s-version-of-the-docker-container-to-5-1-or-later
mkdir: cannot create directory '/var/lib/grafana/plugins': Permission denied

Solution

Replace at your docker-compose.yml line 38 by your user's id that you will get on the following command:

id -u

Acknowledgement

The configurations are based off the following articles and repositories:

License

This example is available as open source under the terms of the MIT License.

About

Easily runnable example to view how yabeda metrics works in action

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published