Exploring Monitoring Architecture using Prometheus and Grafana
Pre-Lab Preparation
Ubuntu 22.04 EC2 Instance
Docker installed
Internet Connectivity
Security Group Ports:
3000 (Grafana)
9090 (Prometheus)
9100 (Node Exporter)
Task 1: Verify Docker Installation
1
Verify Docker
docker --version2
Verify Docker service.
sudo systemctl status docker
Task 2 : Create Monitoring Workspace
1
Create project directory.
mkdir monitoring
cd monitoring
2
Create Docker network
docker network create monitoringTask 2: Deploy Node Exporter
1
Pull Node Exporter image
docker pull prom/node-exporter:v1.9.12
Run Node Exporter
docker run -d \
--name node-exporter \
--network monitoring \
-p 9100:9100 \
--restart unless-stopped \
prom/node-exporter:v1.9.1
3
Verify container
docker ps
4
Open browser.
http://<EC2-PUBLIC-IP>:9100/metrics
Task 4 : Configure Prometheus
1
Create Prometheus directory.
mkdir prometheus
cd prometheus
2
Create configuration file.
vi prometheus.yml
Paste
global:
scrape_interval: 15s
scrape_configs:
- job_name: "node-exporter"
static_configs:
- targets:
- node-exporter:9100
Task 5 : Deploy Prometheus
1
Pull Prometheus image.
docker pull prom/prometheus:v3.5.0
2
Run Prometheus
docker run -d \
--name prometheus \
--network monitoring \
-p 9090:9090 \
-v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \
--restart unless-stopped \
prom/prometheus:v3.5.0
3
Verify container.
docker ps4
Open browser
http://<EC2-PUBLIC-IP>:9090
Navigate
Status
↓
Targets
Expected
node-exporter
UP
Task 6 : Verify Metric Collection
Search Node_cpu_seconds_total
Execute query.
Repeat for
node_memory_MemAvailable_bytes
Task 7 : Deploy Grafana
1
Pull Grafana image.
docker pull grafana/grafana:12.2.02
Run Grafana
docker run -d \
--name grafana \
--network monitoring \
-p 3000:3000 \
--restart unless-stopped \
grafana/grafana:12.2.0
3
Verify container.
docker ps
4
Open browser
http://<EC2-PUBLIC-IP>:3000
Login
Username
admin
Password
admin
Change password.
Task 8 : Configure Prometheus as Data Source
Navigate
Connections
↓
Data Sources
↓
Add Data Source
↓
Prometheus
URL
http://prometheus:9090
Click
Save & Test
Expected
Data source is working
Task 9 : Import Monitoring Dashboard
Navigate
Dashboards
↓
Import
Dashboard ID
1860
Choose
Prometheus
Click
Import
Task 10 : Verify Dashboard
Observe
CPU Usage
Memory Usage
Disk Usage
Network Usage
System Load
Task 11: Verify Complete Monitoring Workflow
Linux Server
│
Node Exporter
│
Prometheus
│
Grafana
│
Monitoring Dashboard
Great job!
You have successfully implemented the monitoring architecture for the ContentSphere platform. In this lab, you deployed Node Exporter, configured Prometheus to collect infrastructure metrics, connected Grafana to Prometheus, and visualized real-time system metrics through dashboards. This workflow demonstrates how monitoring tools work together to improve system reliability and performance.
Checkpoint