A stack of services to enable observability for your apps powered by
The stack is built via docker so it should run out of the box (it should...)
-
Clone the repo
$ git clone https://github.com/omaralsoudanii/monitoring-stack
-
Create a
.env.grafana
file similar to.env.grafana.example
-
Create a
.env.influx
file similar to.env.influx.example
-
You could use Docker Buildx as well. Read the docs first, so you don't complain about how I ruined your environment, personally I use it with the assumption that it might crash something for me some day (hopefully, which is the perfect excuse to rebuild your machine with KDE)
-
Run
$ docker-compose up --build -d
-
Verify all the 3 containers are working
$ docker ps
-
Go to Graphana Front-end http://localhost:3000
-
Add a new data source InfluxDB
-
Create dashboards, enable plugins, and telegraf output & input modules based on your needs
-
This is a simple dashboard with the default configs
Usually the way this is done is that you install InfluxDb and Grafana on 1 server, and telegraf acts as agent on other servers (the want we want to get data from), however this repo is for demonstration purpose, you can remove telegraf from the setup and install it individually (in automated fashion) on your cluster of servers.
For production it's obvious that you should change some of the configs (certs, authentication methods) and add a reverse proxy to serve the stack (I recommend HAProxy).