رفتن به محتوا
بازگشت به وبلاگ
پایش

ساخت استک پایش شبکه با Grafana + Prometheus

استقرار استک کامل مشاهده‌پذیری با Prometheus برای جمع‌آوری متریک و Grafana برای تجسم KPI‌های شبکه.

اردیبهشت ۱۴۰۴
۱۶ دقیقه مطالعه

استک پایش شبکه: Prometheus + Grafana

این راهنما یک استک مشاهده‌پذیری کامل برای زیرساخت شبکه با استفاده از Docker Compose استقرار می‌دهد.

Docker Compose Stack

YAML
version: '3.8'
services:
  prometheus:
    image: prom/prometheus:latest
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - prometheus-data:/prometheus
    command:
      - '--storage.tsdb.retention.time=90d'
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana:latest
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=SecurePass123
    ports:
      - "3000:3000"

  snmp-exporter:
    image: prom/snmp-exporter:latest
    ports:
      - "9116:9116"

پرس‌وجوهای مفید PromQL

PROMQL
# درصد استفاده از پهنای باند
rate(ifHCInOctets{ifAlias!=""}[5m]) * 8 / ifHighSpeed * 100

# ۵ بزرگترین مصرف‌کننده
topk(5, rate(ifHCInOctets[5m]) * 8)

# نرخ خطای رابط
rate(ifInErrors[5m]) > 0

هشداردهی با Alertmanager

YAML
groups:
  - name: network
    rules:
      - alert: InterfaceDown
        expr: ifOperStatus == 2
        for: 2m
        labels:
          severity: critical
        annotations:
          summary: "رابط {{ $labels.ifAlias }} خاموش است"