Nagios
php
Nagios是一款開源的免費網絡監視工具,能有效監控Windows、Linux和Unix的主機狀態,交換機路由器等網絡設備,打印機等。在系統或服務狀態異常時發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復後發出正常的郵件或短信通知。mysql
功能介紹ios
Nagios 能夠監控的功能有:web
一、監控網絡服務(SMTP、POP三、HTTP、NNTP、PING等);sql
二、監控主機資源(處理器負荷、磁盤利用率等);apache
三、簡單地插件設計使得用戶能夠方便地擴展本身服務的檢測方法;服務器
四、並行服務檢查機制;網絡
五、具有定義網絡分層結構的能力,用"parent"主機定義來表達網絡主機間的關係,這種關係可被用來發現和明晰主機宕機或不可達狀態;運維
六、當服務或主機問題產生與解決時將告警發送給聯繫人(經過EMail、短信、用戶定義方式);ssh
七、能夠定義一些處理程序,使之可以在服務或者主機發生故障時起到預防做用;
八、自動的日誌滾動功能;
九、能夠支持並實現對主機的冗餘監控;
十、可選的WEB界面用於查看當前的網絡狀態、通知和故障歷史、日誌文件等;
十一、能夠經過手機查看系統監控信息;
十二、可指定自定義的事件處理控制器;
Nagios工做原理
Nagios的功能是監控服務和主機,可是他自身並不包括這部分功能,全部的監控、檢測功能都是經過各類插件來完成的。
啓動Nagios後,它會週期性的自動調用插件去檢測服務器狀態,同時Nagios會維持一個隊列,全部插件返回來的狀態信息都進入隊列,Nagios每次都從隊首開始讀取信息,並進行處理後,把狀態結果經過web顯示出來。
Nagios提供了許多插件,利用這些插件能夠方便的監控不少服務狀態。安裝完成後,在nagios主目錄下的/libexec裏放有nagios自帶的能夠使用的全部插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負載的,等等。每個插件能夠經過運行./check_xxx –h 來查看其使用方法和功能。
Nagios的四種監控狀態
ok, warn, critial, unknown
Nagios各狀態監控須要用到的插件
check_by_ssh
check_nt
check_nrpe
check_nsca
check_snmp
check_xyz ---------> 表明能夠自定義名字
=============================================================
部署nagios
nagios下載 https://www.nagios.org/downloads/nagios-core/thanks/?t=1503146125
下面以3.2.0版本的示範
部署nagios監控端
一、安裝nagios核心
1) 安裝nagios依賴軟件
[root@nagios ~]# yum install -y httpd mariadb-server php php-mysql gd php-gd gcc unzip
[root@nagios ~]# systemctl start httpd
[root@nagios ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@nagios ~]# systemctl start mariadb
[root@nagios ~]# systemctl enable mariadb
Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service.
2) 建立naigos用戶
[root@nagios ~]# groupadd nagcmd
[root@nagios ~]# useradd -G nagcmd nagios
[root@nagios ~]# usermod -aG nagcmd apache
3) 安裝nagios核心
[root@nagios ~]# tar zxf nagios-3.2.0.tar.gz
[root@nagios ~]# cd nagios-3.2.0
[root@nagios nagios-3.2.0]# ./configure --with-command-group=nagcmd
[root@nagios nagios-3.2.0]# make all
[root@nagios nagios-3.2.0]# make install>>>生成nagios相關的文件
[root@nagios nagios-3.2.0]# make install-init>>>生成nagios服務腳本
[root@nagios nagios-3.2.0]# make install-commandmode>>>設置nagios權限
[root@nagios nagios-3.2.0]# make install-config>>>生成配置文件
[root@nagios nagios-3.2.0]# make install-webconf>>>生成httpd子配置文件
建立一個登陸nagios web頁面的用戶,這個用戶帳號在之後經過web登陸nagios時使用
[root@nagios ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
[root@nagios ~]#
nagios目錄介紹:
/usr/local/nagios安裝目錄
/usr/local/nagios/etc配置文件
/usr/local/nagios/libexec插件
二、安裝nagios插件
# tar zxf nagios-plugins-1.5.tar.gz
# cd nagios-plugins-1.5
# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
# make && make install
經過# ls /usr/local/nagios/libexec/命令可查看到插件代表插件安裝成功
啓動nagios服務,並設置開機自啓動
[root@nagios ~]# /etc/init.d/nagios start
Reloading systemd: [ 肯定 ]
Starting nagios (via systemctl): [ 肯定 ]
[root@nagios ~]# chkconfig --add nagios
[root@nagios ~]# chkconfig nagios on
[root@nagios ~]# systemctl restart httpd
登陸nagios的web界面 http://本機的IP/nagios