نصب و تنظیم MRTG در لینوکس (ابزارهای مانیتورینگ شماره 2)

0

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/ انجام می دهیم ولی شما می توانید از هر فایل دیگری با هر نامی استفاده کنید.
فرض کنید می خواهید ترافیک اینترفیس های روتر را آنالیز کنید و نموداری از میزان مصرف شبکه خود بدست آورید , برای این هدف بدین شکل عمل می کنیم :

PersianAdmins:#cfgmaker [email protected] --global 'workdir:/var/www/mrtg' --output /etc/mrtg.cfg
با استفاده از این دستور تنظیمات بصورت خودکار صورت می پذیرد و از این روش برای بدست آوردن نمودار مصرف اینترفیس ها در هر دستگاه و سیستم عاملی میتوان استفاده کرد.دستور زیر را اجرا کنید و در صورت نمایش خطا , آنرا چندین مرتبه اجرا کنید:
/usr/bin/mrtg    /etc/mrtg.cfg 
توجه داشته باشید که اگر متغیر LANG بر روی UTF-8 تنظیم شده است باید از دستور زیر استفاده کنید :

env   LANG=C   /usr/bin/mrtg   /etc/mrtg.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 %
Target[cpu.1]:1.3.6.1.4.1.9.2.1.58.0&1.3.6.1.4.1.9.2.1.58.0:[email protected]This email address is being protected from spam bots, you need Javascript enabled to view it
RouterUptime[cpu.1]:[email protected]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 در دبین و آبانتو :
Target[server.cpu]:ssCpuRawUser.0&ssCpuRawUser.0:[email protected] + ssCpuRawSystem.0&ssCpuRawSystem.0:[email protected] + ssCpuRawNice.0&ssCpuRawNice.0:[email protected]
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.0:[email protected]
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 در بروزر بدین شکل عمل می کنیم :

http://mrtg-server-ip/mrtg

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

اطلاعات بیشتر در :

http://oss.oetiker.ch/mrtg/3party.en.html

نگارنده : رضا بهروزی

نظرات مسدود است.