مدونة الرووت جريس

مختصة بإدارة أنظمة لينكس\يونكس، الحوسبة السحابية والإنظمة التخيلية

تركيب MRTG لمراقبة باندويدث الشبكة

MRTG

راح أستعرض في التدوينة هذي كيفية مراقبة ترافيك الشبكة عن طريق الأداة MRTG، التسلسل بيكون حسب النقاط هذي:

- مقدمة عن MRTG.

- التثبيت على لينكس ويونكس FreeBSD.

- التشغيل.

- إضافتها إلى Cron لتشتغل تلقائياً كل 5 دقائق.

- بدائل لـ MRTG.

- نقاط مهمة.

- مقدمة عن MRTG:-

الأداة MRTG -أم أر تي جي- تعتبر من أشهر الأدوات لمراقبة وعرض رسم بياني يحتوي لباندويديث الشبكة ، سوا تحميل من الشبكة -يعني من الخارج للداخل، على سبيل المثال معدل تحميل كتاب من موقعك-، أو التحمل لخارج الشبكة يعني – Upload اللي هي أو رفع الملفات إلى مواقع النت-.

وتستخدم على نطاق واسع في الشركة المزودة لخدمة الإنترنت والبيانات -ISPs, DSPs- أو الشركات والقطاعات اللي تحتاج تعرف كم حجم أستهلاك الشبكة الخاصة فيها بوقت معين، والوقت المعين مقصدي فيه: شهري، يومي، أسبوعي أو سنوي.

يمكن احد يسأل “كيف MRTG تقدر تراقب الترافيك، كيف تشتغل؟”

MRTG تعتمد أعتماد كلي على بروتوكول SNMP -أس إن أم بي-، وهو إختصار لـ Simple Network Management Protocol، والبرتوكول هذا اغلب أستخداماته لمراقبة ومعرفة معلومات و اداء أجهزة الشبكة الخاصة فيك، والفكرة هذي هي اللي يعتمد عليها برنامجنا MRTG، حيق إنها تقراء الترافيك على كل Interface موجودة على جهاز الشبكة، حتى لو كانت virtual interface.

طيب كيف تعرض الرسوم البيانية؟

MRTG بعد ما تسحب المعلومات من الإنترفيسز الموجودة على جهاز الشبكة -على سبيل المثال سويتش، رواتر أو جدار ناري Firewall-، تقوم بتحليلها ورسمها بيانياً، ثم تعرضها عن طريق سيرفر ويب، والرسم البياني يتحدث -بشكل أفتراضي كل خمس دقائق-.

طبعاً، هل أحتاج أقول إنها مصدر مفتوح؟ بالتاكيد لا، لأن هذا مسار مدونتي، فقط مصادر حرة و مفتوحة، إلا في حالات نادرة :-).

- التثبيت:

فكرة التثبيت سهلة،  أهم شيء يكون عندك ويب سيرفر -أباتشي أو لايتي Apache, Lighttpd- مثلاً  مثبت وشغال على سيرفرك، وبالموضوع هذا راح أفترض إن سيرفر الويب اللي أبشتغل عليه هو أباتشي.

إذا ما كنت مركب سيرفر ويب، هنا طريقة تركيب سيرفر الويب لأنظمة لينكس ريدهات\فيدورا\سنتوس و يونكس FreeBSD:

لينكس ريدهات\فيدورا\سنتوس:

أباتشي Apache:

yum -y install httpd

لايتي Lighttpd:

yum -y install lighttpd

*مستخدمي سنتوس: إحتمال ضئيل إن لايتي ما يتثبت معكم عن طريق YUM، لانه أخر تجربة لي مع سنتوس ما كان مضاف إلى مستودعات سنتوس Repositories.

يونكس FreeBSD:

أباتشي Apache:

cd /usr/ports/www/apache22 && make install clean

لايتي Lighttpd:

cd /usr/ports/www/lighttpd && make install clean

ثبتنا الويب سيرفر، الحين نثبت MRTG:

لينكس ريدهات\فيدورا\سنتوس:

yum -y install mrtg

يونكس FreeBSD:

cd /usr/ports/net-mgmt/mrtg && make install clean

- التشغيل:-

قبل التشغيل، نحتاج متطلب أساسي مهم، وهو جهاز شبكة -سويتش، راوتر، جدار ناري Firewall- مفعل عليه برتوكول SNMP، وبالتأكيد عشان تفعل بروتوكول SNMP في جهاز الشبكة، تحتاج إنك تعطيه باسوورد -اللي هي كوميونتي باسوورد Community Password-، راح نفترض إن الباسوورد هي 1234.

أبفترض إن عندي سويتش، ومفعل عليه SNMP، والأي بي IP الخاص فيه هو 192.168.77.2، يعني خلاص السويتش جاهز لسحب معلوماته وعرضها عن طريق MRTG.

خلاص، كل شيء جاهز، الحين نبدأ بتشغيل MRTG.

أربع خطوات أساسية عشان تشغل MRTG، الخطوة الأولى:

1- إنشاء مجلد تحت الويب سيرفر لأجل يحتوي على الرسم البياني المنتج من قبل MRTG:

لينكس ريدهات\فيدورا\سنتوس:

mkdir /var/www/html/mrtg

يونكس FreeBSD:

mkdir /usr/local/www/data/mrtg

2- إنشاء ملف يحتوي على معلومات السويتش اللي راح نراقب الترافيك الخاص فيه، وهذي تتم بالطريقة هذي:

لينكس ريدهات\فيدورا\سنتوس:

cfgmaker --global Workdir:/var/www/html/mrtg/  1234@192.168.77.2 > /etc/mrtg/mrtg/cfg

يونكس FreeBSD:

cfgmaker --global Workdir:/usr/local/www/data/mrtg/ 1234@192.168.77.2 > /usr/local/etc/mrtg/mrtg.cfg

الشرح:

cfgmaker: أمر إنشاء ملف يحتوى على الإعدادت ومعلومات الخاصة بالسويتش، زي معلومات الإنترفيسز و البورتات ( مأعرف الأسم بالعربي :-)).

–global Workdir: خيار تحديد المجلد اللي راح يحتوي على الرسوم البيانية لـ MRTG، ومثل ما إنتم شايفين، أعطيناه أمتداد مجلد الويب اللي تم إنشائه بالخطوة 1.

1234: الباسوورد المعرفة  في جهاز الشبكة -الكوميونيتي باسوورد-، وفي حالتي الباسوورد المعرفة على السويتش.

192.168.77.2: أي بي جهاز الشبكة، وفي حالتي راح يكون أي بي السويتش.

<: أمرأو دالة  تحويل مخرجات الأمر cfgmaker إلى الملف mrtg.cfg.

3- إنشاء ملف Index.html يحتوي على رسوم بيانية مستخرجة من المعلومات الموجودة في الملف mrtg.cfg:

نحتاج نسوي الخطوة هذي عشان نعرض المعلومات اللي جمعناها عن طريق الأمر cfgmaker إلى رسوم بيانية لأجل تنعرض على الويب سيرفر. وكذا بتكون:

لينكس ريدهات\فيدورا\سنتوس:

indexmaker  --output=/var/www/html/mrtg/index.html /etc/mrtg/mrtg.cfg

يونكس FreeBSD:

indexmaker  --output=/usr/local/www/data/mrtg/index.html /usr/local/etc/mrtg/mrtg.cfg

الشرح:

indexmaker: أمر إنشاء ملف الإنديكس.

–output: إمتداد ملف الإنديكس.

/usr/local/etc/mrtg/mrtg.cfg: أمتداد ملف الإعدادت الخاصة بـ MRTG.

4- تقريباً خلصنا، الحين باقي التشغيل، أسهل خطوة:

لينكس ريدهات\فيدورا\سنتوس:

mrtg /etc/mrtg/mrtg.cfg

يونكس FreeBSD:

mrtg /usr/loca/etc/mrtg/mrtg.cfg

وبس!

مبروك عليك MRTG :-).

الحين روح وتصفح الويب سيرفر الخاص فيك عن طريق أي مستعرض إنترنت -فايرفوكس على سبيل المثال-، وراح تلاقي الترافيك مرسوم بشكل بياني.

نفترض إن أي بي السيرفر هو 192.168.77.3، تقدر تتصفحه عن طريق الرابط هذا:

http://192.168.77.3/mrtg/index.html

- إضافتها إلى Cron لتشتغل تلقائياً كل 5 دقائق:

طبعاً، عشان الرسم البياني يتحدث معك كل خمس دقائق، يعني MRTG يروح لجهاز الشبكة ويقراء الترافيك منه، لازم إنك تجعل MRTG تتحدث تلقائياً، وهذي تتم عن طريق Cron – مسوؤل تشغيل المهام تلقائياً في لينكس ويونكس Tasks Scheduler-، بالطريقة هذي:

لينكس ريدهات\فيدورا\سنتوس:

echo "*/5 * * * * mrtg /etc/mrtg/mrtg.cfg" >> /etc/crontab

يونكس FreeBSD:

echo "*/5 * * * * * /usr/local/bin/mrtg /usr/local/etc/mrtg/mrtg.cfg" >> /etc/crontab

- بدائل MRTG:

فيه بدائل كثيرة، والأشهر:

Cacti

Cricket

- نقاط مهمة:

1- تأكد إن صلاحية الـMRTG  في القراءة من جهاز الشبكة Read-only -قرأة فقط-، لأجل ما يتعرض جهاز الشبكة الخاص فيك للأختراق والتعديل فيه عن طريق SNMP.

2- حاول تستخدم النسخة الثالثة من SNMP، لأن النسخ الحالية والغالباً مستخدمة هي النسخة الثانية، وفيها ثغرة أمنية حيث إنها ترسل الكوميونتي باسوورد بدون تشفير Clear Text.

3- تحتوي MRTG على كثير من الخيارات، مثل مراقبة حالة المعالج والذاكرة، حاول تقراء عنها.

4- بالإضافة إلى مراقبة باندويدث الشبكة، تستطيع عن طريق MRTG إنك تراقب حالة سيرفر، مثل حالة المعالج والرام، بس يلزمك تثبت SNMP على السيرفر.

5- تأكد إنك تحمي الإنديكس الخاصة بـ MRTG عن طريق أسم مستخدم وكلمة مرور، أو تسمح الدخول فقط لأي بي معين.

6- الأوامر تنفذ بالمستخدم  رووت.

7- كتبت هالموضوع من ذاكرتي بدون تطبيق، إذا كان فيه اخطاء ياليت تعلمني.

Posted in المصادر المفتوحة, خوادم وشبكات, لينكس | 6 Comments

6 Responses to تركيب MRTG لمراقبة باندويدث الشبكة

  1. رائد says:

    انا شخصياً من مدمني الكريكت، وهذه الايام طايح في كاكتي بتعلمه غصب :)

  2. من ناحيتي واجهت مشكلة بالكريكت، كانت بس تقراء لبعض موديلات أجهزة سيسكو، وإذا كان مو موجود الموديل أبفقد بعض المميزات زي قرأه الميموري وغيرها، يعني يبغى لي شوية تعديلات وتشتغل مظبوط.
    MRTG موجودة وتشتغل out-of-the-box ;)
    كاكتي محترمة وشغل نظييف، تعطيك -حل كل- لمراقبة الشبكة حقتك!
    شكلها بتكون البديل لـ MRTG.

  3. ابراهيم الحضيف says:

    جريس … كيف حالك يا حلو … مريت وقلت اسلم

    مشا الله البلوق مدهر … واصل بارك الله فيك

  4. eee says:

    مشكور روت جريس معلومات قوية جدا , مدونتك كلها معلومات مفيدة ما شاء الله , تسلم اخوي جريس

  5. مشاء الله معلومات قوية جدا.. لك كل التحية والتقدير

  6. aLfTaK says:

    اداه رائعه بالفعل
    الله يجزاك كل خير لكل ما تكتب : )