ویژگی های Nagios را با افزونه های سفارشی گسترش دهید. راه اندازی آسان Nagios نصب سرور nagios ubuntu 14.04

قبل از پیکربندی nagios، باید وابستگی های لازم را نصب کنید

# apt install build-essential apache2 php libapache2-mod-php7.0 php-gd libgd-dev mailutils

و یک کاربر و گروه اضافه کنید که nagios از طرف آنها اجرا می شود

# useradd nagios # groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd www-data

به دایرکتوری ساخت بروید و کد منبع nagios و افزونه ها را دانلود کنید

# cd /usr/src/ # wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.2.3/nagios-4.2.3.tar.gz # wget https:// nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

آرشیوهای دانلود شده را از حالت فشرده خارج کنید

# tar xzvf nagios-4.2.3.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

بیایید به دایرکتوری با کد منبع nagios و پیکربندی

# cd nagios-4.2.3 # ./configure --prefix=/etc/nagios --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-available --with-mail= /usr/bin/mail

بیایید بسازیم

# همه را بسازید

nagios را نصب کنید

# را نصب کنید

یک اسکریپت init را در /etc/init.d نصب کنید و شروع خودکار را فعال کنید

# install-init # update-rc.d nagios را پیش فرض قرار دهید

حقوق دایرکتوری را برای ذخیره خارجی تنظیم کنید فایل های دسته ای

# make install-commandmode

فایل های پیکربندی nagios را نصب کنید

# install-config را انجام دهید

پیکربندی nagios را برای آپاچی تنظیم کنید

# را install-webconf کنید

اسکریپت های پردازش رویداد فایل های دسته ای خارجی را با nagios در پوشه کپی کنید و مالک را روی پوشه تنظیم کنید.

# cp -R contrib/eventhandlers/ /etc/nagios/libexec/ # chown -R nagios:nagios /etc/nagios/libexec/eventhandlers

بیایید بررسی کنیم پیکربندی نصب شده

# /etc/nagios/bin/nagios -v /etc/nagios/etc/nagios.cfg

# ساختن # را نصب کن

پیکربندی nagios را در apache فعال کنید و افزونه های لازم را فعال کنید

# a2ensite nagios # a2enmod بازنویسی cgi

سرویس آپاچی را مجددا راه اندازی کنید

# سرویس apache2 راه اندازی مجدد

بیایید nagios را شروع کنیم و وضعیت را بررسی کنیم

شروع # سرویس nagios # وضعیت nagios سرویس ● nagios.service - Nagios Loaded: بارگیری شده (/etc/systemd/system/nagios.service؛ فعال؛ از پیش تعیین شده فروشنده: فعال) فعال: فعال (در حال اجرا)

یک مدیر nagios اضافه کنید

# htpasswd -c /etc/nagios/etc/htpasswd.users nagiosadmin

حالا بیایید به فایل های پیکربندی nagios بپردازیم.

/etc/nagios/etc/ cgi.cfg- تنظیمات رابط وب و همچنین حقوق دسترسی به کنسول وب nagios را تعریف می کند.

/etc/nagios/etc/ htpasswd.users- پایگاه کاربران و رمز عبور آنها برای دسترسی به رابط وب nagios.

/etc/nagios/etc/ nagios.cfg- شامل تنظیمات و مسیرهای اصلی فایل های *.cfg است.

/etc/nagios/etc/ منبع.cfg- یک متغیر در اینجا تا دایرکتوری با افزونه ها تعریف شده است.

/etc/nagios/etc/objects/ commands.cfg- شامل تعاریف دستورات است.

/etc/nagios/etc/objects/ contacts.cfg- مخاطبین ایمیلی را که اعلان‌های nagios به آن‌ها ارسال می‌شود، مشخص می‌کند.

/etc/nagios/etc/objects/ templates.cfg- حاوی الگوهایی برای مخاطبین، میزبان ها و خدمات است.

/etc/nagios/etc/objects/ timeperiods.cfg- شامل تعاریف دوره های زمانی است.

/etc/nagios/etc/objects/ localhost.cfg- پیکربندی برای نظارت بر خود سرور nagios. خود میزبان، گروه میزبان برای سرورهای لینوکس و خدمات مانیتورینگ را تعریف می کند.

/etc/nagios/etc/objects/ printer.cfg- پیکربندی برای نظارت بر چاپگر. این یک چاپگر دلخواه، یک گروه میزبان برای چاپگرها و خدمات نظارتی را تعریف می کند.

/etc/nagios/etc/objects/ switch.cfg- پیکربندی برای نظارت بر سوئیچ. این یک سوئیچ دلخواه، یک گروه میزبان برای سوئیچ ها و خدمات نظارتی را تعریف می کند.

/etc/nagios/etc/objects/ windows.cfg- پیکربندی برای نظارت بر میزبان دلخواه ویندوز. یک میزبان ویندوز دلخواه، یک گروه میزبان برای تعریف می کند سرور ویندوز ov و خدمات مانیتورینگ

توضیحات نشان می دهد که localhost.cfg، printer.cfg، switch.cfg و windows.cfg دارای تعاریف گروه میزبان هستند. برای راحتی، منطقی است که آنها را در یک فایل جداگانه /etc/nagios/etc/objects/ جدا کنید. hostgroups.cfg. بر این اساس، آنها باید در فایل اصلی توضیح داده شوند. توضیحات یک شی نباید در فایل های پیکربندی مختلف تکرار شود. ما همچنین فایل /etc/nagios/etc/objects/ را اضافه خواهیم کرد. servicegroups.cfg، که در آن گروه های خدماتی تعریف خواهند شد. از آنجایی که این نشریه در حال تنظیم مانیتورینگ برای هاست های لینوکس و ویندوز است، گروه هایی را برای آنها تعریف خواهیم کرد. برای چاپگرها و سوئیچ ها، گروه ها با قیاس تعریف می شوند. ما همچنین پوشه /etc/nagios/etc/servers/ را ایجاد می کنیم که فایل هایی را که هاست ها را برای نظارت تعریف می کنند ذخیره می کند. بیایید تغییرات مناسب را در فایل nagios.cfg ایجاد کنیم

# nano /etc/nagios/etc/nagios.cfg. . . # می توانید فایل های پیکربندی شی منفرد را مطابق شکل زیر مشخص کنید: cfg_file=/etc/nagios/etc/objects/commands.cfg cfg_file=/etc/nagios/etc/objects/contacts.cfg cfg_file=/etc/nagios/etc/objects /timeperiods.cfg cfg_file=/etc/nagios/etc/objects/templates.cfg # تعاریف میزبان گروه ها و سرویس گروه ها cfg_file=/etc/nagios/etc/objects/hostgroups.cfg cfg_file=/etc/nagios/etc/objects/servicegroups.cfg# تعاریف نظارت بر میزبان محلی (لینوکس) cfg_file=/etc/nagios/etc/objects/localhost.cfg # تعاریف نظارت بر ماشین ویندوز #cfg_file=/etc/nagios/etc/objects/windows.cfg # تعاریف نظارت یک روتر/سوئیچ #cfg_file=/etc/nagios/etc/objects/switch.cfg # تعاریف نظارت بر چاپگر شبکه #cfg_file=/etc/nagios/etc/objects/printer.cfg # همچنین می‌توانید به Nagios بگویید که همه را پردازش کند فایل های پیکربندی (با پسوند cfg #) در یک فهرست خاص با استفاده از دستور cfg_dir # مطابق شکل زیر: cfg_dir=/etc/nagios/etc/servers#cfg_dir=/etc/nagios/etc/printers #cfg_dir=/etc/nagios/etc/switches #cfg_dir=/etc/nagios/etc/routers . . .

فایل هایی را برای گروه هاست و سرویس ایجاد کنید و حقوق آنها را تنظیم کنید

# cd /etc/nagios/etc/objects/ # touch hostgroups.cfg servicegroups.cfg # chown nagios:nagios hostgroups.cfg servicegroups.cfg # chmod 664 hostgroups.cfg servicegroups.cfg

ایجاد دایرکتوری /etc/nagios/etc/ سرورها/ و حقوق آن را تعیین کنید

# mkdir /etc/nagios/etc/servers/ # chown nagios:nagios /etc/nagios/etc/servers/ # chmod 775 /etc/nagios/etc/servers/

تعاریف گروه های میزبان برای سرورهای لینوکس و ویندوز را به ترتیب از localhost.cfg و windows.cfg به hostgroups.cfg اضافه کنید.

# nano /etc/nagios/etc/objects/hostgroups.cfg # تعریف یک میزبان اختیاری برای ماشین‌های لینوکس # همه میزبان‌هایی که از الگوی سرور لینوکس استفاده می‌کنند، به طور خودکار عضوی از این گروه خواهند بود. از گروه میزبان مستعار Linux Servers ; نام طولانی گروه ) # تعریف یک میزبان برای ماشین های ویندوز # همه میزبان هایی که از الگوی سرور ویندوز استفاده می کنند به طور خودکار عضوی از این گروه خواهند بود. گروه میزبان مستعار سرورهای ویندوز؛ نام طولانی گروه)

از آنجایی که مسیر windows.cfg در nagios.cfg توضیح داده شده است، اظهار نظر در مورد تعریف گروه های میزبان در windows.cfg ضروری نیست، اما در localhost.cfg این یک اقدام اجباری است.

# nano /etc/nagios/etc/objects/localhost.cfg. . . # تعریف یک میزبان اختیاری برای ماشین‌های لینوکس #define hostgroup(# hostgroup_name linux-servers؛ نام گروه میزبان # مستعار سرورهای Linux؛ نام طولانی گروه # اعضای localhost؛ فهرست میزبان‌هایی که به این گروه تعلق دارند، با کاما جدا شده است. . .

در حین ایجاد شی ویندوزسرور، به طور خودکار عضو گروه ویندوز سرورها می شود. این عمل در فایل templates.cfg تعریف شده است. به سرورهای لینوکسبه طور خودکار وارد گروه سرورهای لینوکس می شوید، باید تغییر زیر را انجام دهید

# nano /etc/nagios/etc/objects/templates.cfg. . . # قالب تعریف میزبان لینوکس - این یک میزبان واقعی نیست، فقط یک الگو است! تعریف میزبان( نام لینوکس سرور ؛ نام این قالب میزبان از generic-host استفاده می کند؛ این الگو مقادیر دیگری را از الگوی میزبان عمومی check_period 24x7 به ارث می برد؛ به طور پیش فرض، هاست های لینوکس به طور شبانه روز بررسی می شوند check_interval 5 ؛ بررسی فعال میزبان هر 5 دقیقه retry_interval 1 ؛ زمانبندی بررسی مجدد میزبان در فواصل زمانی 1 دقیقه max_check_attempts 10 ؛ هر میزبان لینوکس را 10 بار (حداکثر) بررسی کنید check_command check-host-alive ؛ فرمان پیش فرض برای بررسی میزبان های لینوکس notification_period workhours ; بالا، بنابراین ما فقط در طول روز اطلاع رسانی می کنیم؛ توجه داشته باشید که متغیر notification_period از رد می شود؛ مقداری که از الگوی میزبان عمومی به ارث رسیده است! notification_interval 120؛ ارسال مجدد اعلان ها هر 2 ساعت notification_options d,u,r برای مدیران ایالات میزبان خاص contact_groups ؛ اعلان ها به طور پیش فرض برای مدیران ارسال می شود سرورهای میزبان لینوکس ; گروه های میزبانی که سرورهای لینوکس باید عضو آن باشندثبت 0 ; این تعریف را ثبت نکنید - یک میزبان واقعی نیست، فقط یک الگو! ) . . .

برای تنظیم یک اعلان، باید ایمیل مدیر سیستم را در contacts.cfg مشخص کنید.

# nano /etc/nagios/etc/objects/contacts.cfg. . . تعریف مخاطب (contact_name nagiosadmin؛ نام کوتاه کاربر استفاده از generic-contact؛ ارث بردن مقادیر پیش‌فرض از الگوی generic-contact (تعریف شده در بالا) مستعار Nagios Admin؛ نام کامل ایمیل کاربر [ایمیل محافظت شده]سایت اینترنتی ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** } . . .

# سرویس nagios راه اندازی مجدد

می توانید عملکرد هشدارها را به روش زیر بررسی کنید، "Hosts" را در سمت چپ در رابط وب انتخاب کنید، سپس بر روی "localhost" کلیک کنید، بر روی "ارسال اعلان میزبان سفارشی" در منوی سمت راست کلیک کنید، هر چیزی را در آن بنویسید. خط "نظر" و روی "تعهد" کلیک کنید.

یک هشدار باید به ایمیل مشخص شده در contacts.cfg ارسال شود.


کمی در مورد افزونه ها

پوشه /etc/nagios/libexec شامل افزونه های نصب شده است. در ابتدای مقاله اشاره شد که nagios تمام اطلاعات را از طریق افزونه ها دریافت می کند. به عنوان مثال، بیایید به زمان آپتایم سیستم نگاه کنیم

# /etc/nagios/libexec/check_uptime زمان کار خوب: 0 روز (ها) 3 ساعت (ها) 52 دقیقه | uptime=232.000000;;;

اکثر افزونه ها فقط با آرگومان ها کار می کنند، به عنوان مثال، بیایید وضعیت فایل تعویض سیستم را ببینیم

# /etc/nagios/libexec/check_swap -w 20 -c 10 SWAP OK - 100% رایگان (2044 مگابایت از 2044 مگابایت) |swap=2044MB;0;0;0;2044

دو آرگومان وجود دارد -w 20 و -c 10.

w - هشدار، هنگامی که 20٪ از فضای خالی باقی می ماند، یک رویداد هشدار رخ می دهد.

ج - بحرانی، زمانی که 10 درصد فضای آزاد باقی بماند، رویداد بحرانی رخ خواهد داد.

پلاگین های محلی و "عمومی" نیز وجود دارد. نمونه های بالا محلی هستند. به عنوان مثال، افزونه check_swap نمی تواند وضعیت فایل صفحه بندی را در یک میزبان راه دور بررسی کند، اما افزونه check_ping می تواند در دسترس بودن هر دو میزبان محلی و راه دور را بررسی کند.

# /etc/nagios/libexec/check_ping -H localhost -w 100.0.20% -c 500.0.60% PING OK - از دست دادن بسته = 0٪، RTA = 0.04 ms|rta=0.036000ms;100.000000.000;500. % 0.273000ms;100.000000;500.000000;0.000000pl=0%;20;60;0


کمی در مورد NRPE

NRPE - Nagios Remote Plugin Executor. برای اینکه nagios اطلاعاتی از هاست های راه دور مانند استفاده از دیسک یا CPU دریافت کند، از پلاگین nrpe استفاده می شود. Nagios از طریق پلاگین nrpe به یک سرور nrpe که روی یک میزبان از راه دور لینوکس/یونیکس نصب شده است دسترسی پیدا می کند. سرور nrpe پلاگین های محلی را اجرا می کند و اطلاعات را به سرور nagios ارسال می کند. مهم!سرور nrpe و افزونه باید یک نسخه باشند، در غیر این صورت ممکن است خطاهایی رخ دهد.


نصب پلاگین NRPE

قبل از نصب افزونه nrpe، باید وابستگی را نصب کنید

# apt libssl-dev را نصب کنید

آخرین نسخه nrpe را می توانید از سایت nagios دانلود کنید. به دایرکتوری ساخت بروید، آخرین نسخه nrpe را دانلود و از حالت فشرده خارج کنید

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # tar xzvf 3.0.1.tar.gz

بیایید به پوشه با nrpe برویم و پیکربندی کنیم

بیایید افزونه nrpe را بسازیم و نصب کنیم

# make check_nrpe # make install-plugin

پشتیبانی nrpe را به /etc/nagios/etc/objects/commands.cfg اضافه کنید

# nano /etc/nagios/etc/objects/commands.cfg. . . # "check_nrpe" تعریف دستور دستور define ( command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ ) . . .

پس از تغییرات ایجاد شده، باید سرویس nagios را مجددا راه اندازی کنید

# سرویس nagios راه اندازی مجدد


نصب سرور NRPE

در هاست لینوکس که ما نظارت خواهیم کرد، باید سرور nrpe و افزونه ها را نصب کنیم.

وابستگی های لازم را نصب کنید

# apt install build-ssential libssl-dev

به build directory بروید، nrpe، افزونه ها را دانلود کنید و آنها را از حالت فشرده خارج کنید

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.1. 4.tar.gz # tar xzvf 3.0.1.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

بیایید به دایرکتوری با nrpe برویم و پیکربندی کنیم

# cd nrpe-3.0.1 # ./configure --prefix=/etc/nagios

بیایید بسازیم

#nrpe بسازید

کاربر و گروهی را اضافه کنید که سرور nrpe از طرف آنها اجرا می شود

# ساختن-گروه-کاربران

بیایید سرور و فایل پیکربندی را نصب کنیم

# make install-daemon # make install-config

اسکریپت شروع را نصب کنید

# make install-init # systemctl فعال /lib/systemd/system/nrpe.service

بیایید به دایرکتوری با کد منبع افزونه ها برویم و پیکربندی کنیم

# cd /usr/src/nagios-plugins-2.1.4/ # ./configure --prefix=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios

پلاگین ها را بسازید و نصب کنید

# ساختن # را نصب کن

در /etc/nagios/etc/nrpe.cfg به سرور nagios اجازه می‌دهیم اطلاعات مربوط به سیستم را دریافت کند و همچنین نام واقعی پارتیشن دیسک مورد نظارت را در یک دستور از پیش تعریف شده مشخص کند.

نانو /etc/nagios/etc/nrpe.cfg. . . allow_hosts=127.0.0.1, 192.168.1.13. . . command=/etc/nagios/libexec/check_users -w 5 -c 10 command=/etc/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/ sda1 command=/etc/nagios/libexec/check_procs -w 5 -c 10 -s Z command=/etc/nagios/libexec/check_procs -w 150 -c 200 . . .

192.168.1.13 باید با آدرس سرور nagios شما جایگزین شود.
سرور nrpe را راه اندازی کنید و وضعیت آن را بررسی کنید

# service nrpe start # service nrpe status ● nrpe.service - Nagios Remote Program Executor Loaded: بارگیری شد (/lib/systemd/system/nrpe.service؛ فعال؛ از پیش تعیین شده فروشنده: فعال) فعال: فعال (در حال اجرا)


اضافه کردن هاست لینوکس به سیستم مانیتورینگ

برای این کار یک فایل linux-server.cfg در پوشه servers ایجاد می کنیم

# nano /etc/nagios/etc/servers/linux-serv.cfg تعریف میزبان (استفاده از سرور لینوکس میزبان_نام لینوکس سرویس با نام مستعار آدرس لینوکس سرویس 192.168.1.12 ) سرویس را تعریف کند (استفاده از سرویس عمومی میزبان_نام خدمات لینوکس_توضیحات بارگذاری CPU check_command check_nrpe!check_load ) تعریف سرویس (استفاده از سرویس عمومی host_name linux-serv service_description کاربران فعلی check_command check_nrpe!check_users ) سرویس را تعریف کنند(استفاده از سرویس عمومی host_name linux-service service_description /dev/sdaman1 سرویس رایگان check_n! استفاده از generic-service host_name linux-serv service_description کل فرآیندها check_command check_nrpe!check_total_procs ) تعریف سرویس (استفاده از سرویس عمومی host_name linux-serv service_description فرآیندهای زامبی check_command check_nrpe!check_zombie_procs)

192.168.1.12 باید با آدرس سرور لینوکس شما جایگزین شود.
دستورالعمل use به نام یک الگو در templates.cfg اشاره می کند که تنظیمات پیش فرض را تعریف می کند. برای اینکه هاست جدید در رابط وب ظاهر شود، باید سرویس nagios را مجددا راه اندازی کنید

# سرویس nagios راه اندازی مجدد

برای بررسی اینکه آیا nrpe کار می کند، می توانید دستور را اجرا کنید

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 NRPE نسخه 3.0.1

برای بررسی یک سرویس خاص، باید یک آرگومان با نام چک اضافه کنید

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 -c check_sda1 DISK OK - فضای خالی: /var/tmp 14549 مگابایت (85% inode=88%)؛| /var/tmp=2527MB;14411;16212;0;18014

نام چک را در فایل nrpe.cfg تعریف کردیم

فرمان[ check_sda1]=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

و در فایل linux-serv.cfg

تعریف سرویس (استفاده از سرویس عمومی host_name linux-serv service_description /dev/sda1 check_command check_nrpe! check_sda1 }


نظارت بر هاست ویندوز

افزونه nt برای نظارت بر هاست ویندوز استفاده می شود. به طور پیش فرض در افزونه های پایه گنجانده شده است و نیازی به نصب جداگانه ندارد. از طریق nt، افزونه nagios به NSClient++ نصب شده در هاست ویندوز دسترسی پیدا می کند. NSClient++ به ماژول های خاصی دسترسی پیدا می کند که اطلاعات مربوط به سیستم را به آن می گویند. NSClient++ اطلاعات دریافتی را به سرور nogios ارسال می کند.


نصب NSClient++

در هاست ویندوز باید NSClient++ را نصب کنید. آخرین نسخه را دانلود کنید و به عنوان مدیر اجرا کنید.

روی "بعدی" کلیک کنید

دوباره روی "Next" کلیک کنید

"معمولی" را انتخاب کنید

آدرس سرور nagios، رمز عبور را مشخص کنید و دو چک باکس اول را رها کنید. روی "بعدی" کلیک کنید

روی "نصب" کلیک کنید

روی "پایان" کلیک کنید


افزودن هاست ویندوز به سیستم مانیتورینگ

برای این کار یک فایل windows-serv.cfg در پوشه servers ایجاد می کنیم

# nano /etc/nagios/etc/servers/windows-serv.cfg تعریف میزبان (استفاده از نام میزبان ویندوز سرور windows-serv نام مستعار آدرس ویندوز سرور من 192.168.1.33 ) تعریف سرویس (استفاده از نام میزبان سرویس عمومی ویندوز-سرویس توضیحات نسخه NSClient++ check_command check_nt!CLIENTVERSION) تعریف سرویس (استفاده از سرویس عمومی host_name windows-serv service_description Uptime check_command check_nt! UPTIME ) تعریف سرویس (استفاده از سرویس عمومی host_name windows-service_description بارگیری CPU check_command check_nt!,905) تعریف سرویس (استفاده از سرویس عمومی host_name windows-serv service_description استفاده از حافظه check_command check_nt! MEMUSE!-w 80 -c 90 ) تعریف سرویس (استفاده از سرویس عمومی host_name windows-service_description C:\ Drive Space check_command check_nt!USKDI -w 80 -c 90 ) تعریف سرویس (استفاده از سرویس عمومی host_name windows-serv service_description VMTools check_command check_nt!SERVICESTATE!-d SHOWALL -l VMTools ) تعریف سرویس (استفاده از سرویس عمومی host_name windows-serv service_description check_nt! -d SHOWALL -l explorer.exe )

192.168.1.33 باید با آدرس سرور ویندوز شما جایگزین شود.
اگر هنگام نصب کلاینت NSClient++ رمز عبور مشخص شده بود، باید آن را به commands.cfg اضافه کنید.

# nano /etc/nagios/etc/objects/commands.cfg. . . # "check_nt" تعریف دستور دستور define( command_name check_nt command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s MegaPass-v $ARG1$ $ARG2$). . .

و سرویس nagios را مجددا راه اندازی کنید

# سرویس nagios راه اندازی مجدد


تعریف گروه خدمات

یک گروه خدمات میزبان هایی را که تحت بررسی های خدمات خاصی قرار دارند را با هم جمع می کند. بیایید یک گروه خدمات بارگذاری CPU ایجاد کنیم و میزبان ها را برای بررسی بار پردازنده متحد کنیم.

# nano /etc/nagios/etc/objects/servicegroups.cfg سرویس گروه را تعریف می کند (سرویس_نام cpuload با نام مستعار CPU اعضای بارگیری لینوکس-سرویس، بارگذاری CPU، میزبان محلی، بار فعلی، ویندوز سرویس، بارگذاری پردازنده)

اعضای گروه در بخشنامه اعضا طبق اصل تعریف شده اند
اعضا= ,,,,…,n>,n>

برای در دسترس قرار دادن گروه، باید سرویس nagios را مجددا راه اندازی کنید

# سرویس nagios راه اندازی مجدد


مکان پیوندهای میزبان روی نقشه

به طور پیش فرض، همه میزبان های روی نقشه به Nagios Process متصل هستند. مواقعی وجود دارد که باید این رفتار را نادیده بگیرید. به عنوان مثال، اتصال نباید از Nagios Process، بلکه از نقطه دیگری از نقشه (به عنوان مثال، اتصال سرور از طریق سوئیچ) ایجاد شود. این کار با افزودن دستورالعمل والدین به قسمت توضیحات میزبان انجام می شود. برای مثالی گویا، اجازه دهید اتصال windows-serv را از Nagios Process به linux-serv تغییر دهیم.

# nano /etc/nagios/etc/servers/windows-serv.cfg تعریف میزبان (استفاده از ویندوز-سرور میزبان_نام windows-serv با نام مستعار آدرس سرور ویندوز من 192.168.1.33 والدین linux-serv } . . .

و سرویس nagios را مجددا راه اندازی کنید

# سرویس nagios راه اندازی مجدد

در حالت اول همه هاست ها با Nagios Process ارتباط داشتند، در حالت دوم اتصال windows-serv از linux-serv شروع می شود.


فعال کردن آیکون ها

nagios این قابلیت را دارد که آیکون های کنار نام میزبان را فعال کند. نمادها در پوشه /etc/nagios/share/images/logos قرار دارند. می توانید از یک مجموعه آماده استفاده کنید، می توانید از اینترنت دانلود کنید. برای فعال کردن نمایش آیکون ها، باید خطوط زیر را به templates.cfg اضافه کنید

# nano /etc/nagios/etc/objects/templates.cfg. . . # قالب تعریف میزبان لینوکس - این یک میزبان واقعی نیست، فقط یک الگو است! تعریف میزبان( نام لینوکس سرور ؛ نام این قالب میزبان از generic-host استفاده می کند؛ این الگو مقادیر دیگری را از الگوی میزبان عمومی check_period 24x7 به ارث می برد؛ به طور پیش فرض، هاست های لینوکس به صورت شبانه روز بررسی می شوند check_interval 1 ؛ بررسی فعال میزبان هر 5 دقیقه retry_interval 1 ؛ زمانبندی بررسی مجدد میزبان در فواصل زمانی 1 دقیقه max_check_attempts 10 ؛ هر میزبان لینوکس را 10 بار (حداکثر) بررسی کنید check_command check-host-alive ؛ فرمان پیش فرض برای بررسی میزبان های لینوکس notification_period workhours ; بالا، بنابراین ما فقط در طول روز اطلاع رسانی می کنیم؛ توجه داشته باشید که متغیر notification_period از رد می شود؛ مقداری که از الگوی میزبان عمومی به ارث رسیده است! notification_interval 120؛ ارسال مجدد اعلان ها هر 2 ساعت notification_options d,u,r برای دولت های میزبان خاص ادمین های contact_groups ؛ اعلان ها به صورت پیش فرض به سرپرست ها ارسال می شود linux-servers ؛ گروه های میزبانی که سرورهای لینوکس باید عضو آن باشند icon_image linux40.png statusmap_image linux40.gd2ثبت 0 ; این تعریف را ثبت نکنید - یک میزبان واقعی نیست، فقط یک الگو! ) # قالب تعریف میزبان ویندوز - این یک میزبان واقعی نیست، فقط یک الگو است! تعریف میزبان (نام windows-server؛ نام این قالب میزبان از generic-host استفاده می کند؛ مقادیر پیش فرض را از الگوی میزبان عمومی check_period 24x7 به ارث می برد؛ به طور پیش فرض، سرورهای ویندوز به صورت شبانه روزی نظارت می شوند check_interval 5؛ به طور فعال سرور را بررسی کنید. هر 5 دقیقه retry_interval 1 ؛ برنامه ریزی مجدد برای بررسی میزبان در فواصل زمانی 1 دقیقه max_check_attempts 10 ؛ هر سرور را 10 بار (حداکثر) بررسی کنید check_command check-host-alive ؛ فرمان پیش فرض برای بررسی اینکه آیا سرورها "زنده" هستند یا خیر notification_period در هر اطلاعیه 24x7 S. زمان - روز یا شب notification_interval 30؛ ارسال مجدد اعلان‌ها هر 30 دقیقه notification_options d,r؛ ارسال اعلان‌ها فقط برای ادمین‌های گروه‌های تماس با کشورهای میزبان خاص؛ اعلان‌ها توسط گروه‌های میزبان پیش‌فرض ویندوز سرورها به مدیران ارسال می‌شوند؛ گروه‌های میزبانی که سرورهای ویندوز باید عضو آن باشند. از icon_image win40.png statusmap_image win40.gd2ثبت 0 ; این را ثبت نکنید - فقط یک الگو است). . .

راه اندازی مجدد سرویس nagios

# سرویس nagios راه اندازی مجدد

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

با Nagios، می توانید پارامترهای اصلی سرور مانند بار CPU، استفاده از حافظه و غیره را نظارت کنید. همه اینها در یک رابط وب موجود است که برای دسترسی به آن نیاز به احراز هویت ساده است. در این مقاله به نحوه نصب Nagios Ubuntu و همچنین پیکربندی این برنامه خواهیم پرداخت.

راه های مختلفی برای نصب Nagios Ubuntu 16.04 وجود دارد. می توانید از PPA استفاده کنید یا با استفاده از آرشیو دانلود شده از وب سایت رسمی نصب کنید. در حال حاضر آخرین نسخه 4.3 است. فقط 4.2 در PPA موجود است، بنابراین نصب دستی را با استفاده از آرشیو در نظر خواهیم گرفت.

اما قبل از شروع نصب، باید سیستم را به روز کنید و تمام اجزای لازم برای ساخت برنامه را نصب کنید:

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip

سپس باید یک گروه و کاربری ایجاد کنید که Nagios تحت آن اجرا شود، و همچنین دستورات شل اجرا شده در رابط وب:

sudo useradd nagios
$ sudo groupadd nagcmd

کاربر nagios و کاربری که Apache تحت آن اجرا می شود را به گروه nagcmd اضافه کنید:

sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data

در مرحله بعد، باید منابع nagios را دانلود کنیم. این کار را می توان با استفاده از دستور ترمینال انجام داد، اما از آنجایی که می خواهیم آخرین نسخه را دریافت کنیم، بهتر است به وب سایت رسمی مراجعه کرده و دانلود کنیم.

ابتدا بر روی مورد کلیک کنید "Nagio Core"، سپس به پایین بروید و فشار دهید دانلود:

در این مرحله می توانید اطلاعات مربوط به خود را پر کنید یا با کلیک کردن از آن رد شوید "پرش از دانلود":

باقی مانده است که نسخه را انتخاب کنید، به عنوان مثال، 4.3.2. پس از اتمام دانلود، به پوشه دانلودها بروید و آرشیو را از حالت بسته خارج کنید:

سی دی ~/دانلودها/
$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

اکنون می‌توانیم به کامپایل nagios برویم. برای این کار باید دستورات زیر را اجرا کنید:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
$ساخت همه
$ sudo را نصب کنید
$ sudo make install-init
$ sudo make install-config
$ sudo make install-commandmode
$ sudo make install-webconf

راه اندازی Nagios در اوبونتو

تمام فایل های پیکربندی برنامه توسط نصب کننده در /usr/local/nagios/etc/ قرار می گیرد. تنظیمات پیش‌فرض به Nagios اجازه اجرا می‌دهد، اما باید چند تغییر دیگر ایجاد کنیم. فایل contact.cfg را باز کنید و آدرس ایمیلی که اعلان‌ها به آن ارسال می‌شود را تغییر دهید:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

تعریف مخاطب(
contact_name nagiosadmin ; نام کاربری کوتاه
از generic-contact استفاده کنید. الگوی پیش فرض
نام مستعار Nagios Admin ; نام کاربری کامل
پست الکترونیک [ایمیل محافظت شده]سایت اینترنتی ؛ ایمیل شما
}

برای اینکه رابط وب کار کند، باید یک رمز عبور برای کاربر nagiosadmin با استفاده از htpasswd ایجاد کنید، بدون آن به سادگی نمی توانید رابط را وارد کنید:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

در نهایت برای عملکرد صحیح باید چند تنظیمات را برای وب سرور انجام دهید. ماژول cgi را فعال کنید:

sudo a2enmod cgi

راه اندازی مجدد وب سرور:

راه اندازی مجدد سرویس sudo apache2

برای ویژگی های بیشتر nagios، می توانید مجموعه ای از افزونه ها را نصب کنید. برای این کار ابتدا آن را دانلود کنید:


حالا آرشیو را از حالت بسته خارج کنید و به پوشه ای با آن بروید:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz
$ cd /tmp/nagios-plugins-2.1.1/

برای کامپایل ماژول ها اجرا کنید:

./configure --with-nagios-user=nagios --with-nagios-group=nagios
$ساخت
$ را نصب کنید

ماژول ها در پوشه Nagios نصب شده اند، اکنون بررسی کنید که آیا پیکربندی صحیح است:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

برای شروع خودکار، یک فایل Unit برای systemd ایجاد کنید:

sudo vi /etc/systemd/system/nagios.service


توضیحات=ناگیوس
BindTo=network.target


WantedBy=multi-user.target


کاربر=nagios
گروه=ناگیوس
نوع = ساده
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

راه اندازی Nagios

تقریباً همه چیز آماده است، باقی مانده است که سرویس را شروع کنید و شروع به استفاده از آن کنید. برای شروع سرویس، تایپ کنید:

sudo systemctl stat nagios

برای باز کردن رابط وب nagios کافی است آدرس IP و url nagios را در مرورگر تایپ کنید. اگر همه اینها را روی رایانه محلی خود نصب کرده اید، از این موارد استفاده کنید:

http://localhost/nagios

بلافاصله پس از باز کردن صفحه، باید نام کاربری nagiosadmin و رمز عبوری که قبلا برای آن تعیین کرده اید را وارد کنید. پس از آن، می توانید از تمام ویژگی های برنامه استفاده کنید:

نتیجه گیری

در این مقاله نحوه پیکربندی nagios 4 و همچنین نصب کامل آخرین نسخه در سیستم عامل اوبونتو را بررسی کردیم. با وجود این واقعیت که در نگاه اول، همه چیز پیچیده به نظر می رسد، روند بسیار ساده است. اکنون می توانید nagios ubuntu 16.04 را نظارت کنید. امیدوارم این اطلاعات برای شما مفید بوده باشد.

یک راه حل نظارتی محبوب، nagios به شما امکان می دهد سیستم های مقیاس پذیر را پیاده سازی کنید. پیکربندی برای سیستم های توزیع شده یک فرآیند طولانی است، در چارچوب مقاله ما نظارت بر یک سرویس را در یک میزبان راه دور پیاده سازی خواهیم کرد.

کار پیکربندی روی سروری با سیستم عامل انجام خواهد شد CentOS 7، مشتری nrpe از CentOS 7 نیز استفاده خواهد کرد

افزونه را روی کلاینت نصب کنید nrpeو اجازه اتصال به سرور را در تنظیمات آن بدهید.

نصب و پیکربندی Nagios سرور مانیتورینگ

پیکربندی را روی دستگاهی شروع می کنیم که به عنوان یک سرور nagios عمل می کند. بسته های لازم را نصب کنید:

yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp unzip

nagios کار می کند آپاچی، بنابراین httpd در لیست بسته های نصب شده قرار دارد

با فایل های موقت به دایرکتوری ریشه می رویم و آخرین نسخه های nagios و nagios-plugins را با استفاده از wget در آن دانلود می کنیم.

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.2.8.tar.gz

wget http://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

یک کاربر و گروه سیستم ایجاد کنید

افزودن کاربر nagios به گروه nagcmd

usermod -a -G nagcmd nagios

usermod -a -G nagios,nagcmd apache

از آنجایی که ما از CentOS استفاده می کنیم httpd به عنوان کاربر www-data اجرا نمی شود، بلکه به عنوان کاربر آپاچی اجرا می شود

برای جلوگیری از تضاد حقوق در آینده، کاربر apache را به گروه‌های nagios، nagcmd اضافه کنید

محتوای آرشیو دانلود شده را استخراج کنید

tar -zxvf nagios-4.2.0.tar.gz

به دایرکتوری با فایل های nagios بروید

در آینده هم nagios و هم nrpe را از منبع نصب خواهیم کرد

./configure --with-command-group=nagcmd

گروه nagcmd را به عنوان یک گزینه در هنگام اسمبلی مشخص کنید

تدوین

حالت دستوری نصب کنید

به صورت بازگشتی دایرکتوری کتابخانه را در /usr/local روی سرور کپی کنید

cp -R contrib/eventhandlers /usr/local/nagios/libexec

همچنین به صورت بازگشتی مالک و گروه مالک دایرکتوری ها و فایل ها را در nagios تغییر می دهیم

chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

سعی می کنیم با مشخص کردن مسیر فایل پیکربندی اصلی، نسخه nagios را اجرا کرده و ببینیم

nagios را به راه اندازی اضافه کنید - سیستم هر بار هنگام راه اندازی آن را اجرا می کند

systemctl nagios را فعال می کند

شروع سرویس

ما عملیات مشابهی را با وب سرور انجام می دهیم

رمز عبور کاربر nagios را تنظیم کنید

با کمک htpasswdفایلی ایجاد کنید که دسترسی کاربر nagiosadmin را محدود کند

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

نصب بسته اصلی اکنون کامل شده است. مرورگر اینترنت را باز می کنیم و آدرس ip سرور را در کادر جستجو وارد می کنیم، سپس /nagios را وارد می کنیم و وارد رابط وب می شویم.

راه اندازی مانیتورینگ سرویس در یک میزبان راه دور

ما به دستگاه سرور دیگری می رویم که به عنوان یک کلاینت nagios عمل می کند
به دایرکتوری /tmp/ بروید

بسته بندی nagios-plugins-2.1.2 را باز کنید

tar -zxvf nagios-plugins-2.1.2

سی دی nagios-plugins-2.1.2

کامپایل با کاربر و گروه nagios

./configure --with-command-user=nagios --with-nagios-group=nagios

اکنون نصب کنید پلاگین nrpe

ابتدا، علاوه بر این، از مخزن openssl-devel نصب کنید، اگر قبلاً نصب شده است، از مرحله رد شوید (بسته باید در سرور nagios نیز وجود داشته باشد)

yum -y openssl-devel را نصب کنید

شما همچنین می توانید از مخزن نصب کنید

yum نصب nagios-plugins-all nagios-plugins-nrpe

اگر به یک نسخه جدید نیاز دارید، بنابراین
در حال دانلود بسته

wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

tar.gz را باز کنید

tar -zxvf nrpe-2.15.tar.gz

کامپایل به روش قبلی

به سرور nagios بروید

سعی می کنیم از سروری که بعد از کلید مشخص شده است وصل شویم -اچآدرس IP مشتری

اتصال رد شد و به پیکربندی افزونه می رویم

ما nrpe را روی مشتری شروع می کنیم و سرویس را به راه اندازی اضافه می کنیم

فایل پیکربندی اصلی را باز کنید و آدرس IP سرور را به عنوان مقدار در قسمت allow_hosts مشخص کنید.

mcedit /etc/nrpe/nrpe.cfg

مجاز_میزبان = 10.11.27.11

بازگشت به سرور

/usr/local/nagios/libexec/check_nrpe -H 10.11.27.44

اکنون تلاش ما موفقیت آمیز بوده و نسخه nagios را می بینیم

دوباره تنظیمات اصلی را باز کنید

علامت نظر را از خط با حذف کنید cfg_dir(cfg_dir=/usr/local/nagios/etc/servers)

یک دایرکتوری ایجاد کنید و به آن تغییر دهید

mkdir /usr/local/nagios/etc/servers

cd /usr/local/nagios/etc/servers

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

ما پارامترهای میزبان را تجویز می کنیم، معنای دستورالعمل ها از نام مشخص است. در صورت نیاز به نظارت دقیق می‌تواند تعداد بیشتری از این دستورالعمل‌ها وجود داشته باشد، در اینجا ما پیکربندی اصلی کار را در نظر می‌گیریم.

تعریف میزبان (
از سرور لینوکس استفاده کنید
host_name cenos11
مستعار فقط مشتری nagios
آدرس 10.11.27.44
max_check_attempts 5
چک_دوره 24×7
notification_interval 30
دوره اعلان 24×7

}

یک پیکربندی برای سرویسی که در حال نظارت هستیم اضافه کنید. اکنون ما خود را به بررسی وجود پینگ به هاست محدود می کنیم

{
از خدمات عمومی استفاده کنید
host_name cenos11
service_description PING
check_command check_ping!100.0.20%!500.0.50%
}

دستور check_command استفاده شده است، گزیده ای از کتابچه راهنمای مربوط به آن به شرح زیر است:

check_ping -H -w،% -c،%
[-p بسته] [-t مهلت زمانی] [-4|-6]

بر این اساس، با از دست دادن 20٪ از بسته ها، ما یک اخطار دریافت خواهیم کرد، با از دست دادن 50٪ - ALERT

دوباره اجرا کنید و مطمئن شوید که خطایی وجود ندارد

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

راه اندازی مجدد سرویس

systemctl راه اندازی مجدد nagios

ما به رابط وب می رویم و می بینیم که سرویس روی میزبان راه دور که ما نظارت می کنیم در آنجا نمایش داده می شود (در پیکربندی نشان داده شده در تصویر، نظارت بر تعدادی از منابع دیگر پیکربندی شده است). پیکربندی سرور مانیتورینگ با عملکرد اصلی اکنون کامل شده است.

راه اندازی ALERT ها در nagios

فایل پیکربندی اصلی را باز کنید و در صورت لزوم خط را از کامنت خارج کنید cfg_file=/usr/local/nagios/etc/objects/contacts.cfg:

mcedit /usr/local/nagios/etc/nagios.cfg

در فایل، آدرس ایمیل تماس برای ارسال اعلان ها را تعریف می کنیم:

mcedit /usr/local/nagios/etc/objects/contacts.cfg

تعریف مخاطب (
contact_name nagiosadmin
از generic-contact استفاده کنید
نام مستعار Nagios Admin
پست الکترونیک [ایمیل محافظت شده]

}

راه اندازی مجدد سرویس

cyctemctl راه اندازی مجدد nagios

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

برای سرورها، می‌توانید سرور و کلاینت Nagios را روی یک دستگاه نصب کنید، اما استفاده از بسته‌های مختلف، مانند .

این راهنما به شما کمک می کند تا سیستم مانیتورینگ منبع باز محبوب Nagios 4 را بر روی سرور اوبونتو 14.04 نصب کنید و همچنین پیکربندی اولیه نظارت بر منابع میزبان را انجام دهید. علاوه بر این، راهنما نشان می‌دهد که چگونه می‌توان Nagios Remote Plugin Executor (NRPE) را به عنوان یک عامل در میزبان‌های راه دور برای نظارت بر منابع آن‌ها راه‌اندازی کرد.

سیستم Nagios به شما امکان نظارت بر منابع سرور و عملکرد خدمات اساسی را می دهد. به طور کلی سیستم های مانیتورینگ ابزاری ضروری برای هر محیط تولیدی هستند.

توجه: راهنمای مشابهی برای CentOS را می‌توانید در اینجا پیدا کنید.

الزامات

  • سرور اوبونتو از پیش پیکربندی شده 14.04.
  • حقوق ابرکاربر (جزئیات بیشتر -).
  • پشته LAMP از پیش نصب شده (دستورالعمل های نصب را می توانید پیدا کنید).
  • شبکه خصوصی؛ اگر سرور شما از شبکه خصوصی پشتیبانی نمی کند، به سادگی ارجاع به آدرس IP داخلی را با آدرس IP خارجی جایگزین کنید.

نصب Nagios 4

ایجاد یک کاربر و گروه Nagios

یک کاربر و گروه برای اجرای فرآیند Nagios ایجاد کنید. در این راهنما کاربر nagios و گروه nagcmd نامیده می شود. آنها را ایجاد کنید و کاربر را به گروه اضافه کنید.

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

نصب وابستگی ها

پس از آن، باید چند کتابخانه توسعه برای ساخت Nagios Core از منبع، و apache2-utils برای سفارشی کردن رابط Nagios نصب کنید.

لیست بسته سیستم را به روز کنید:

به روز رسانی sudo apt-get

نصب بسته ها:

sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip

نصب Nagios Core

آخرین نسخه پایدار Nagios Core را دانلود کنید. صفحه دانلود سایت را باز کنید، برای دانلود روی Skip کلیک کنید و لینک نسخه پایدار را دانلود کنید.

توجه: این راهنما از Nagios نسخه 4.1.1 استفاده می کند.

بسته را در فهرست اصلی خود بارگیری کنید:

سی دی ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

بایگانی را از حالت فشرده خارج کنید:

tar xvf nagios-*.tar.gz

دایرکتوری حاصل را باز کنید:

قبل از شروع ساخت Nagios، باید سیستم را پیکربندی کنید. برای پیکربندی Nagios برای پشتیبانی از postfix (که با apt-get قابل نصب است)، --with-mail=/usr/sbin/sendmail را به دستور زیر اضافه کنید:

./configure --with-nagios-group=nagios --with-command-group=nagcmd

کامپایل Nagios:

سپس Nagios، اسکریپت های اولیه و نمونه فایل های پیکربندی را نصب کنید:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

برای اینکه بتوانید دستورات خارجی را از طریق رابط وب Nagios اجرا کنید، باید کاربر www-data را به گروه nagcmd اضافه کنید:

sudo usermod -G nagcmd www-data

نصب پلاگین های Nagios

آخرین نسخه Nagios Plugins را می توانید در این لینک پیدا کنید. پیوند را به آخرین نسخه پایدار کپی کنید و بسته را در فهرست اصلی خود دانلود کنید.

توجه: این راهنما از پلاگین های Nagios نسخه 2.1.1 استفاده می کند.

سی دی ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

آرشیو Nagios Plugins را از حالت فشرده خارج کنید.

tar xvf nagios-plugins-*.tar.gz

دایرکتوری حاصل را باز کنید:

سی دی nagios-plugins-*

قبل از ساخت بسته ها، پیکربندی Nagios Plugins را اجرا کنید.

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

کامپایل پلاگین های Nagios:

بسته به دست آمده را نصب کنید:

sudo make install

نصب NRPE

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

توجه: این راهنما از NRPE 2.15 استفاده می کند.

سی دی ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

آرشیو NRPE را از حالت فشرده خارج کنید:

tar xvf nrpe-*.tar.gz

تغییر به دایرکتوری حاصل:

برای پیکربندی NRPE، دستور زیر را اجرا کنید:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr /lib/x86_64-linux-gnu

سپس NRPE و اسکریپت xinetd را بسازید و نصب کنید:

همه را بساز
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

اسکریپت راه اندازی xinetd را در یک ویرایشگر متن باز کنید:

sudo vi /etc/xinetd.d/nrpe

در خط only_from، آدرس IP داخلی سرور Nagios را اضافه کنید:

only_from = 127.0.0.1 10.132.224.168

توجه: لطفا آدرس IP صحیح خود را وارد کنید.

ذخیره کنید و فایل را ببندید. اکنون فقط سرور Nagios می تواند با NRPE تعامل داشته باشد.

راه اندازی مجدد xinetd:

راه اندازی مجدد سرویس sudo xinetd

نصب Nagios 4 با موفقیت انجام شد. اکنون باید سیستم را راه اندازی کنیم.

راه اندازی Nagios 4

فایل پیکربندی اصلی Nagios را در یک ویرایشگر متن باز کنید:

sudo vi /usr/local/nagios/etc/nagios.cfg

خط زیر را بیابید و از نظر خارج کنید:

#cfg_dir=/usr/local/nagios/etc/servers

ذخیره کنید و فایل را ببندید.

یک دایرکتوری برای ذخیره فایل های پیکربندی سرورهای نظارت شده ایجاد کنید.

sudo mkdir /usr/local/nagios/etc/servers

فایل پیکربندی مخاطبین را در یک ویرایشگر متن باز کنید:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

دستورالعمل ایمیل را پیدا کنید و آن را با آدرس ایمیل خود پر کنید.

پست الکترونیک [ایمیل محافظت شده] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

ذخیره کنید و فایل را ببندید.

پیکربندی دستور check_nrpe

یک دستور جدید به تنظیمات Nagios اضافه کنید:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

کد زیر را به انتهای فایل اضافه کنید:

تعریف دستور (
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

ذخیره کنید و فایل را ببندید. اکنون باید بتوانید از دستور check_nrpe در تعریف سرورهای Nagios استفاده کنید.

راه اندازی آپاچی

ماژول های rewrite و cgi را فعال کنید:

sudo a2enmod بازنویسی
sudo a2enmod cgi

از htpasswd برای ایجاد کاربری به نام nagiosadmin برای دسترسی به رابط وب Nagios استفاده کنید.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

رمز عبور را وارد کنید. این اعتبارنامه ها را به خاطر بسپارید زیرا هنگام کار با رابط وب Nagios مفید خواهند بود.

توجه: اگر این نام کاربری nagiosadmin نیست، باید فایل /usr/local/nagios/etc/cgi.cfg را ویرایش کنید و نام کاربری دیگری را در همه مراجع به nagiosadmin تعیین کنید.

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

سیستم Nagios اکنون آماده اجرا است. فراموش نکنید که Apache را مجددا راه اندازی کنید:

سرویس sudo nagios شروع می شود
راه اندازی مجدد سرویس sudo apache2

برای پیکربندی Nagios autostart، وارد کنید:

sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

محدودیت دسترسی با آدرس IP (اختیاری)

برای اجازه دسترسی فقط به آدرس های IP خاص، پیکربندی آپاچی را ویرایش کنید:

sudo vi /etc/apache2/sites-available/nagios.conf

خطوط زیر را بیابید و نظر دهید:

دستور اجازه، انکار
اجازه از همه

سپس خطوط زیر را حذف کنید و آدرس‌های IP یا محدوده آدرس‌های IP (که با یک فاصله از هم جدا شده‌اند) که به سرور دسترسی دارند را به دستور Allow from اضافه کنید:

# دستور رد، اجازه
# انکار از همه
# اجازه از 127.0.0.1

توجه: از آنجایی که این خطوط دو بار در فایل پیکربندی ظاهر می شوند، باید این دستورالعمل ها را دو بار تکرار کنید.

ذخیره کنید و فایل را ببندید.

Nagios را راه اندازی کنید و Apache را مجددا راه اندازی کنید تا تنظیمات را به روز کنید:

سرویس sudo nagios راه اندازی مجدد
راه اندازی مجدد سرویس sudo apache2

رابط وب Nagios

یک مرورگر باز کنید و با استفاده از این لینک به Nagios بروید:

http://nagios_server_public_ip/nagios

وب سرور آپاچی از htpasswd استفاده می کند، بنابراین باید اعتبار کاربر nagiosadmin را وارد کنید.

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

همانطور که می بینید، Nagios در حال حاضر فقط لوکال هاست را نظارت می کند.

مانیتورینگ میزبان با NRPE

این بخش به شما نشان می دهد که چگونه یک سرور جدید را به تنظیمات مانیتورینگ Nagios اضافه کنید.

توجه: اگر می خواهید چندین سرور اضافه کنید، این دستورالعمل ها را در هر یک از آنها تکرار کنید.

وارد سروری شوید که می‌خواهید فهرست تماشا کنید و apt-get را به‌روزرسانی کنید:

به روز رسانی sudo apt-get

سپس Nagios Plugins و NRPE را نصب کنید.

sudo apt-get نصب nagios-plugins nagios-nrpe-server

راه اندازی هاست

فایل پیکربندی NRPE را در یک ویرایشگر متن باز کنید:

sudo vi /etc/nagios/nrpe.cfg

دستور مجاز_hosts را پیدا کنید و آدرس IP داخلی سرور Nagios را (با کاما از هم جدا کنید) به انتها اضافه کنید.

allow_hosts=127.0.0.1,10.132.224.168

ذخیره کنید و فایل را ببندید. اکنون NRPE درخواست های سرور Nagios را از طریق آدرس IP داخلی می پذیرد.

سفارشی کردن دستورات NRPE

نام فایل سیستم ریشه را مشخص کنید (این یکی از اجزایی است که نظارت خواهد شد):

از نام سیستم فایل در پیکربندی NRPE برای نظارت بر استفاده از دیسک (/dev/vda) استفاده کنید. nrpe.cfg را در یک ویرایشگر باز کنید:

sudo vi /etc/nagios/nrpe.cfg

فایل پیکربندی NRPE بسیار طولانی است و حاوی خطوط نظر بسیاری است. شما فقط به خطوط زیر نیاز دارید:

  • server_address: آدرس IP داخلی هاست را مشخص کنید.
  • allow_hosts: آدرس IP داخلی سرور Nagios را مشخص کنید.
  • دستور: /dev/hda1 را با نام فایل سیستم ریشه جایگزین کنید.

در نتیجه، این خطوط باید به شکل زیر باشد:

server_address=client_private_IP
allow_hosts=nagios_server_private_IP
command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda

توجه داشته باشید که فایل حاوی چندین خط فرمان دیگر است که Nagios می تواند از آنها استفاده کند. NRPE در پورت 5666 گوش می دهد (line server_port=5666). اگر این پورت توسط فایروال مسدود شده است، حتما آن را باز کنید.

ذخیره کنید و فایل را ببندید.

برای به‌روزرسانی تنظیمات، NRPE را مجدداً راه‌اندازی کنید:

راه اندازی مجدد سرویس sudo nagios-nrpe-server

پس از آن، باید هاست را به تنظیمات سرور Nagios اضافه کنید.

اضافه کردن هاست به تنظیمات Nagios

به سرور Nagios بروید و یک فایل پیکربندی جدید برای هاست در /usr/local/nagios/etc/servers/ ایجاد کنید.

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

توجه: هاست خود را با نام هاست خود جایگزین کنید.

کد زیر را به فایل اضافه کنید و مقدار host_name را با نام میزبان راه دور (web-1 در این مثال)، مقدار مستعار را با توضیحات میزبان و آدرس را با آدرس IP داخلی میزبان راه دور جایگزین کنید.

تعریف میزبان (
از سرور لینوکس استفاده کنید
host_name میزبان شما
نام مستعار اولین سرور آپاچی من
آدرس 10.132.234.52
max_check_attempts 5
چک_دوره 24x7
notification_interval 30
اعلان_دوره 24x7
}

اکنون Nagios این سرور را نظارت خواهد کرد. با این حال، سیستم فقط وضعیت میزبان راه دور (فعال یا غیرفعال) را ردیابی می کند. اگر کافی است، فایل را ذخیره و ببندید. اگر می‌خواهید سرویس‌های جداگانه را روی یک میزبان راه دور نظارت کنید، فایل را نبندید.

در زیر نمونه هایی از پیکربندی ردیابی سرویس آورده شده است. فقط سرویسی را که می خواهید ردیابی کنید انتخاب کنید و بلوک تنظیمات پیشنهادی را به فایل اضافه کنید. به خاطر داشته باشید که مقدار check_command تعیین می کند که چه چیزی نظارت می شود.

تعریف سرویس(
از خدمات عمومی استفاده کنید
host_name میزبان شما
service_description PING
check_command check_ping!100.0.20%!500.0.60%
}

SSH (notifications_enabled تنظیم شده روی 0 اعلان‌ها را غیرفعال می‌کند):

تعریف سرویس(
از خدمات عمومی استفاده کنید
host_name میزبان شما
service_description SSH
check_command check_ssh
notifications_enabled 0
}

دستورالعمل استفاده از سرویس عمومی به سادگی از الگوی سرویس عمومی پیش‌فرض به ارث می‌رسد.

ذخیره کنید و فایل را ببندید. برای به‌روزرسانی تنظیمات Nagios را راه‌اندازی مجدد کنید:

سرویس sudo nagios reload

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

نتیجه

پس از تنظیم مانیتورینگ هاست و برخی از سرویس ها، تعیین کنید که کدام سرویس ها برای عملکرد سرور حیاتی هستند و آنها را به لیست اضافه کنید. همچنین می توانید اعلان ها را تنظیم کنید. به عنوان مثال، Nagios ممکن است گزارش دهد که استفاده از دیسک به نقطه بحرانی رسیده است یا اینکه وب سایت از کار افتاده است. این به شما امکان می دهد چنین مشکلاتی را به موقع از بین ببرید.

برچسب ها: ,

در شبکه های بزرگ، نظارت بر اشیاء استراتژیک مانند روترها، وب سرورها و ذخیره سازی فایل ها به سادگی ضروری است، هر چه زودتر نقص مشخص شود، زودتر برطرف می شود!
به عنوان یک سیستم نظارتی، پیشنهاد می کنم از آن استفاده کنید ناگیوس
پلتفرم برای نصب انتخاب شده است اوبونتو 10.10 ، با استفاده از نصب کننده داخلی، نصب کنید nagios :

لازم به ذکر است که در این مورد آپاچی شما نمی توانید پیکربندی کنید، زیرا پیکربندی اولیه کافی است.
حالا بیایید فایلی ایجاد کنیم که پارامترهای هاست را توصیف کند. به تنظیمات بروید :

سی دی /etc/nagios3/conf.d نانو myhosts.cfg

در پرونده myhosts.cfg به هر دستگاه یک آدرس و یک توضیح اختصاص دهید:

تعریف میزبان ( host_name پایانه های سرور مستعار آدرس پایانه های سرور 192.168.1.2 استفاده از generic-host ) تعریف میزبان (host_name Server-www alias Server www آدرس 192.168.1.12 use generic-host ) تعریف میزبان (host_name Server-192 firewall.6. .1.21 استفاده از generic-host ) تعریف میزبان ( host_name نام مستعار Server-statistic server آدرس آماری 192.168.1.20 use generic-host ) تعریف میزبان ( host_name Server-ad alias Server-ad alias Server ad 192.168.1.14 use generic-host) -ad alias آدرس آگهی سرور 10.0.0.1 والدین سرور-آگهی استفاده از میزبان عمومی) تعریف میزبان (مدم_نام میزبان- آدرس آگهی سرور نام مستعار www 172.16.0.3 والدین سرور-www استفاده عمومی-میزبان) تعریف میزبان (مدم_نام_مدم_نام مستعار آماری سرور آدرس آگهی 192.168.0.253 والدین استفاده از آمار سرور generic-host )

پارامتر والدین ما نشان می دهیم که به طور منطقی این شی به کدام دستگاه متصل می شود، بنابراین اصلاح نقشه شبکه امکان پذیر می شود.
ما می توانیم تمام میزبان های اعلام شده را در برگه مشاهده کنیم میزبان ها مرورگر و آنها به این شکل خواهند بود:


در مرحله بعد، باید دستگاه های اعلام شده را به گروه ها اضافه کنیم، بسته به روش تأیید بیشتر، می توان یک رایانه را همزمان به چندین گروه اضافه کرد. ویرایش فایل گروه :

اکنون که گروه ها ساخته شده اند، پارامترها را برای بررسی تنظیم می کنیم، در این حالت پینگ را بررسی می کنیم و درصد بالایی از بسته های گم شده را بررسی می کنیم. nagios با تغییر رنگ یک گره منفرد روی نقشه به ما اطلاع می دهد.
و بنابراین ما فایل خدمات را ویرایش می کنیم:

می خواهیم لوگوی آیتم نمایش داده شده روی نقشه را جایگزین کنیم nagios ، لوگوها داخل هستند /usr/share/nagios/htdocs/images/logos ، هنگام تغییر لوگو، فقط باید یک تصویر جدید در مسیر مشخص شده مشخص کنید.
ویرایش:

یعنی پارامتر default_statuswrl_layout به ارزش از 0 قبل از 5 .
من همچنین دوره رفرش صفحه را در ثانیه با پارامتر تغییر می دهم نرخ تجدید
حالا، در تصویر و شباهت، شما قادر خواهید بود کامپیوترها و گروه ها را به تنهایی اضافه کنید، فکر می کنم این پایان راه اندازی ساده است. در آینده در مورد تنظیمات اضافی مربوط به سیستم اطلاع رسانی خواهم نوشت.