مدیریت سرورمقالات وب

چگونه به کمک افزونه NRPE هاست لینوکس را به سرور مانیتورینگ Nagios اضافه کنیم؟

در این مقاله به شما نشان خواهیم داد چگونه می توانید ماشین ریموت لینوکس  و سرویس های آن را به هاست مانیتورینگ nagios اضافه کنیم.  امیدواریم در حال حاضر Nagios را به درستی نصب و اجرا کرده باشید. بعد از اینکه آن را نصب کردید می توانید افزونه NRPE را بر روی هاست ریموت لینوکس نصب نمایید. در این مقاله همراه وب ایده باشید تا مراحل کار را با هم مرور کنیم.

 NRPE چیست؟

افزونه NRPE به شما اجازه می دهد هر دستگاه شبکه یا سرویس لینوکس / یونیکسی را مانیتور کنید. این افزونه به Nagios اجازه می دهد هرگونه منبع محلی همچون بار CPU، Swap ، استفاده از حافظه و کاربران آنلاین را مانیتور کند.  مهم تر از همه این است که چنین منابع محلی  تقریبا در معرض دستگاه های خارجی نیستند و افزونه NRPE باید بر روی دستگاه ریموت نصب و پیکربندی شود.

 نصب افزونه NRPE:

برای اینکه بتوانید از این گزینه استفاده کنید باید  کارهایی را بر روی هاست مانیتورینگ Nagios و هاست ریموت لینوکس انجام دهید.  سعی می کنیم هر کدام از بخش های نصب را به صورت جداگانه پوشش دهیم. قبل از هر چیزی فرض می کنیم که شما NRPE را بر روی هاستی نصب می کنید که از TCP wrappers  پشتیبانی می کند و بر روی آن Xinted daemon نصب شده است.

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

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

برای نصب افزونه Nagios و NRPE daemon بر روی هاست لینوکس باید از دستورالعمل های زیر استفاده کنید.

گام اول:  نصب Dependency های مورد نیاز

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

# yum install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

-------------- On Fedora 22+ Onwards --------------

# dnf install -y gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel

 

گام دوم: ایجاد کاربر Nagios

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

# useradd nagios

# passwd nagios

 

این مقاله را هم بخوانید: چگونه سیستم مانیتورینگ Nagios را بر روی اوبونتو 16.04 نصب کنیم؟

 

گام سوم: نصب افزونه Nagios

دایرکتوری را برای نصب و همه دانلودهای آینده ایجاد نمایید:

# cd /root/nagios

 

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

# wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

 

گام چهارم: اکسترکت کردن افزونه

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

# tar -xvf nagios-plugins-2.1.2.tar.gz

 

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

# ls -l

total 2640

drwxr-xr-x. 15 root root    4096 Aug  1 21:58 nagios-plugins-2.1.2

-rw-r--r--.  1 root root 2695301 Aug  1 21:58 nagios-plugins-2.1.2.tar.gz

 

گام پنجم: کامپایل و نصب افزونه Nagios

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

# cd nagios-plugins-2.1.2

# ./configure

# make

# make install

 

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

# chown nagios.nagios /usr/local/nagios

# chown -R nagios.nagios /usr/local/nagios/libexec

 

گام ششم: نصب Xinetd

بیشتر سیستم ها به طور پیش فرض این گزینه را دارند. اگر این گزینه وجود نداشت به کمک دستور زیر آن را نصب کنید:

 

# yum install xinetd

-------------- On Fedora 22+ Onwards --------------

# dnf install xinetd

 

گام هفتم: نصب افزونه NRPE

آخرین نسخه از افزونه NRPE را به کمک دستور زیر دانلود کنید:

# cd /root/nagios

# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

 

به کمک دستور زیر سورس کد NRPE را از حالت پک درآورید:

# tar xzf nrpe-3.2.1.tar.gz

# cd nrpe-3.2

 

افزونه NRPE را کامپایل و نصب کنید.

# ./configure

# make all

 

حالا باید NRPE plugin daemon را نصب کنید:

# make install-plugin

# make install-daemon

# make install-daemon-config

 

NRPE daemon را تحت xinted به عنوان سرویس نصب کنید:

# make install-xinetd

OR

# make install-inetd

 

حالا فایل /etc/xinetd.d/nrpe را باز کنید و لوکال هاست و آی پی آدرس سرور مانیتورینگ Nagios را اضافه نمایید:

only_from = 127.0.0.1 localhost <nagios_ip_address>

 

 

در این مرحله باید فایل /etc/services  را باز کنید و  مقادیر زیر را برای NRPE daemon در انتهای فایل بیفزایید:

nrpe            5666/tcp                 NRPE

 

سرویس xinted را ریستارت کنید:

# service xinetd restart

 

گام هشتم: تایید NRPE Daemon به صورت محلی

دستور زیر را اجرا کنید تا NRPE Daemon را تایید نمایید:

# netstat -at | grep nrpe

tcp        0      0 *:nrpe                      *:*                         LISTEN

 

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

  • مطمئن شوید ورودی NRPE را به درستی به فایل /etc/services  اضافه کرده اید
  • only_from در برگیرنده ورودی برای nagios_ip_address در فایل /etc/xinetd.d/nrpe  است
  • xinted نصب و استارت شده است
  • به دنبال خطا در فایل لاگ سیستم در مورد Xinted یا Nrpe باشید و در صورت نیاز خطاهای موجود را برطرف کنید.

حالا دستور زیر را اجرا کنید:

# /usr/local/nagios/libexec/check_nrpe -H localhost

 

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

NRPE v3.2

 

گام نهم: پیکربندی قوانین فایروال

در این مرحله باید مطمئن شوید که فایروال بر روی ماشین محلی به NRPE daemon اجازه می دهد از سرویس ریموت دسترسی داشته باشد. برای اینکار باید دستور زیر را اجرا کنید:

-------------- On RHEL/CentOS 6/5 and Fedora --------------

# iptables -A INPUT -p tcp -m tcp --dport 5666 -j ACCEPT

-------------- On RHEL/CentOS 7 and Fedora 19 Onwards --------------

# firewall-cmd --permanent --zone=public --add-port=5666/tcp

 

برای ذخیره کردن قوانین جدید Iptable دستور زیر را اجرا کنید:

-------------- On RHEL/CentOS 6/5 and Fedora --------------

# service iptables save

 

 گام دهم: سفارشی سازی دستورات NRPE

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

 

# vi /usr/local/nagios/etc/nrpe.cfg

 

موارد زیر دستورات پیش فرضی هستند که در فایل پیکربندی قرار گرفته اند. ما فرض می کنیم که شما از این دستورات استفاده می کنید. می توانید به کمک دستورات زیر ان ها را بررسی کنید:

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users

USERS OK - 1 users currently logged in |users=1;5;10;0

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load

OK - load average: 3.90, 4.37, 3.94|load1=3.900;15.000;30.000;0; load5=4.370;10.000;25.000;0; load15=3.940;5.000;20.000;0;

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1

DISK OK - free space: /boot 154 MB (84% inode=99%);| /boot=29MB;154;173;0;193

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs

PROCS CRITICAL: 297 processes

# /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs

PROCS OK: 0 processes with STATE = Z

 

شما با ویرایش فایل پیکربندی NRPE می توانید دستورات را ویرایش کنید یا دستور جدید به آن بیفزایید. در نهایت  شما افزونه NRPE را با موفقیت بر روی سیستم لینوکس نصب کرده اید. حالا زمان نصب کامپوننت های NRPE و برخی سرویس ها بر روی سرور Nagios فرا رسیده است.

 بر روی سرور مانیتورینگ Nagios:

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

  • نصب افزونه check_nrpe
  • ایجاد دستورات Nagios به کمک افزونه check_nrpe
  • ایجاد هاست Nagios و اضافه کردن سرویس ها برای مانیتورینگ

گام اول: نصب افزونه NRPE

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

# cd /root/nagios

# wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-3.2.1/nrpe-3.2.1.tar.gz

 

به کمک دستور زیر سورس کد NRPE را از حالت پک در آورید:

# tar xzf nrpe-3.2.1.tar.gz

# cd nrpe-3.2

 

افزونه های NRPE را کامپایل و نصب کنید:

# ./configure

# make all

# make install-daemon

 

 گام دوم: تایید NRPE Daemon به صورت ریموت

مطمئن شوید که افزونه check_nrpe  می تواند با NRPE daemon بر روی هاست لینوکس ریموت ارتباط برقرار کند. آی پی آدرس را در دستور زیر با آپی آدرس هاست لینوکس خود جایگزین کنید:

# /usr/local/nagios/libexec/check_nrpe -H <remote_linux_ip_address>

 

باید خروجی زیر را داشته باشید که نشان دهنده نسخه NRPE نصب شده بر روی هاست ریموت است:

NRPE v3.0

 

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

  • مطمئن شوید که فایروال ارتباط بین هاست ریموت و هاست مانیتورینگ را مسدود نمی کند.
  • اطمینان حاصل کنید که NRPE daemon به درستی نصب شده است
  • مطمئن شوید که  قوانین فایروال هاست ریموت لینوکس به درستی تنظیم شده است

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

برای اضافه کردن هاست ریموت شما باید دو فایل جدید به نام های hosts.cfg و services.cfg در موقعیت “/usr/local/nagios/etc/” ایجاد کنید.

# cd /usr/local/nagios/etc/

# touch hosts.cfg

# touch services.cfg

 

حالا این دو فایل را به فایل پیکربندی اصلی  Nagios  اضافه کنید. فایل nagios.cfg  با ویرایشگر دلخواه خود باز کنید:

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

 

حالا دو فایل جدید ایجاد شده را همانند دستور زیر، اضافه کنید:

# You can specify individual object config files as shown below:

cfg_file=/usr/local/nagios/etc/hosts.cfg

cfg_file=/usr/local/nagios/etc/services.cfg

 

حالا فایل hosts.cfg را باز کنید و  نام قالب هاست پیش فرض  را اضافه نمایید و هاست ریموت را همانند زیر تعریف کنید.

مطمئن شوید که گزینه host_name, alias  را با جزییات هاست ریموت خود جایگزین می کنید:

# vi /usr/local/nagios/etc/hosts.cfg

## Default Linux Host Template ##

define host{

name                            linux-box               ; Name of this template

use                             generic-host            ; Inherit default values

check_period                    24x7       

check_interval                  5      

retry_interval                  1      

max_check_attempts              10     

check_command                   check-host-alive

notification_period             24x7   

notification_interval           30     

notification_options            d,r    

contact_groups                  admins 

register                        0                       ; DONT REGISTER THIS - ITS A TEMPLATE

}

## Default

define host{

use                             linux-box               ; Inherit default values from a template

host_name                       tecmint                    ; The name we're giving to this server

alias                           CentOS 6                ; A longer name for the server

address                         5.175.142.66            ; IP address of Remote Linux host

}

 

فایل services.cfg  را باز کنید و سرویس های زیر را برای مانیتور کردن اضافه نمایید:

# vi /usr/local/nagios/etc/services.cfg

define service{

use                     generic-service

host_name               tecmint

service_description     CPU Load

check_command           check_nrpe!check_load

}

define service{

use                     generic-service

host_name               tecmint

service_description     Total Processes

check_command           check_nrpe!check_total_procs

}

define service{

use                     generic-service

host_name               tecmint

service_description     Current Users

check_command           check_nrpe!check_users

}

define service{

use                     generic-service

host_name               tecmint

service_description     SSH Monitoring

check_command           check_nrpe!check_ssh

}

define service{

use                     generic-service

host_name               tecmint

service_description     FTP Monitoring

check_command           check_nrpe!check_ftp

}

 

حالا باید در فایل commands.cfg  تعریف دستورات NRPE اضافه شود.

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

 

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

###############################################################################

# NRPE CHECK COMMAND

#

# Command to use NRPE to check remote host systems

###############################################################################

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$

}

 

در نهایت فایل پیکربندی Nagios را تایید کنید تا مطمئن شوید خطایی نداشته باشد:

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

Total Warnings: 0

Total Errors:   0

 

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

# service nagios restart

 

 

خوب کار شما تمام شده است. حالا به رابط وب nagios بروید و نام کاربری و پسورد را وارد نمایید. ببینید هاست ریموت نصب شده و به درستی مانیتور می گردد یا خیر.

5/5 - (1 امتیاز)
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن