تخطَّ إلى المحتوى

Netdata - مراقبة الأداء في الوقت الفعلي

Netdata - مراقبة الأداء في الوقت الفعلي

Netdata هو وكيل مراقبة مفتوح المصدر يجمع آلاف المقاييس في الثانية مع إعدادات قريبة من الصفر ويصورها على لوحة تحكم ويب حية (منفذ افتراضي 19999). يكتشف الخدمات تلقائياً (قواعد البيانات وخوادم الويب والحاويات و Kubernetes) من خلال أكثر من 800 مجمع ويأتي مع كشف الشذوذ ومحرك التنبيهات المدمج.

التثبيت

الطريقةالأمر
البدء الشاملwget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh
متغير curlcurl https://get.netdata.cloud/kickstart.sh > /tmp/k.sh && sh /tmp/k.sh
حزمة Debian/Ubuntusudo apt install netdata
حزمة Fedora/RHELsudo dnf install netdata
Dockerdocker run -d --name=netdata -p 19999:19999 --cap-add SYS_PTRACE netdata/netdata
Helm (Kubernetes)helm install netdata netdata/netdata

بعد التثبيت، افتح http://localhost:19999 (أو عنوان IP الخادم).

إدارة الخدمة

الأمرالوصف
sudo systemctl start netdataبدء الوكيل
sudo systemctl enable netdataالبدء عند الإقلاع
sudo systemctl restart netdataإعادة تشغيل (تطبيق تغييرات الإعدادات)
sudo systemctl status netdataفحص الحالة
sudo journalctl -u netdata -fتتبع سجلات الوكيل
netdatacli reload-healthإعادة تحميل التنبيهات بدون إعادة تشغيل كاملة
netdatacli reload-labelsإعادة تحميل تسميات الوكيل
netdatacli shutdown-agentإيقاف الوكيل بشكل صحيح

الإعداد

قم دائماً بتعديل الإعدادات باستخدام غلاف edit-config — ينسخ الملف من /usr/lib/netdata/conf.d إلى /etc/netdata لذلك الترقيات لن تمحيه.

cd /etc/netdata
sudo ./edit-config netdata.conf          # إعدادات الوكيل الرئيسية
sudo ./edit-config health_alarm_notify.conf   # الإخطارات
sudo ./edit-config go.d.conf             # تفعيل/تعطيل مجمعات Go
الإعداد (في netdata.conf)الغرض
[global] update every = 1فترة التجميع بالثواني
[global] history / dbengineأحجام الاحتفاظ / طبقة قاعدة البيانات على القرص
[web] bind to = *واجهات الشبكة التي تستمع عليها لوحة التحكم
[web] default port = 19999منفذ لوحة التحكم
[plugins]تبديل مجموعات الملحقات على/إيقاف

المجمعات (الملحقات)

المهمةالطريقة
سرد ملفات الإعداد لكل مجمعcd /etc/netdata && sudo ./edit-config go.d/CONFIG.conf
تفعيل وحدة (مثل nginx)sudo ./edit-config go.d/nginx.conf ثم أشر إليها بعنوان URL الحالة
تصحيح مجمع Gosudo /usr/libexec/netdata/plugins.d/go.d.plugin -d -m nginx
الوحدات المكتشفة تلقائياً الشائعةnginx, apache, mysql, postgres, redis, docker, وحدات systemd, الأقراص, الشبكة, المستشعرات

الصحة والتنبيهات

تعريفات التنبيهات توجد في /etc/netdata/health.d/*.conf.

cd /etc/netdata
sudo ./edit-config health.d/cpu.conf     # ضبط تنبيه مدمج
netdatacli reload-health                  # تطبيق
الأمرالوصف
curl http://localhost:19999/api/v1/alarms?allسرد جميع التنبيهات والحالة الحالية (JSON)
curl http://localhost:19999/api/v1/infoمعلومات الوكيل والإصدار والمجمعات
تعديل health_alarm_notify.confتوصيل البريد الإلكتروني و Slack و PagerDuty و Discord وغيرها

نقاط نهاية API مفيدة

نقطة النهايةالعودة
/api/v1/chartsجميع الرسوم البيانية المتاحة على العقدة
/api/v1/data?chart=system.cpuبيانات السلاسل الزمنية لرسم بياني
/api/v1/allmetrics?format=prometheusاستهداف الكشط لـ Prometheus
/api/v1/badge.svg?chart=system.cpu&value_color=greenشارة الحالة القابلة للتضمين

Netdata Cloud (اختياري)

# الاتصال (المطالبة) بعقدة إلى Netdata Cloud لوحات التحكم متعددة العقد
sudo netdata-claim.sh -token=YOUR_TOKEN -rooms=ROOM_ID -url=https://app.netdata.cloud

يستمر الوكيل في العمل بالكامل بشكل مستقل إذا لم تطالب به مطلقاً — Cloud يضيف فقط طرق عرض متقاطعة وتنبيهات مركزية.

سير العمل الشائع

# فحص صحة سريع من الصدفة
curl -s http://localhost:19999/api/v1/alarms | jq '.alarms | keys'

# عرض المقاييس على مكدس Prometheus موجود
curl -s 'http://localhost:19999/api/v1/allmetrics?format=prometheus' | head

# تقليل حمل CPU/القرص على جهاز افتراضي صغير (netdata.conf)
#   [global] update every = 2
#   [db] mode = ram         # الاحتفاظ بالمقاييس في الذاكرة فقط

# تقليل الاحتفاظ لكن الحفاظ على الدقة في الثانية، ثم إعادة التحميل
sudo systemctl restart netdata

Netdata مقابل Prometheus + Grafana

الجانبNetdataPrometheus + Grafana
الإعداددقائق، اكتشاف تلقائيمصدرات يدوية + لوحات تحكم
الدقةفي الثانية بشكل افتراضيعادة كشط 15 ثانية
التخزينقاعدة بيانات محلية متعددة الطبقات (dbengine)TSDB مركزي
الأفضل لـعمق العقدة الواحدة والفحص السريعالأساطيل الكبيرة والاستعلام طويل الأجل
التشغيل البينييصدر تنسيق Prometheusيمكن كشط Netdata

الموارد