ہماری Performance & Scalability سیریز کا حصہ
مکمل گائیڈ پڑھیںپروڈکشن مانیٹرنگ اور الرٹنگ: مکمل سیٹ اپ گائیڈ
اوسط پیداواری واقعے کی لاگت $5,600 فی منٹ ڈاؤن ٹائم ہے۔ بالغ مانیٹرنگ والی کمپنیاں 5 منٹ سے کم وقت میں مسائل کا پتہ لگاتی ہیں، جب کہ وہ کمپنیاں جن کی نگرانی نہیں کی جاتی ہے ان کا پتہ لگانے میں اوسطاً 197 منٹ لگتے ہیں --- ایک معمولی جھٹکا اور گاہک کو کھونے والی تباہی کے درمیان فرق۔
اس گائیڈ میں اختتام سے آخر تک پیداوار کی نگرانی کے سیٹ اپ کا احاطہ کیا گیا ہے: کیا پیمائش کرنی ہے، اسے کیسے جمع کرنا ہے، اسے کہاں تصور کرنا ہے، اور کب الرٹ کرنا ہے۔
اہم ٹیک ویز
- مشاہدے کے تین ستون (میٹرکس، لاگز، ٹریس) مختلف مقاصد کو پورا کرتے ہیں اور تینوں ضروری ہیں
- علامات (خرابی کی شرح، تاخیر) کے بارے میں انتباہ (سی پی یو کا استعمال) شور کو 80 فیصد کم کرنے کا سبب نہیں بنتا
- ہر انتباہ کے ساتھ منسلک رن بُکس واقعات کے مستقل ردعمل کو یقینی بناتی ہیں قطع نظر اس کے کہ کون کال پر ہے۔
- 5 ضروری انتباہات کے ساتھ شروع کریں اور صرف اس وقت پھیلائیں جب آپ بنیادی لائن کو سمجھیں۔
مشاہدے کے تین ستون
میٹرکس
وقت کے ساتھ نمونے کی عددی پیمائش۔ میٹرکس کا جواب "ابھی کیا ہو رہا ہے؟"
درخواست کی پیمائش:
- درخواست کی شرح (فی سیکنڈ درخواستیں)
- خرابی کی شرح (5xx جوابات فی سیکنڈ)
- تاخیر کی تقسیم (P50, P95, P99)
- ایکٹو سیشنز / سمورتی صارفین
انفراسٹرکچر میٹرکس:
- فی خدمت CPU استعمال
- میموری کا استعمال اور کوڑا کرکٹ جمع کرنا
- ڈسک I/O اور دستیاب جگہ
- نیٹ ورک تھرو پٹ
کاروباری میٹرکس:
- آرڈرز فی منٹ
- کارٹ ترک کرنے کی شرح
- Revenue per hour
- اختتامی نقطہ کے ذریعہ API کالز
لاگز
ٹائم اسٹیمپڈ، مجرد واقعات کے منظم ریکارڈ۔ لاگز جواب دیتے ہیں "یہ کیوں ہوا؟"
{
"timestamp": "2026-03-16T14:32:01.234Z",
"level": "error",
"service": "api",
"requestId": "req_abc123",
"userId": "usr_456",
"message": "Payment processing failed",
"error": "Stripe API timeout after 30000ms",
"endpoint": "POST /billing/checkout",
"duration": 30142
}
بہترین طریقوں کو لاگ کریں:
- منظم JSON لاگنگ کا استعمال کریں، سادہ متن نہیں۔
- تمام سروسز میں ارتباطی IDs (
requestId) شامل کریں۔ - مناسب سطحوں پر لاگ ان کریں (ناکامی کے لیے ERROR، تنزلی کے لیے انتباہ، اہم واقعات کے لیے INFO)
- کبھی بھی حساس ڈیٹا (پاس ورڈز، ٹوکنز، مکمل کریڈٹ کارڈ نمبر) کو لاگ ان نہ کریں۔
نشانات
تقسیم شدہ نظاموں کے ذریعے اختتام سے آخر تک درخواست کے راستے۔ نشانات جواب دیتے ہیں "آڑ کہاں ہے؟"
ای کامرس چیک آؤٹ کے لیے ایک صارف کی درخواست چھو سکتی ہے:
- Nginx (2ms) سے Next.js فرنٹ اینڈ (50ms) سے NestJS API (120ms) سے PostgreSQL (45ms) سے اسٹرائپ API (800ms) سے ای میل سروس (200ms)
ٹریس کیے بغیر، آپ دیکھیں گے کہ "چیک آؤٹ میں 1.2 سیکنڈ لگتے ہیں۔" ٹریسنگ کے ساتھ، آپ دیکھتے ہیں کہ "Stripe API کا 67% چیک آؤٹ لیٹینسی ہے۔"
مانیٹرنگ اسٹیک سیٹ اپ
Prometheus + Grafana (خود میزبان)
# docker-compose.monitoring.yml
services:
prometheus:
image: prom/prometheus:v2.50.0
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus-data:/prometheus
ports:
- "9090:9090"
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.retention.time=30d'
- '--web.enable-lifecycle'
grafana:
image: grafana/grafana:10.3.0
volumes:
- grafana-data:/var/lib/grafana
ports:
- "3030:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
- GF_USERS_ALLOW_SIGN_UP=false
loki:
image: grafana/loki:2.9.0
volumes:
- loki-data:/loki
ports:
- "3100:3100"
alertmanager:
image: prom/alertmanager:v0.27.0
volumes:
- ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
ports:
- "9093:9093"
volumes:
prometheus-data:
grafana-data:
loki-data:
پرومیتھیس کنفیگریشن
# prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
- "alerts/*.yml"
alerting:
alertmanagers:
- static_configs:
- targets: ["alertmanager:9093"]
scrape_configs:
- job_name: "api"
metrics_path: /metrics
static_configs:
- targets: ["api:3001"]
- job_name: "node-exporter"
static_configs:
- targets: ["node-exporter:9100"]
- job_name: "postgres"
static_configs:
- targets: ["postgres-exporter:9187"]
- job_name: "redis"
static_configs:
- targets: ["redis-exporter:9121"]
NestJS ایپلیکیشن میٹرکس
پرومیتھیس میٹرکس کو بے نقاب کرنا
// metrics.module.ts
import { Module } from '@nestjs/common';
import { PrometheusModule } from '@willsoto/nestjs-prometheus';
import {
makeCounterProvider,
makeHistogramProvider,
makeGaugeProvider,
} from '@willsoto/nestjs-prometheus';
@Module({
imports: [
PrometheusModule.register({
path: '/metrics',
defaultMetrics: { enabled: true },
}),
],
providers: [
makeCounterProvider({
name: 'http_requests_total',
help: 'Total HTTP requests',
labelNames: ['method', 'path', 'status'],
}),
makeHistogramProvider({
name: 'http_request_duration_seconds',
help: 'HTTP request duration in seconds',
labelNames: ['method', 'path'],
buckets: [0.01, 0.05, 0.1, 0.25, 0.5, 1, 2.5, 5, 10],
}),
makeGaugeProvider({
name: 'active_connections',
help: 'Number of active connections',
}),
],
exports: [PrometheusModule],
})
export class MetricsModule {}
الرٹ کنفیگریشن
پانچ ضروری انتباہات
ہر پیداواری نظام کو پہلے دن سے ان انتباہات کی ضرورت ہے:
# alerts/essential.yml
groups:
- name: essential
rules:
- alert: ServiceDown
expr: up == 0
for: 1m
labels:
severity: critical
annotations:
summary: "Service {{ $labels.job }} is down"
runbook: "https://wiki.example.com/runbooks/service-down"
- alert: HighErrorRate
expr: |
rate(http_requests_total{status=~"5.."}[5m])
/ rate(http_requests_total[5m]) > 0.01
for: 5m
labels:
severity: critical
annotations:
summary: "Error rate above 1% for 5 minutes"
runbook: "https://wiki.example.com/runbooks/high-error-rate"
- alert: HighLatency
expr: |
histogram_quantile(0.95,
rate(http_request_duration_seconds_bucket[5m])
) > 2
for: 5m
labels:
severity: warning
annotations:
summary: "P95 latency above 2 seconds"
- alert: DiskSpaceLow
expr: |
node_filesystem_avail_bytes{mountpoint="/"}
/ node_filesystem_size_bytes{mountpoint="/"} < 0.2
for: 10m
labels:
severity: warning
annotations:
summary: "Disk space below 20% on {{ $labels.instance }}"
- alert: SSLCertExpiringSoon
expr: |
probe_ssl_earliest_cert_expiry - time() < 14 * 24 * 3600
labels:
severity: warning
annotations:
summary: "SSL certificate expires within 14 days"
الرٹ روٹنگ
# alertmanager.yml
global:
slack_api_url: "${SLACK_WEBHOOK_URL}"
route:
group_by: ['alertname', 'severity']
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
receiver: 'default'
routes:
- match:
severity: critical
receiver: 'pagerduty'
repeat_interval: 15m
- match:
severity: warning
receiver: 'slack'
receivers:
- name: 'default'
slack_configs:
- channel: '#alerts'
title: '{{ .GroupLabels.alertname }}'
text: '{{ .CommonAnnotations.summary }}'
- name: 'pagerduty'
pagerduty_configs:
- routing_key: "${PAGERDUTY_KEY}"
severity: '{{ .GroupLabels.severity }}'
- name: 'slack'
slack_configs:
- channel: '#alerts-warnings'
title: '{{ .GroupLabels.alertname }}'
الرٹ کوالٹی رولز
| مشق | کیوں |
|---|---|
| علامات پر الرٹ، وجوہات نہیں | "خرابی کی شرح زیادہ" قابل عمل ہے۔ "80% پر CPU" نہیں ہوسکتا ہے |
| ہر الرٹ کی ایک رن بک ہوتی ہے۔ آن کال انجینئرز کو صبح 3 بجے سوچنے کی ضرورت نہیں ہونی چاہئے | |
| انتباہات قابل عمل ہونے چاہئیں | اگر کوئی اس پر عمل نہیں کر سکتا تو یہ شور ہے، خبردار نہیں |
| 2 ہفتوں کے بعد دہلیز کو ٹیون کریں | ابتدائی حدیں اندازے ہیں؛ بیس لائنز کی بنیاد پر ایڈجسٹ کریں |
| الرٹ تھکاوٹ کا ماہانہ جائزہ لیں | اگر انتباہات بغیر کارروائی کے روزانہ فائر ہوتے ہیں، تو حدیں بڑھائیں یا انہیں ہٹا دیں۔ |
گرافانا ڈیش بورڈز
ڈیش بورڈ کا درجہ بندی
- ڈیش بورڈ کا جائزہ: تمام خدمات میں اعلیٰ سطحی صحت۔ یہ پہلی اسکرین ہے جسے کوئی بھی کسی واقعے کے دوران دیکھتا ہے۔
- سروس ڈیش بورڈز: ہر سروس کے لیے تفصیلی میٹرکس (API، ویب، ورکرز)۔
- انفراسٹرکچر ڈیش بورڈز: نوڈ لیول میٹرکس (CPU، میموری، ڈسک، نیٹ ورک)۔
- کاروباری ڈیش بورڈز: آمدنی، آرڈرز، صارف کی سرگرمی۔
سروس ڈیش بورڈز کے لیے RED طریقہ
ہر خدمت کے لیے، ڈسپلے کریں:
- Rate: درخواستیں فی سیکنڈ
- Errors: غلطی کی شرح فیصد کے طور پر
- Duration: تاخیر کی تقسیم (P50, P95, P99)
یہ علمی اوورلوڈ کے بغیر سروس ہیلتھ میں فوری مرئیت فراہم کرتا ہے۔
سنٹری کے ساتھ ٹریکنگ میں ایرر
// sentry.config.ts
import * as Sentry from '@sentry/nestjs';
Sentry.init({
dsn: process.env.SENTRY_DSN,
environment: process.env.NODE_ENV,
tracesSampleRate: 0.1,
profilesSampleRate: 0.1,
integrations: [
Sentry.postgresIntegration(),
],
beforeSend(event) {
// Strip sensitive data
if (event.request?.headers) {
delete event.request.headers['authorization'];
delete event.request.headers['cookie'];
}
return event;
},
});
سنتری فراہم کرتا ہے:
- خودکار غلطی کی گروپ بندی اور ڈپلیکیشن
- ماخذ کے نقشوں کے ساتھ نشانات کو اسٹیک کریں۔
- ریلیز ٹریکنگ (جس کی تعیناتی نے غلطی کو متعارف کرایا)
- کارکردگی کی نگرانی (لین دین کے نشانات)
اکثر پوچھے گئے سوالات
مانیٹرنگ اسٹیک کی قیمت کتنی ہے؟
خود میزبان (Prometheus + Grafana + Loki): میزبانی کے وسائل کے لیے تقریباً $50-100/ماہ۔ انتظام کردہ متبادل: ڈیٹا ڈاگ بنیادی ڈھانچے کے لیے $15/میزبان/ماہ سے شروع ہوتا ہے، اور لاگ کے لیے $0.10/GB۔ ٹیم پلان کے لیے سینٹری کلاؤڈ $26/ماہ ہے۔ چھوٹے کاروبار کے لیے ایک معقول ابتدائی بجٹ $100-200/ماہ کل ہے۔
نگرانی اور مشاہدے میں کیا فرق ہے؟
نگرانی آپ کو بتاتی ہے جب کچھ غلط ہوتا ہے۔ مشاہدہ آپ کو بتاتا ہے کہ کیوں۔ نگرانی پہلے سے طے شدہ ڈیش بورڈز اور معلوم ناکامی کے طریقوں کے لیے الرٹس کے بارے میں ہے۔ مشاہداتی صلاحیت میٹرکس، لاگز اور ٹریس کا استعمال کرتے ہوئے آپ کے سسٹم کے رویے کے بارے میں صوابدیدی سوالات پوچھنے کی صلاحیت کے بارے میں ہے۔ آپ کو دونوں کی ضرورت ہے، لیکن نگرانی بنیاد ہے.
ہم الرٹ تھکاوٹ سے کیسے بچیں؟
تین اصول: (1) ہر انتباہ کو انسانی عمل کی ضرورت ہوتی ہے، (2) نظریاتی نظریات کی بجائے حقیقی بنیادی خطوط پر مبنی حدیں مقرر کریں، (3) ماہانہ انتباہات کا جائزہ لیں اور ٹیون کریں۔ اگر کوئی الرٹ بغیر کارروائی کی ضرورت کے فی ہفتہ ایک سے زیادہ بار فائر کرتا ہے، یا تو بنیادی مسئلہ کو ٹھیک کریں یا حد کو بڑھا دیں۔ انتباہی تھکاوٹ میں مبتلا ٹیمیں تمام انتباہات کو نظر انداز کر دیتی ہیں، بشمول نازک۔
کیا ہمیں اپنے ERP سسٹم کو مختلف طریقے سے مانیٹر کرنا چاہیے؟
ERP سسٹمز کی نگرانی کے منفرد تقاضے ہوتے ہیں۔ معیاری ویب میٹرکس سے آگے، مانیٹر: ڈیٹا بیس کنکشن پول کا استعمال، بیک گراؤنڈ جاب کی قطار کی گہرائی، انضمام کی مطابقت پذیری کی حیثیت (Shopify، ادائیگی کے گیٹ ویز)، مقررہ رپورٹ پر عمل درآمد کا وقت، اور ماڈیول کے ذریعہ صارف کے سیشن کی گنتی۔ ECOSIRE ہمارے سپورٹ پیکجز کے حصے کے طور پر منظم Odoo مانیٹرنگ فراہم کرتا ہے۔
آگے کیا آتا ہے۔
نگرانی آپ کے پروڈکشن انفراسٹرکچر کی آنکھیں اور کان ہے۔ تعیناتی کے اعتماد کے لیے اسے CI/CD آٹومیشن اور لچک کے لیے ڈیزاسٹر ریکوری پلاننگ کے ساتھ جوڑیں۔ ایک جامع DevOps روڈ میپ کے لیے، ہماری DevOps گائیڈ برائے چھوٹے کاروبار دیکھیں۔
ECOSIRE سے رابطہ کریں سیٹ اپ اور منظم انفراسٹرکچر سروسز کی نگرانی کے لیے۔
ECOSIRE کے ذریعہ شائع کیا گیا -- کاروباروں کو یہ دیکھنے میں مدد کرنا کہ پیداوار میں کیا اہمیت ہے۔
تحریر
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
ECOSIRE کے ساتھ اپنا کاروبار بڑھائیں
ERP، ای کامرس، AI، تجزیات، اور آٹومیشن میں انٹرپرائز حل۔
متعلقہ مضامین
ویب ہُک ڈیبگنگ اور مانیٹرنگ: مکمل ٹربل شوٹنگ گائیڈ
اس مکمل گائیڈ کے ساتھ ماسٹر ویب ہک ڈیبگنگ جس میں ناکامی کے نمونوں، ڈیبگنگ ٹولز، دوبارہ کوشش کرنے کی حکمت عملی، ڈیش بورڈز کی نگرانی، اور سیکیورٹی کے بہترین طریقوں کا احاطہ کیا گیا ہے۔
GitHub Actions CI/CD for Monorepo Projects
Complete GitHub Actions CI/CD guide for Turborepo monorepos: affected-only builds, parallel jobs, caching strategies, environment-based deploys, and security best practices.
Testing and Monitoring AI Agents in Production
A complete guide to testing and monitoring AI agents in production environments. Covers evaluation frameworks, observability, drift detection, and incident response for OpenClaw deployments.
Performance & Scalability سے مزید
ویب ہُک ڈیبگنگ اور مانیٹرنگ: مکمل ٹربل شوٹنگ گائیڈ
اس مکمل گائیڈ کے ساتھ ماسٹر ویب ہک ڈیبگنگ جس میں ناکامی کے نمونوں، ڈیبگنگ ٹولز، دوبارہ کوشش کرنے کی حکمت عملی، ڈیش بورڈز کی نگرانی، اور سیکیورٹی کے بہترین طریقوں کا احاطہ کیا گیا ہے۔
k6 Load Testing: Stress-Test Your APIs Before Launch
Master k6 load testing for Node.js APIs. Covers virtual user ramp-ups, thresholds, scenarios, HTTP/2, WebSocket testing, Grafana dashboards, and CI integration patterns.
Nginx Production Configuration: SSL, Caching, and Security
Nginx production configuration guide: SSL termination, HTTP/2, caching headers, security headers, rate limiting, reverse proxy setup, and Cloudflare integration patterns.
Odoo Performance Tuning: PostgreSQL and Server Optimization
Expert guide to Odoo 19 performance tuning. Covers PostgreSQL configuration, indexing, query optimization, Nginx caching, and server sizing for enterprise deployments.
Odoo vs Acumatica: Cloud ERP for Growing Businesses
Odoo vs Acumatica compared for 2026: unique pricing models, scalability, manufacturing depth, and which cloud ERP fits your growth trajectory.
Testing and Monitoring AI Agents in Production
A complete guide to testing and monitoring AI agents in production environments. Covers evaluation frameworks, observability, drift detection, and incident response for OpenClaw deployments.