您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關在Ubuntu 14.04上如何安裝Nagios用于監控服務器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Nagios 4是很流行的開源監控系統。本文將介紹如何在Ubuntu 14.04上進行該系統的安裝與一些基本配置,配置完畢后可以在其Web界面對你的主機進行監控。本文還將涉及Nagios Remote Plugin Executor(NRPE)插件的優化,該插件安裝在需要被監控的主機上作為agent使用。
使用Nagios,我們可以隨時查看主機的資源使用情況、確保重要的服務正在正常運行。此類監控服務是生產環境的必備工具。
首先你需要一臺Ubuntu 14.04云主機,上面配置過帶有sudo權限的普通用戶(配置教程可參考這篇文章)。
這臺主機上還需要安裝LAMP軟件棧。有關LAMP的安裝可參考這篇教程。
本教程假設該主機使用的是私有網絡,但你也可以使用該主機的公網IP地址完成本教程。
下面將介紹Nagios 4的安裝。本步驟只需要完成一次即可。
創建“nagios”用戶以及“nagcmd”用戶組用于運行Nagios進程,并將nagios用戶添加到nagcmd用戶組中:
sudo useradd nagios sudo groupadd nagcmd sudo usermod -a -G nagcmd nagios
1
2
3
4
我們將從源代碼構建Nagios Core,這就需要先安裝一些依賴的開發庫。此外我們還要安裝apache2-utils
用于設置Nagios的Web界面。
首先更新apt-get軟件包列表:
sudo apt-get update
1
2
然后安裝如下軟件包:
sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip
1
2
從Nagios官方下載頁面獲取最新版Nagios Core的源代碼下載地址。
本教程撰寫時的最新版本是Nagios 4.1.1,下載地址如下:
cd ~ curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz
1
2
3
將軟件包解壓縮:
tar xvf nagios-*.tar.gz
1
2
進入解壓縮后的目錄:
cd nagios-*
1
2
構建之前需要做一些配置:
./configure --with-nagios-group=nagios --with-command-group=nagcmd
1
2
如果你需要使用postfix,則還需要在上述命令后面加一個--with-mail=/usr/sbin/sendmail
。
現在可以編譯了:
make all
1
2
然后,運行如下命令以安裝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
1
2
3
4
5
6
因為需要使用Web界面訪問Nagios,我們還需要將www-data
用戶加入nagcmd
用戶組:
sudo usermod -G nagcmd www-data
1
2
最新的Nagios插件可以從Nagios Plugins Download頁面獲取。將下載地址復制下來。
本文撰寫時的最新版本是Nagios Plugins 2.1.1,下載地址為:
cd ~ curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz
1
2
3
將軟件包解壓縮:
tar xvf nagios-plugins-*.tar.gz
1
2
進入解壓縮后的目錄:
cd nagios-plugins-*
1
2
做一些配置:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
1
2
然后編譯:
make
1
2
用如下命令安裝:
sudo make install
1
2
在這個頁面獲取NRPE最新穩定版的下載地址。本文撰寫時的最新版本為2.15,下載地址為:
cd ~ curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz
1
2
3
解壓縮:
tar xvf nrpe-*.tar.gz
1
2
進入目錄:
cd nrpe-*
1
2
做一些配置:
./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
1
2
構建并安裝NRPE以及其xinetd啟動腳本:
make all sudo make install sudo make install-xinetd sudo make install-daemon-config
1
2
3
4
5
打開xinetd啟動腳本:
sudo vi /etc/xinetd.d/nrpe
1
2
將only_from
這一行的內容修改,添加你的Nagios服務器的IP地址(本文使用的地址是10.132.224.168,你需要替換成你的服務器地址):
only_from = 127.0.0.1 10.132.224.168
1
2
保存退出。現在,只有Nagios服務器能夠與NRPE通訊。
重啟xinetd服務以啟動NRPE:
sudo service xinetd restart
1
2
本章節介紹Nagios的配置。這些配置操作只需要在Nagios服務器上執行一次即可。
打開Nagios的主配置文件:
sudo vi /usr/local/nagios/etc/nagios.cfg
1
2
找到下面這一行,將前面的井號刪除:
#cfg_dir=/usr/local/nagios/etc/servers
1
2
保存退出。
創建一個新的目錄用于保存配置文件,每一個要監控的服務器都有一個單獨的配置文件:
sudo mkdir /usr/local/nagios/etc/servers
1
2
打開Nagios通訊錄配置文件:
sudo vi /usr/local/nagios/etc/objects/contacts.cfg
1
2
找到Email這一行,將里面的郵件改成你自己的郵件地址:
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
1
2
保存退出。
接下來我們要在Nagios配置里添加一個新的命令。打開Nagios的命令配置文件:
sudo vi /usr/local/nagios/etc/objects/commands.cfg
1
2
將如下內容粘貼到文件末尾:
define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
1
2
3
4
5
保存退出。現在可以使用check_nrpe
命令了。
啟用Apache的rewrite和cgi模塊:
sudo a2enmod rewrite sudo a2enmod cgi
1
2
3
使用htpasswd創建一個名為“nagiosadmin”的管理員用戶,該用戶可以訪問Nagios的Web界面:
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
1
2
為該用戶設置一個密碼。這個密碼將用于以后Nagios Web界面的登陸。(密碼暫設置為:12345678)
你也可以使用別的用戶名,那樣的話你需要在/usr/local/nagios/etc/cgi.cfg
文件中將“nagiosadmin”修改成你需要的名字。
現在,為nagios.conf
創建一個符號鏈接到sites-enabled
目錄下:
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
1
2
Nagios現在已經可以啟用了。只需要輸入如下命令重啟Apache即可:
sudo service nagios start sudo service apache2 restart
1
2
3
輸入如下指令可以讓Nagios在每次系統啟動時一起啟動:
sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
1
2
如果你希望限制只有特定IP才能訪問Nagios的Web界面,可以編輯如下配置文件:
sudo vi /etc/apache2/sites-available/nagios.conf
1
2
找到下面這兩行,在前面添加井號以使其失效:
Order allow,deny Allow from all
1
2
3
然后,找到下面這三行,將前面的井號去掉,再在Allow from這一行的后面加上你希望添加的IP地址。
# Order deny,allow # Deny from all # Allow from 127.0.0.1
1
2
3
4
上述的五行在該配置文件中一共出現了兩次,所以兩處都需要做同樣的處理。
編輯完畢后,保存退出。
重啟Apache以生效:
sudo service nagios restart sudo service apache2 restart
1
2
3
在瀏覽器中打開Nagios服務器的IP地址(把nagios_server_public_ip替換成你的IP):
http://nagios_server_public_ip/nagios
1
2
Apache會問你要用戶名和密碼,就是我們剛才設置過的nagiosadmin:
輸入用戶名和密碼,驗證通過后,就可以看到默認的Nagios主頁。點擊左側導航條的Hosts,可以查看Nagios正在監控的主機列表:
這里現在還只有一個localhost,也就是它自己。我們現在可以給它添加一些其他的監控對象了!
本章節將給Nagios添加新的監控對象。每次需要添加新的監控對象時,只需操作本章節中的步驟即可。
在待監控對象上,執行系統升級操作:
sudo apt-get update
1
2
然后,安裝Nagios插件和NRPE:
sudo apt-get install nagios-plugins nagios-nrpe-server
1
2
用編輯器打開NRPE的配置文件:
sudo vi /etc/nagios/nrpe.cfg
1
2
找到allowed_hosts
這一行,將剛才的Nagios服務器的IP地址加到末尾(把我的那個10.132.224.168替換成你的IP地址):
allowed_hosts=127.0.0.1,10.132.224.168
1
2
保存退出。如此,這臺主機就允許來自該IP的請求訪問本機的NRPE了。
檢查一下根文件系統的名稱:
df -h /
1
2
我們要讓NRPE監控這個名稱,以獲取磁盤使用率的情況(一般來說這個名稱會是/dev/vda
)。用編輯器打開nrpe.cfg文件:
sudo vi /etc/nagios/nrpe.cfg
1
2
這是個很大的文件。找到如下這幾行:
server_address:這里填寫本機的IP地址
allowed_hosts:這里填寫Nagios服務器的IP地址
command[check_hda1]:這里填寫剛才查看到的文件系統的名稱(把/dev/hda1
替換成該名稱)
三個配置項改動完成之后看起來應該是這樣的格式:
server_address=client_private_IP allowed_hosts=nagios_server_private_IP command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda
1
2
3
4
此外還有一些其他的配置項,可以按你的需求進行改動。默認狀態下NRPE會監聽5666端口(server_port=5666
),請確保你的防火墻不會阻擋該端口。
配置好了之后,保存退出。
重啟NRPE以使剛才的變更生效:
sudo service nagios-nrpe-server restart
1
2
在待監控對象上需要的配置就這些,現在可以到Nagios服務器上添加這臺主機了。
進入Nagios服務器,為剛才的待監控主機創建一個新的配置文件(把yourhost替換成你的那臺主機的名稱):
sudo vi /usr/local/nagios/etc/servers/yourhost.cfg
1
2
將如下內容復制粘貼進去。其中的host_name
填寫你那臺主機的名稱,alias
填寫該主機的描述,address
填寫你那臺主機的IP地址:
define host { use linux-server host_name yourhost alias My first Apache server address 10.132.234.52 max_check_attempts 5 check_period 24x7 notification_interval 30 notification_period 24x7 }
1
2
3
4
5
6
7
8
9
10
11
這樣一份配置文件只會讓Nagios監控該服務器的在線狀態。如果你需要監控特定的服務,還需要繼續完善該文件。
下面是一些常用的監控功能,可以按需要取用。其中每一項中的check_command
決定了監控的內容,包括了監控項的閾值。
Ping:
define service { use generic-service host_name yourhost service_description PING check_command check_ping!100.0,20%!500.0,60% }
1
2
3
4
5
6
7
SSH(notifications_enabled這一項設置為0代表禁用該服務的通知功能):
define service { use generic-service host_name yourhost service_description SSH check_command check_ssh notifications_enabled 0 }
1
2
3
4
5
6
7
8
簡單的說明一下use generic-service
:使用這項配置的服務會沿用一個默認的“generic-service”服務模板。
保存退出。重新加載Nagios配置項以使變更生效:
sudo service nagios reload
1
2
現在,我們的Nagios監控已經配置完畢。從瀏覽器中進入Nagios Web界面,進入Services頁面以查看監控對象的狀態:
關于“在Ubuntu 14.04上如何安裝Nagios用于監控服務器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。