1. Nagios 和 NagiosQL簡介
2. Nagios+NagiosQL搭建環境說明
3. Nagios、Nagios-plugins和NagiosQL的安裝
4. 配置NagiosQL的前端頁面
5. 根據需求實現監控php
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設備,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。html
NagiosQL是專爲nagios設計的web圖形化管理應用,主要做用就是操做數據庫和配置文件,其中包括將配置文件的信息寫到數據庫中,在數據庫中修改Nagios的監控配置信息,並將數據庫中存放的配置更新到文件中。用戶能夠經過NagiosQL提供的Web頁面直觀的修改配置。實現架構很簡單,功能很實用。前端
root@nagios:~# cat /etc/issue Ubuntu 16.04.4 LTS \n \l
root@nagios:~# uname -a Linux nagios-cacti.115rc.com 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
一、此安裝方法只針對Ubuntu 16.04及Ubuntu 14.04版本,如果CentOS請參考Nagios的官方文檔。 二、因爲nagios官網默認使用的是 Apache Web Server,此文檔使用的是Nginx Web Server。
sudo apt-get install unzip sudo apt-get install -y autoconf gcc libc6 libmcrypt-dev make libssl-dev wget bc gawk dc build-essential snmp libnet-snmp-perl gettext
sudo apt-get update
build-essential
包(編譯程序必須的軟件包):能夠從source中獲取nagios
和nagios-pluguns
;sudo apt-get install build-essential
sudo apt-get install nginx -y sudo service nginx status
libgd2-xpm-dev
, php5-fpm
, spawn-fcgi
and fcgiwrap
;sudo apt-get install libgd2-xpm-dev -y sudo apt-get install php5-fpm -y sudo apt-get install spawn-fcgi fcgiwrap -y
sudo useradd nagios sudo groupadd nagios sudo usermod -G nagios nagios sudo usermod -a -G nagios www-data
nagios
源碼包、並編譯源碼;cd /opt sudo wget -O nagioscore.tar.gz https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.3.2.tar.gz sudo tar zxf nagioscore.tar.gz cd nagioscore-nagios-4.3.2/ sudo ./configure --prefix=/usr/local/nagios --with-command-group=nagios
echo $?
,若返回值爲0
,則編譯成功),再安裝;sudo make all sudo make install sudo make install-init sudo make install-config sudo make install-commandmode
install-init
將會安裝合適的初始化腳本;install-config
將會安裝樣本配置文件;install-commandmode
設置擴展命令目錄的權限。mysql
sudo vim /usr/local/bin/htpasswd.pl
將如下內容複製到htpasswd.pl文件中;ios
#!/usr/bin/perl use strict; if ( @ARGV != 2 ){ print "usage: /usr/local/bin/htpasswd.pl <user> <password>\n"; } else { print $ARGV[0].":".crypt($ARGV[1],$ARGV[1])."\n"; }
sudo chmod +x /usr/local/bin/htpasswd.pl
htpasswd.pl
sudo /usr/local/bin/htpasswd.pl nagiosadmin nagiosadmin | sudo tee -a /usr/local/nagios/etc/htpasswd.users
Nagios
的訪問端口爲8080
;sudo vim /etc/nginx/sites-enabled/nagios.conf
在
nagios.conf
的配置文件中加入以下內容:nginx
server { listen 8080; server_name 118.186.36.123 127.0.0.1; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; root /usr/local/nagios/share; location / { index index.html index.htm index.php; } location /nagios { alias /usr/local/nagios/share/; index index.html index.htm index.php; } location /nagiosql { alias /usr/local/nagios/share/nagiosql/; index index.html index.htm index.php; } location /cgi-bin { alias /usr/local/nagios/sbin; } location ~ .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~ \.cgi$ { root /usr/local/nagios/sbin/; rewrite ^/nagios/cgi-bin/(.*)\.cgi /$1.cgi break; fastcgi_param AUTH_USER $remote_user; fastcgi_param REMOTE_USER $remote_user; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap.socket; } }
fastcgi_pass
監聽;vim /etc/php5/fpm/pool.d/www.conf #listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000
Nginx Web Server
和nagios服務
;sudo service nginx start sudo service nagios start
Nagios
是否啓動成功(在瀏覽器中輸入以下URL,測試nagios是否正常啓動);http://IPaddress/nagios(IPaddress中填入本機的IP地址)
而後在登陸Nagios的前端頁面git
cd /opt sudo wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz sudo tar zxf nagios-plugins.tar.gz
cd /opt/nagios-plugins-release-2.2.1/ sudo ./tools/setup sudo ./configure sudo make sudo make install
sudo service nagios start sudo service nagios stop sudo service nagios restart sudo service nagios status
如上圖所示,能夠看到當前主機的負載、登入主機的用戶數、HTTP請求狀態、主機是否存活、以及根分區的容量使用狀況、SSH狀態、Swap分區的容量使用狀況、以及當前系統內啓動的進程總數。github
https://sourceforge.net/projects/nagiosql/
在Windows上下載好nagiosQL源碼包,則須要將下載好的tar包,上傳到服務器(CentOS、Ubuntu)上,此時可用lrzsz工具。
nagiosQL
源碼包;cd /opt sudo tar zxf nagiosql_33.tar.gz sudo mv nagiosql33 nagiosql
nagiosQL
移至nagios
的目錄下/usr/local/nagios/share/
;sudo mv /opt/nagiosql /usr/local/nagios/share/
nagiosQL
導出nagios
配置文件的目錄並修改權限;sudo mkdir -p /etc/nagiosql/{hosts,services,backup/{,hosts,services},import} sudo chown -R www-data:nagios /etc/nagiosql/ sudo chmod -R 755 /etc/nagiosql sudo chmod 777 /usr/local/nagios/share/nagiosql/config
sudo chown nagios:www-data /usr/local/nagios/etc sudo chown nagios:www-data /usr/local/nagios/etc/{nagios.cfg,cgi.cfg} sudo chown nagios:www-data /usr/local/nagios/etc/* sudo chmod 755 /usr/local/nagios/etc/{nagios.cfg,cgi.cfg} sudo chmod 775 /usr/local/nagios/etc
sudo chown nagios:www-data /usr/local/nagios/bin/nagios sudo chmod 750 /usr/local/nagios/bin/nagios sudo chown -R www-data:nagios /usr/local/nagios/var/spool/ sudo chown nagios:www-data /usr/local/nagios/var/rw/nagios.cmd sudo chmod 660 /usr/local/nagios/var/rw/nagios.cmd
可參考MySQL官方文檔:
https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/web
sudo apt-get install mysql-server
sudo apt-get install libssh2-1-dev sudo apt-get install libssh2-php
若是沒有安裝,則會在後面步驟的前端頁面配置過程當中,顯示ssh2沒有安裝,以下圖所示:sql
sudo apt-get install -y php5-mysql
php.ini
的時區;sudo vim /etc/php5/fpm/php.ini # 在php.ini配置文件中找到date.timezone=,將其修改成以下所示便可: date.timezone = Asia/Shanghai
sudo chmod 000 /usr/local/nagios/share/nagiosql/install
注意:此時 NagiosQL 的訪問的端口爲 8080
,因爲在前面配置 Nagios 的訪問端口時,已直接將NagiosQL
的也一塊兒配置了。
cfg_dir
開頭的行):cfg_file=/usr/local/nagios/share/nagiosql/commands.cfg cfg_file=/usr/local/nagios/share/nagiosql/contactgroups.cfg cfg_file=/usr/local/nagios/share/nagiosql/contacts.cfg cfg_file=/usr/local/nagios/share/nagiosql/contacttemplates.cfg cfg_file=/usr/local/nagios/share/nagiosql/hostdependencies.cfg cfg_file=/usr/local/nagios/share/nagiosql/hostescalations.cfg cfg_file=/usr/local/nagios/share/nagiosql/hostextinfo.cfg cfg_file=/usr/local/nagios/share/nagiosql/hostgroups.cfg cfg_file=/usr/local/nagios/share/nagiosql/hosttemplates.cfg cfg_file=/usr/local/nagios/share/nagiosql/servicedependencies.cfg cfg_file=/usr/local/nagios/share/nagiosql/serviceescalations.cfg cfg_file=/usr/local/nagios/share/nagiosql/serviceextinfo.cfg cfg_file=/usr/local/nagios/share/nagiosql/servicegroups.cfg cfg_file=/usr/local/nagios/share/nagiosql/servicetemplates.cfg cfg_file=/usr/local/nagios/share/nagiosql/timeperiods.cfg cfg_dir=/usr/local/nagios/share/nagiosql/etc/hosts/ cfg_dir=/usr/local/nagios/share/nagiosql/etc/services/
必定要按照安裝時配置文件所在的目錄填寫,不然導入配置文件失敗
修改完後點擊Save(保存):
將配置文件導入數據庫中:
Naiogs
配置文件,重啓 Nagios
:注意:每次添加完主機或添加完服務,均需先執行第一、二、三、4步,即先檢查配置文件、再重啓nagios,不然添加項不會生效。