Infrastructure monitoring solution using Prometheus stack in docker compose.
Prometheus is :
The features of prometheus are:
To run prometheus ecosystem, following things are required:
In prometheus ecosystem following things are generally used:
Prometheus gathers metrics from jobs configured in prometheus configuration and stores all scraped data locally and run rules over this data to either aggregate and record new time series from existing data or generated alerts. Grafana or any other data visualization toolo
Prometheus - 9090
Grafana - 9091
cAdvisor - 9092
Pushgateway - 9093
Node Exporter - 9100
git clone https://github.com/pgaijin66/Infrastructure-Monitoring.git
If you are working on a vanilla server. you might want to run the bootstrapping script. This will check your operating system and install all the necessary libraries and packages along with docker and docker-compose.
If you have already installed docker and docker-compose you can ignore this step.
cd Infrastructure-Monitoring
sudo chmod +x Bootstrap/bootstrap.sh
sudo bash Bootstrap/bootstrap.sh
Add username and password for grafana in infra-monitoring.yml
file
- GF_SECURITY_ADMIN_USER=devops
- GF_SECURITY_ADMIN_PASSWORD=iamhappytoday
Make sure you are in directory which has infra-monitoring.yml
and run following commands.
sudo docker-compose -f infra-monitoring.yml up -d
NOTE: Make sure you have ports opened in firewall. If this monitoring is cirtical then, make sure you only allow access through VPN.
To access monitoring solutions, You can go to
http://<IP_ADDRESS_OF_SERVER>:<PORT>
To access prometheus
http://<IP_ADDRESS_OF_SERVER>:9090
To access Grafana
http://<IP_ADDRESS_OF_SERVER>:9091
To access Cadvisor
http://<IP_ADDRESS_OF_SERVER>:9092
When loggen into Grafana, Do following :
Now, to add dashboard Click Dashboard > Manage > Import . You can import json file or just write “1860“ which is the code for node exporter dashboard.
You can follow this Youtube Link if you are not sure how to add it.
https://www.youtube.com/watch?v=xvKR1rqX74M
Make sure you are in directory which has infra-monitoring.yml
and run following commands.
sudo docker-compose -f infra-monitoring.yml down