نصب و تنظیم MRTG در لینوکس

نصب و تنظیم MRTG در لینوکس

MRTG ابزاریست پرکاربرد و رایگان جهت بدست آوردن میزان مصرفی ترافیک , CPU , RAM و مورد های بسیار دیگر.
MRTG میزان مصرف را بصورت صفحات وب همراه با عکس هایی با فرمت PNG ایجاد می کند.
از MRTG می توان برای مانیتورینگ اکثر سخت افزارهای شبکه با قابلیت SNMP و تقریبا تمامی سیستم عامل ها بهره گرفت.
در این آموزش به شیوه نصب و تنظیم MRTG در لینوکس های بر پایه دبین و ردهت می پردازیم.

نصب MRTG و بسته های مورد نیاز در دبین :

apt-get install apache2 mrtg

نصب MRTG و بسته های مورد نیاز در ردهت :

yum install httpd* mrtg

تا این مرحله سرور مونیتورینگ را نصب کرده ایم و می بایست بر روی دستگاه ها و سیستم هایی که قصد نظارت داریم سرویس SNMP را فعال کنیم.
در این آموزش به نحوه نصب این سرویس در سیستم عامل های لینوکس و ویندوز و تجهیزات سیسکو می پردازیم.

1-مایکروسافت
همانند هر سرویس ویندوز دیگر به آسانی قابل انجام است, کافیست به

Computer management==>Services and Aplications==>Services

بروید و سرویس SNMP را فعال و Community مورد نظر با اجازه دسترسی لازم که در اینجا Read only می باشد را تنظیم کنید


2-سیسکو

config term
snmp-server community public ro 15
access-list 15 permit X.X.X.X(ip-mrtg)

3-لینوکس
الف-نصب در دبین

apt-get install snmp snmpd

ب-نصب در ردهت

*yum install net-snmp

حال تغییرات زیر را در فایل etc/snmp/snmpd.conf/ انجام دهید :
قبل از هر چیز از یک کپی از فایل تهیه می کنیم تا در صورت نیاز از آن استفاده کنیم

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.default

سپس این خطوط را پیدا کرده

com2sec paranoid default public
#com2sec readonly default public
#com2sec readwrite default private

وبه این شکل تغییر دهید

#com2sec paranoid default public
com2sec readonly 127.0.0.1 public
#com2sec readwrite default private

و در آخر سرویس را مجدد راه اندازی کنید
etc/init.d/snmpd restart/

برای تست درست بودن تنظیمات مثلا بر روی روتر سیسکو بدین شکل عمل می کنیم :

snmpwalk -v1 -c public 192.168.0.1

دایرکتوری که خروجی فایل های وب MRTG در آن قرار می گیرد را می سازیم:

mkdir /var/www/mrtg

تنظیم MRTG :
در حالت پیش فرض تنظیمات MRTG را در فایل etc/mrtg.cfg/ انجام می دهیم ولی شما می توانید از هر فایل دیگری با هر نامی استفاده کنید.
فرض کنید می خواهید ترافیک اینترفیس های روتر را آنالیز کنید و نموداری از میزان مصرف شبکه خود بدست آورید , برای این هدف بدین شکل عمل می کنیم :

cfgmaker public@192.168.0.1 This email address is being protected from spam bots, you need Javascript enabled to view it –global ‘workdir:/var/www/mrtg’ –output /etc/mrtg.cfg

با استفاده از این دستور تنظیمات بصورت خودکار صورت می پذیرد و از این روش برای بدست آوردن نمودار مصرف اینترفیس ها در هر دستگاه و سیستم عاملی میتوان استفاده کرد.

دستور زیر را اجرا کنید و در صورت نمایش خطا , آنرا چندین مرتبه اجرا کنید:

/usr/bin/mrtg /etc/mrtg/server-stats.cfg

توجه داشته باشید که اگر متغیر LANG بر روی UTF-8 تنظیم شده است باید از دستور زیر استفاده کنید :

env LANG=C /usr/bin/mrtg /etc/mrtg/server-stats.cfg

نکته :
با استفاده از دستور export می توانید متغیرهای محیطی را مشاهده کنید.

حال فایل index را با این دستور ایجاد می کنیم :

indexmaker –columns=1 /etc/mrtg.cfg > /var/www/mrtg/index.html

در صورتیکه از فایلی بجز etc/mrtg.cfg/ استفاده می کنید , می بایست این تنظیمات را در cron انجام دهید تا بروررسانی صورت پذیرد :

nano /etc/cron.d/mrtg
0/5 * * * * root env LANG=C /usr/bin/mrtg /etc/mrtg/other-file.cfg

از MRTG برای مانیتورینگ موردهای بسیاری می توان استفاده کرد.برای مثال با اعمال تنظیمات زیر می توانید لود CPU روتر سیسکو خود را بدست آورید :

# Router CPU load %
RouterUptime[cpu.1]: public@192.168.0.1 This email address is being protected from spam bots, you need Javascript enabled to view it
MaxBytes[cpu.1]: 100
Title[cpu.1]: CPU LOAD
PageTop[cpu.1]: <H1>CPU Load %</H1>
Unscaled[cpu.1]: ymwd
ShortLegend[cpu.1]: %
XSize[cpu.1]: 380
YSize[cpu.1]: 100
YLegend[cpu.1]: CPU Utilization
Legend1[cpu.1]: CPU Utilization in % (Load)
Legend2[cpu.1]: CPU Utilization in % (Load)
Legend3[cpu.1]:
Legend4[cpu.1]:
LegendI[cpu.1]:
LegendO[cpu.1]: Usage
Options[cpu.1]: gauge

برای CPU در دبین و آبانتو :

Title[server.cpu]: Server CPU Load
PageTop[server.cpu]: < H1 >CPU Load – System, User and Nice Processes< /H1 >
MaxBytes[server.cpu]: 100
ShortLegend[server.cpu]: %
YLegend[server.cpu]: CPU Utilization
Legend1[server.cpu]: Current CPU percentage load
LegendI[server.cpu]: Used
LegendO[server.cpu]:
Options[server.cpu]: growright,nopercent
Unscaled[server.cpu]: ymwd

برای RAM :

Target[localhost.mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.6.0ublic@localhost
PageTop[localhost.mem]:Free Memory
WorkDir: /var/www/mrtg/memory
Options[localhost.mem]: nopercent,growright,gauge,noinfo
Title[localhost.mem]: Free Memory
MaxBytes[localhost.mem]: 1000000
kMG[localhost.mem]: k,M,G,T,P,X
YLegend[localhost.mem]: bytes
ShortLegend[localhost.mem]: bytes
LegendI[localhost.mem]: Free Memory:
LegendO[localhost.mem]:
Legend1[localhost.mem]: Free memory, not including swap, in bytes

حال برای مشاهده MRTG در بروزر بدین شکل عمل می کنیم :

در آخر توصیه می کنم که دسترسی به دایرکتوری mrtg در وب سرور خود را محدود کنید.

اطلاعات بیشتر در :
MRTG – MRTG Companion Sites