منبع اصلی نوشتار زیر در این لینک قرار دارد

نصب و پیکربندی Nagios در RHLE/CentOS 6.x

Nagios یک سیستم مانیتورینگ اپن سورس برای مانیتور کردن شبکه، زیر ساخت ها و نرم افزار ها است. با Nagios امکان مانیتورینگ سیستم، سرویس ها و شبکه با ارسال پیغام هایی به ایمیل مدیران در زمان های بحرانی وجود دارد. با آن می توانید کل زیر ساخت ها (Inferastructure ها) وجود دارد. در این مطلب چگونگی نصب و پیکربندی آن در توزیع های RHLE/CentOS 6.x گفته خواهد شد.

در پیکربندی Nagios در این مطلب از دو ماشین لینوکسی که یکی به عنوان Nagios Server عمل می کند و دیگری به عنوان Nagios Client استفاده می کنیم. Nagios Server ماشینی است که Nagios و کنسول آن برویش نصب شده و می توان دیگر ماشین های شبکه را را برای مانیتورینگ متمرکر به آن (Nagios Server) معرفی کرد. در واقع با استفاده از ماشین Nagios Server می توان سرویس ها، زیر ساخت ها (مانند ftp, dns) و وضعیت پردازنده، حافظه، swap بر روی ماشین های راه دور را یکجا مانیتور کرد. به ماشین هایی که به Nagios Server معرفی می شوند، Nagios Client گو یند. لازم است بر روی ماشین های Nagios Client، بسته نرم افزاری nrpe نصب شود.

موارد لازم در پیاده ساری این مطلب

دو عدد ماشین مجازی که

  • یکی به عنوان Nagios Server و با آدرس 192.168.30.130 و  یکی از توزیع های RHLE/CentOS
  • و دیگری به عنوان Nagios Client و با آدرس 192.168.30.129 و یکی از توزیع های RHLE/CentOS یا Debian/Ubuntu

به طور خلاصه روش گام های پیاده سازی با نصب و پیکربندی Nagios  بر روی ماشین سرور و سپس نصب بسته nrpe بر روی ماشین های کلاینت و معرفی آنها به ماشین سرور انجام می گیرد.

نصب و پیکربندی ماشین Nagios Server

  • نصب در RHLE/CentOS

پیش از نصب Nagios از نصب بودن LAMP بر روی ماشین لینوکسی سرور اطمینان داشته باشید. می توانید مطلب “نصب LAMP بر روی توزیع های RHLE/CentOS” را بخوانید. همچنین لازم است که با دستور زیر بسته هایی را پیش از نصب Ngios بر روی ماشین لینوکسی سرور نیز نصب کنید.

yum install gd gd-devel gcc glibc glibc-common

Nagios بر روی مخازن epel نصب می باشد، پس لازم است از قبل Nagios مخزن epel را بر روی توزیع لینوکسی سرور نصب کرده باشیم.

wget http://epel.mirror.net.in/epel/6/i386/epel-release-6-8.noarch.rpm

rpm -Uvh epel-release-6-8.noarch.rpm

و در نهایت با دستور زیر Nagiso را نصب می کنیم.

*yum install nagios

لازم است برای دسترسی به کنسول تحت وب Nagios بر روی پورت 80، فایل iptables در زیر دایرکتوری etc/sysconfig/ را ویرایش کنیم (خطی به آن اضافه کنیم)

vi /etc/sysconfig/iptables

و سپس خط زیر را به آن اضافه کنید

A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT-

و با دستور زیر iptables را restart کنید

service iptables restart

  • تنظیم آدرس ایمیل مدیر برای ارسال پیغام های هشدار

همانطور که گفته شد می توان از Nagios برای ارسال پیغام های هشدار در مواقعی که سرویسی دچار مشکل می شود یا هر گونه وضعیت هشدار دهنده دیگر، به مدیر استفاده کرد. برای این منظور باید فایل باید فایل contact.cfg را ویرایش کرد.

vi /etc/nagios/objects/contacts.cfg

و سپس در جلوی پارامتر email، آدرس ایمیل مدیر را مشخص کرد.

;email           [email protected]

با ویرایش فایل nagios.conf می توان محدوده آدرس هایی که از راه دور می توانند به کنسول مدیریتی Nagios دسترسی داشته باشند را مشخص کرد. برای این منظور باید فایل nagios.conf را باز کرده

vi /etc/httpd/conf.d/nagios.conf

و محدوده آدرس ها را جلوی پارامتر Allow from بیاورید.

Allow  from  127.0.0.1  192.168.30.0/24

در بالای خط Allow from خط deny for all وجود دارد که به این معنی است دسترسی همه قطع به جز آنهایی که جلوی Allow from آمده اند و این به این خاطر است که اولویت با deny و سپس با allow است.

  • ایجاد کاربری که به کنسول دسترسی دارد

کاربری را به نام nagiosadmin ایجاد می کنیم. این کار را توسط دستور htpasswd انجام می دهیم. در خروجی زیر باید پسوردی را وارد و سپس آنرا دوباره تکرا کنیم.

htpasswd /etc/nagios/passwd nagiosadmin

OUTPUT

New password

Re-type new password

و در نهایت باید سرویس های nagios و httpd را start کنیم

service nagios start

service httpd start

chkconfig nagios on

chkconfig httpd on

  • دسترسی به کنسول مدیریتی Nagios

برای این منظور از درون سیستمی که Nagios را در آن نصب کردید آدرس 127.0.0.1 یا آدرس کارت شبکه را در مرورگر نوشته و Enter کنید تا مانند زیر به کنسل دسترسی پیدا کنید. نام کاربری . پسورد را مطابق با نام کاربری nagiosadmin و پسوردی که برای آن ایجاد کردید وارد نمایید.

YOUR_NAGIOS_SERVER_IP/nagios

صفحه زیر، پس از ورود به کنسول مدیریتی نشان داده خواهد شد.

اگر روی Host از پنل سمت چپ کلیک کنید خواهید دید که Nagios تنها سرور محلی یعنی همان ماشینی که بر روی آن نصب شده است را مانیتور می کند. البته می توان ماشین های دیگرا را نیز به Nagios برای مانیتور شدن معرفی کرد.

روی نام Host کلیک کنید تا جزییات بیشتری مانند شکل زیر را ببینید.

نصب و پیکربندی NRPE بر روی Nagios Client ها

همانطور که گفته شد می توان دیگر ماشین های شبکه را برای مانیتورینگ راه دور آنها توسط Nagios به برنامه Nagios معرفی کرد. در واقع با Nagios و معرفی یک ماشین دیگر، می توان مانیتورینگ شبکه، زیر ساخت ها، سرویس ها و دیگر موارد مانند پردازنده، حافظه، دیسک، swap و غیره مربوط به ماشین را به صورت راه دور و متمرکز بر روی ماشینی که Nagios بر روی آن نصب شده و آنرا Nagios Server می نامیم، انجام دهیم.

اماشین هایی را که توسط Nagios و به صورت راه دور مانیتور می شوند را Nagios Client می نامیم و لازم است بر روی آنها NRPE که مخفف nagios remote plugin executor است، نصب شود. در واقیع یک NRPE agent یا عامل NRPE بر روی ماشین های راه دور (Nagios Client ها) نصب می شود.

  • نصب در توزیع های RHLE/CentOS/Oracle Linux

برای نصب دستور زیر را اجرا کنید. توجه داشته باشید که نصب از مخزن epel صورت می گیرد. (مانند آنچه که در ابتدای مطلب انجام شد)

yum install nrpe nagios-plugins-all openssl

  • نصب در توزیع های Ubuntu/Debian

برای نصب دستور زیر را اجرا کنید.

sudo apt-get install nagios-nrpe-server nagios-plugins

  • اولین گام در پیکربندی ماشین کلاینت

باید آدرس سرور Nagios (در این مطلب با آدرس 192.168.30.128) را به ماشین کلاینت (که می خواهیم توسط Nagios Server مانیتور شود) را معرفی کنیم. برای این کار لازم است که فایل nrpe.cfg را ویرایش کنیم.

vi /etc/nagios/nrpe.cfg

سپس آدرس را به پارامتر allowed_hosts مانند زیر اضافه می کنیم.

allowed_hosts 127.0.0.1192.168.30.130

سپس سرویس را start می کنیم.

service nrpe start

chkconfig nrpe on

و در توزیع های ابونتو و دبیان از دستور زیر استفاده کنید.

sudo /etc/init.d/nagios-nrpe-server restart

  • تنظیمات لازم در ماشین Nagios Server برای معرفی کلاینت به آن

لازم است که مطابق زیر به ماشین سرور بازگشته و تنظیمات را انجام دهید.

نخست فایل nagios.cfg در زیر دایرکتوری etc/nagios.cfg/ را باز کرده

vi /etc/nagios/nagios.cfg

و سپس خطی که شامل پارامتر cfg_dir را پیدا کنید (خط 52) و سپس با برداشتن علامت # از ابتدای آن، آنرا از حالت کامنت خارحج کنید.

cfg_dir=/etc/nagios/servers

لازم است که دایرکتوری هم مسیر با دایرکتوری مشخص شده در پارامتر cfg_dir ایجاد کنید.

mkdir /etc/nagios/servers

سپس یک فایل به عنوان فایل پیکربندی برای کلاینت در زیر دایرکتوری بالا ایجاد کنید.

vi /etc/nagios/servers/clients.cfg

و سپس خطوط شکل زیر را به آن اضافه کنید

}define host

use   linux-server

host_name    centos2-falearn

alias    centos2

address    192.168.30.129

max_check_attempts    5

check_period    24×7

notification_interval    30

notification_period    24×7

{

به ازای هر هاست، یک define host  و پارامتر های میان { } را داریم. host_name نام ماشین راه دور و alias نام مستعار آن، address آدرس ماشین راه دور را مشخص می کند.

حال با دستور زیر در سرور، سرویس nagios را restart کنید.

service nagios restart

با ایجاد فایل بالا و وارد کردن تنظیمات لازم به آن، پیکربندی Nagios به اتمام رسید. اگر بر روی سرور مانند بالا آدرس را وارد کرده و سپس به کسنول Nagios وارد شوید، آنگاه به پنل Host بروید، می توایند کلاینت اافه شده را ببنید.

با تعریف define host بالا، کلاینت با آدرس 192.168.30.129 و نام هاست centos2-falearn را به Nagios Server معرفی کردیم. همچنین NRPE بر روی کلاینت نصب شده است که به همراه آن چندین دستور نیز نصب شده اند که وظیفه مانیتورینگ را بر عهده دارند. این دستور ها در زیر دایرکتوری های زیر قرار دارند.

ls -l /usr/lib64/nagios/plugins  #in linux 64 bit

ls -l /usr/lib/nagios/plugins #in linux 32 bit

با انجام تنظیمات بالا، سرور Nagios را پیکربندی و سپس ماشین کلاینت را پیکربندی و به سرور معرفی کردیم. در واقع یک Host را به سرور معرفی کردیم که می توان فهرست Host ها را از پنل Host در سمت چپ کنسول Nagios مشاهده کرد. حال باید با یک define دیگر که از نوع define service است، سرویس (هایی) را بر روی ماشین کلاینت راه دور (که در بالا centos2-falearn بود) را برای مانیتور شدن بر روی Nagios Server تعریف کرد. این کار توسط define service انجام می گیرد. خطوط زیر را در فایل clients.cfg و پس از تعریف define host برای centos2-falearn بیاورید.

} define service

use    generic-service

host_name    centos2-falearn

service_description     SSH

check_command    check_ssh

notifications_enabled    0

{

سپس سرویس nagios را restart کنید.

service nagios restart

حال اگر به پنل Service در سمت چپ بروید، خواهید دید که به ازای هر hostname سرویس هایی وجود دارد که برای centos2-falearn سرویس ssh برای مانیتورینگ تعریف شده است.

می توایند فایل clients.cfg را نیز دانلود کنید.

مطالب مرتبط



برچسب ها : , , , , , ,