−25%

على الدفع السنوي لـ Windows حتى 31 أكتوبر. عرض الخطط

EQVPS

VPS لمراقبة الخوادم بـ Grafana وPrometheus

اجمع مقاييس المعالج والذاكرة والقرص والخدمات من كل خوادمك في مكان واحد: ‏Prometheus وnode_exporter وGrafana على VPS، خلف HTTPS.

«الخادم بطيء» بلاغ عطل عديم الفائدة، إلا إن استطعت فتح رسم بياني وترى أن الذاكرة ظلّت ترتفع ثلاثة أيام قبل الانهيار. هذا ما يمنحك إياه Prometheus وGrafana: المعالج والذاكرة والقرص والشبكة لكل خادم، مسجّلة كل 15 ثانية ومرسومة كمخططات يمكنك التمرير عبرها إلى الوراء. ضعهما على VPS صغير خاص بهما وسيواصلان المراقبة حتى حين يسقط جهاز الإنتاج.

الأجزاء

ما تحتاجه

1. ‏node_exporter على كل هدف

apt install -y prometheus-node-exporter
# allow only the monitoring server to scrape it
ufw allow from 203.0.113.10 to any port 9100 proto tcp

استبدل 203.0.113.10 بعنوان VPS المراقبة. لا تترك المنفذ 9100 مفتوحًا للعالم أبدًا، فهو يكشف الكثير عن خادمك.

2. ‏Prometheus وGrafana على VPS المراقبة

apt update && apt install -y docker.io docker-compose-v2 caddy
mkdir -p /opt/monitoring && cd /opt/monitoring

cat > prometheus.yml <<'EOF'
global:
  scrape_interval: 15s
scrape_configs:
  - job_name: nodes
    static_configs:
      - targets: ['198.51.100.21:9100', '198.51.100.22:9100']
EOF

cat > compose.yml <<'EOF'
services:
  prometheus:
    image: prom/prometheus
    volumes: [ "./prometheus.yml:/etc/prometheus/prometheus.yml:ro", "prom:/prometheus" ]
    command: [ "--config.file=/etc/prometheus/prometheus.yml", "--storage.tsdb.retention.time=15d", "--web.enable-remote-write-receiver" ]
    ports: [ "127.0.0.1:9090:9090" ]
    restart: unless-stopped
  grafana:
    image: grafana/grafana
    volumes: [ "grafana:/var/lib/grafana" ]
    ports: [ "127.0.0.1:3000:3000" ]
    restart: unless-stopped
volumes: { prom: {}, grafana: {} }
EOF

docker compose up -d

‏HTTPS أمام Grafana:

echo 'grafana.example.com {
    reverse_proxy 127.0.0.1:3000
}' > /etc/caddy/Caddyfile && systemctl reload caddy

سجّل الدخول (admin / admin، ثم غيّرها)، وأضف Prometheus كمصدر بيانات على http://prometheus:9090، واستورد لوحة المجتمع «Node Exporter Full» ‏(ID 1860). تحصل على لوحة نظام كاملة في نحو دقيقة.

خوادم على خطط NAT

خادم NAT لا يقبل اتصالات واردة إلا على منفذ SSH الشخصي الخاص به، لذا لا يستطيع Prometheus سحب مقاييس المُصدِّر عليه. اعكس الاتجاه: شغّل Prometheus في وضع agent على جهاز NAT وادفع إلى خادم المراقبة، الذي يقبل الكتابة عن بُعد أصلًا (الخيار --web.enable-remote-write-receiver أعلاه).

# /etc/prometheus/agent.yml on the NAT server
scrape_configs:
  - job_name: self
    static_configs: [ { targets: ['127.0.0.1:9100'] } ]
remote_write:
  - url: https://prom-push.example.com/api/v1/write

اعرض نقطة الدفع هذه عبر Caddy مع مصادقة أساسية (basic auth) بدل فتح المنفذ 9090 مكشوفًا.

ملاحظات بصراحة

‏Prometheus يسحب؛ وهذا رائع لأسطول تتحكم فيه، ومزعج لأي شيء خلف NAT، ومن هنا حيلة وضع agent. تخزينه المحلي ليس مصمّمًا لسنوات من السجل؛ للاحتفاظ الطويل ستضيف مخزنًا بعيدًا لاحقًا. ولوحات التحكم نصف القيمة فقط: اضبط ثلاثة تنبيهات على الأقل من اليوم الأول (القرص فوق 85%، ضغط الذاكرة، هدف متوقف)، وإلا فلن تنظر إلى الرسوم البيانية إلا بعد أن يكون شيء قد تعطّل بالفعل.

ذو صلة

جاهز للنشر؟ ادفع بالعملات المشفّرة، بلا KYC — يعمل في نحو دقيقة.

← انشر الآن

الأسئلة الشائعة

ما الفرق بين هذا وUptime Kuma؟

يجيب Uptime Kuma عن سؤال «هل هو يعمل؟». أما Prometheus وGrafana فيجيبان عن «لماذا هو بطيء، ومتى بدأ ذلك؟»: مقاييس المعالج والذاكرة والقرص والشبكة والتطبيقات عبر الزمن. كثيرون يشغّلون الاثنين: ‏Kuma لتنبيهات الانقطاع، وGrafana للاتجاهات وتخطيط السعة.

كم مساحة قرص يستهلك Prometheus؟

نحو 1–2 بايت لكل عيّنة بعد الضغط. عشرة خوادم يصدّر كل منها ألف سلسلة، تُجمع كل 15 ثانية، تعطي نحو 60 مليون عيّنة يوميًا، أي في حدود 100 MB. ومع مدة الاحتفاظ الافتراضية البالغة 15 يومًا يصبح ذلك بضعة غيغابايتات.

هل يمكنني مراقبة خوادم على خطط NAT؟

نعم، لكن ليس بالسحب: خادم NAT لا يقبل اتصالات واردة إلى المُصدِّر الخاص به. شغّل Prometheus في وضع agent على جهاز NAT وادفع المقاييس إلى خادم المراقبة عبر remote_write. أما خادم المراقبة نفسه فيجب أن يكون على خطة بعنوان IP مخصّص.

أي خطة يجب أن يكون عليها خادم المراقبة؟

‏Micro-IP (2 GB RAM، ‏10$ شهريًا) تتعامل مع عشرة إلى عشرين جهازًا بأريحية. إن أضفت مقاييس تطبيقات عالية التعدد أو احتفظت ببيانات أشهر، انتقل إلى Small-IP. العنوان المخصّص يمنحك HTTPS لـ Grafana وعنوانًا ثابتًا تضيفه إلى قوائم السماح على أهدافك.

هل يجب أن يكون خادم المراقبة منفصلًا عمّا يراقبه؟

نعم. إن كان Grafana يعمل على الخادم الذي نفدت ذاكرته للتو، فستفقد رؤيتك للمشكلة في اللحظة التي تحتاجها فيها. ‏VPS صغير منفصل يواصل العمل حين يتعطّل جهاز الإنتاج.

التعليقات

لا تعليقات بعد. كن الأول.

اترك تعليقًا

تُراجَع التعليقات قبل ظهورها.