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 --version

2

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 monitoring

Task 2: Deploy Node Exporter

1

Pull Node Exporter image

docker pull prom/node-exporter:v1.9.1

2

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 ps

4

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.0

2

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

monitoring_lab_2

By Content ITV

monitoring_lab_2

  • 25