Prometheus + Grafana: India Monitoring Setup Guide

A practical, step-by-step guide to setting up Prometheus and Grafana for monitoring in India. Learn installation, configuration, dashboard creation, and how to instrument applications for a career-boosting DevOps skill.

LB
UnboxCareer Team
Editorial Β· Free courses curator
January 18, 20255 min read
Prometheus + Grafana: India Monitoring Setup Guide

If you're a developer or DevOps engineer in India, you've likely heard the buzzwords Prometheus and Grafana in every tech talk, from Bangalore meetups to Noida office stand-ups. These open-source tools have become the backbone of modern monitoring, replacing clunky legacy systems and giving Indian startups like Flipkart, Swiggy, and Zerodha the power to handle millions of transactions with real-time visibility. But for a student or professional setting up their first monitoring stack, the sheer number of components can be overwhelming. This guide cuts through the complexity with a practical, step-by-step setup tailored for local servers, cloud VMs, and the unique challenges of the Indian tech ecosystem.

Why Prometheus & Grafana Are Essential for Indian Tech

In a market where application downtime can mean lakhs in lost revenue and eroded customer trust, reactive troubleshooting is no longer enough. Proactive monitoring is a non-negotiable skill. Prometheus excels at collecting and storing time-series metricsβ€”like server CPU usage, application request rates, or database query latency. Grafana then transforms that raw data into stunning, actionable dashboards. Together, they form a powerful, cost-effective stack that scales from your personal project to a production microservices architecture.

For Indian engineers, mastering this stack is a direct career accelerator. Job postings from TCS, Infosys, Wipro, and product-based companies like Razorpay and Freshworks consistently list Prometheus and Grafana as key skills for DevOps and SRE roles, with salaries for these positions often ranging from β‚Ή8 LPA for freshers to β‚Ή25+ LPA for experienced professionals. Learning to implement this stack makes your resume stand out in a crowded job market.

Prerequisites for Your Local Setup

Before diving into the installation, ensure your environment is ready. This guide assumes a hands-on approach using a Linux environment, which is the standard for backend deployments in India.

  • A Linux Machine: This could be your personal laptop (using a Virtual Machine or WSL2), a college lab computer, or a low-cost cloud VM from providers like DigitalOcean, AWS EC2, or even an Indian provider like ZettaScale. An Ubuntu 22.04 LTS server is ideal for beginners.
  • Basic Command Line Comfort: You should be able to navigate directories, edit files (using nano or vim), and manage services.
  • Understanding of Ports: Know that applications run on specific ports (e.g., 9090, 3000). You'll need to configure your firewall or security groups if using a cloud VM.
  • Docker (Optional but Recommended): While we'll cover the manual installation, knowing Docker is a huge plus. Many Indian companies use containerized deployments, and running Prometheus and Grafana via Docker Compose is a common production practice.

Step-by-Step Installation Guide

Let's get the core components running on your Ubuntu server. We'll install each tool directly from their official binaries for clarity.

1. Installing & Configuring Prometheus

Prometheus will be our metrics collector and time-series database.

  1. Download and Extract: Open your terminal and run the commands below. Always check the Prometheus download page for the latest stable version.
    wget https://github.com/prometheus/prometheus/releases/download/v2.47.0/prometheus-2.47.0.linux-amd64.tar.gz
    tar xvf prometheus-2.47.0.linux-amd64.tar.gz
    cd prometheus-2.47.0.linux-amd64/
    
  2. Configure Prometheus: The main configuration file is prometheus.yml. Open it with a text editor. The default config scrapes Prometheus itself. You can add more "targets" (like your Node.js or Python app) later.
    nano prometheus.yml
    
  3. Run Prometheus: Start it directly to test. The --web.listen-address flag is useful if you need to bind to a specific IP.
    ./prometheus --config.file=prometheus.yml
    
  4. Verify: Open your browser and go to http://<YOUR_SERVER_IP>:9090. You should see the Prometheus web UI. Use the "Status" > "Targets" menu to confirm it's scraping itself (state should be UP).

2. Installing & Configuring Grafana

Grafana will provide the visualization layer.

  1. Add Grafana Repository & Install: This method ensures easy updates.
    sudo apt-get install -y software-properties-common
    sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
    wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
    sudo apt-get update
    sudo apt-get install grafana
    
  2. Start and Enable Grafana Service:
    sudo systemctl daemon-reload
    sudo systemctl start grafana-server
    sudo systemctl enable grafana-server # Starts on boot
    
  3. Verify: Navigate to http://<YOUR_SERVER_IP>:3000 in your browser. The default login is admin / admin. You will be prompted to change the password immediately.

3. Connecting Grafana to Prometheus

Now, let's make Grafana talk to your Prometheus data source.

  1. In the Grafana sidebar (the "hamburger" menu), go to Connections > Data sources.
  2. Click "Add new data source" and select Prometheus.
  3. In the HTTP URL field, enter http://localhost:9090 (if Grafana is on the same server as Prometheus). If they are on different machines, use the Prometheus server's IP.
  4. Click "Save & Test". You should see a green "Data source is working" message.

Building Your First Dashboard

With the connection established, you can create insightful dashboards. Let's start by monitoring the server itself using the Node Exporterβ€”a crucial Prometheus exporter that collects hardware and OS metrics.

  • Install Node Exporter: On the server you want to monitor, download and run it.
    wget https://github.com/prometheus/node_exporter/releases/download/v1.6.1/node_exporter-1.6.1.linux-amd64.tar.gz
    tar xvf node_exporter-1.6.1.linux-amd64.tar.gz
    cd node_exporter-1.6.1.linux-amd64/
    ./node_exporter &
    
  • Configure Prometheus to Scrape It: Edit your prometheus.yml file. Add a new job under scrape_configs:
      - job_name: 'node_exporter'
        static_configs:
          - targets: ['localhost:9100']
    
    Restart Prometheus for the changes to take effect.
  • Import a Dashboard in Grafana: The community is your best friend. Go to Dashboards > New > Import. Enter dashboard ID 1860 (a popular Node Exporter dashboard). Select your Prometheus data source and click "Import". VoilΓ ! You now have a complete server dashboard showing CPU, memory, disk I/O, and network usage.

Monitoring Real-World Indian Applications

Monitoring just the server is the beginning. To truly emulate a production environment like those at Paytm or Zomato, you need to instrument your applications.

  • For a Node.js/Express API: Use the prom-client library. Add it to your project, create a /metrics endpoint, and Prometheus can scrape it directly.
  • For a Python Django/Flask App: Libraries like prometheus-flask-exporter or django-prometheus make instrumentation straightforward.
  • For Databases: Exporters exist for almost every database. Use mysqld_exporter for MySQL or postgres_exporter for PostgreSQL to track query performance and connection pools.
  • For Blackbox Monitoring: Use the Blackbox Exporter to probe HTTP, TCP, and ICMP endpoints from outside. This is how you check if your customer-facing website is reachable from different Indian ISPs.

The key is to start small. Instrument one critical service, define a key metric (like http_request_duration_seconds for API latency), and create an alert in Grafana when it breaches a threshold (e.g., p95 latency > 500ms).

Next Steps

Your basic monitoring stack is now alive! This is a solid foundation, but the real learning begins with customization and scaling. To dive deeper, browse our curated list of free DevOps and Cloud Computing courses from platforms like NPTEL and Coursera that cover these concepts in detail. If you want to practice on a realistic cloud environment, explore our guides on setting up free-tier AWS EC2 instances to deploy this stack. Finally, to understand the architectural patterns used by top tech firms, check out our resources on system design for interviews, which often include monitoring and observability discussions.

Keep learning on UnboxCareer

Explore free courses, certificates, and career roadmaps curated for Indian students.