監(jiān)控系統(tǒng)資源(私有資源 cpu|內存|磁盤)       &nbs..."/>
溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

project06監(jiān)控系統(tǒng)Nagios

發(fā)布時間:2020-07-14 00:46:42 來源:網(wǎng)絡 閱讀:268 作者:jonny__wang 欄目:移動開發(fā)

 監(jiān)控系統(tǒng)(nagios[報警]+cacti[監(jiān)控]) | zabbix (zabbix-proxy)

 1> 監(jiān)控系統(tǒng)資源(私有資源 cpu|內存|磁盤)

            (公共資源 服務 ssh|ftp|httpd)

            (網(wǎng)絡資源 交換機|路由器)

 2> 報警(商業(yè)短信|郵件|微信API)        

 

 

本章目錄:

        1、Nagios的概述

        2、Nagios的部署

        3、講解Nagios配置文件之間的關系(重點)

        4、配置Nagios監(jiān)控本機的私有服務和公共服務

        5、使用NRPE配置Nagios監(jiān)控遠程主機的私有服務和公共服務

        6、為Nagios增加短信報警功能

 

 

1、Nagios的概述

    Nagios是一款用于系統(tǒng)和網(wǎng)絡監(jiān)控的應用程序。它可以在你設定的條件下對主機和服務進行監(jiān)控,在狀態(tài)變差和變好的時候給出告警信息。

    Nagios最初被設計為在Linux系統(tǒng)之上運行,然而它同樣可以在類Unix的系統(tǒng)之上運行。

    Nagios更進一步的特征包括:

        監(jiān)控網(wǎng)絡服務(SMTP、POP3、HTTP、NNTP、PING等);     --公共服務

        監(jiān)控主機資源(處理器負荷、磁盤利用率等);                  --私有服務

        簡單地插件設計使得用戶可以方便地擴展自己服務的檢測方法;

        并行服務檢查機制;

        當服務或主機問題產(chǎn)生與解決時將告警發(fā)送給聯(lián)系人(通過EMail、短信、用戶定義方式);

        具備定義事件句柄功能,它可以在主機或服務的事件發(fā)生時獲取更多問題定位;

        可選的WEB界面用于查看當前的網(wǎng)絡狀態(tài)、通知和故障歷史、日志文件等;

nagios的組成:

    1、nagios的核心組件

    2、nagios監(jiān)控插件

    3、nagios web頁面(html/cgi/php)

    4、nrpe遠程主機私有服務的監(jiān)控組件

 

---------------------------------------------------------------------

nagios部署

  參看官方安裝手冊

ftp://192.168.0.254/notes/weekend/project/software/nagios/docs_INSTALL/toc.html

 

 

1) 下載軟件

[root@nagios ~]# lftp 192.168.0.254

lftp 192.168.0.254:~> cd notes/weekend/project/software/

lftp 192.168.0.254:/notes/weekend/project/software> mirror nagios/

lftp 192.168.0.254:/notes/weekend/project/software> exit

 

 

2)  軟件依賴包

    Apache

    PHP

    GCC compiler

    GD development libraries

 

[root@nagios ~]# yum install httpd php

[root@nagios ~]# yum install gcc glibc glibc-common

[root@nagios ~]# yum install gd

--iso 沒有gd-devle包

[root@nagios ~]# yum -y localinstall /root/nagios/gd-devel-2.0.35-10.el6.x86_64.rpm

 

 

3) 新建用戶與組

[root@nagios ~]# /usr/sbin/useradd -m nagios

[root@nagios ~]# echo 123 | passwd --stdin nagios

[root@nagios ~]# /usr/sbin/groupadd nagcmd

[root@nagios ~]# /usr/sbin/usermod -a -G nagcmd nagios

[root@nagios ~]# /usr/sbin/usermod -a -G nagcmd apache

 

 

4) 解壓與編譯nagios核心軟件

 

 (1) 解壓

[root@nagios ~]# tar xf /root/nagios/nagios-cn-3.2.0.tar.bz2 -C/usr/local/src/

 

 (2) 編譯

[root@nagios ~]# cd /usr/local/src/nagios-cn-3.2.0/

[root@nagios nagios-cn-3.2.0]# ./configure --with-command-group=nagcmd

[root@nagios nagios-cn-3.2.0]# make all

 

make install        --安裝軟件

make install-init   --安裝啟動腳本

make install-config --安裝配置文件

make install-commandmode  --安裝命令模式

 

 

 (3)安裝與配置

[root@nagios nagios-cn-3.2.0]# make install

[root@nagios nagios-cn-3.2.0]# make install-init

[root@nagios nagios-cn-3.2.0]# make install-config

[root@nagios nagios-cn-3.2.0]# make install-commandmode

 

 

 (4) 定義web配置文件

[root@nagios nagios-cn-3.2.0]# make install-webconf

/usr/bin/install -c -m 644 sample-config/httpd.conf/etc/httpd/conf.d/nagios.conf

 

 

--設置登錄密碼  帳號nagiosadmin密碼123

[root@nagios nagios-cn-3.2.0]# htpasswd -c/usr/local/nagios/etc/htpasswd.users nagiosadmin

New password:

Re-type new password:

Adding password for user nagiosadmin

 

 

[root@nagios nagios-cn-3.2.0]# service httpd restart

 

 

5) 安裝nagios的插件

 (1) 解壓

[root@nagios ~]# tar xf /root/nagios/nagios-plugins-1.4.14.tar.gz -C/usr/local/src/

 (2) 編譯

[root@nagios ~]# cd /usr/local/src/nagios-plugins-1.4.14/

[root@nagios nagios-plugins-1.4.14]# ./configure --with-nagios-user=nagios--with-nagios-group=nagios

[root@nagios nagios-plugins-1.4.14]# make && make install

 

 

6) 啟動nagios

 

  --定義啟動腳本

[root@nagios ~]# chkconfig --add nagios

[root@nagios ~]# chkconfig nagios on

  --檢測配置文件語法

 

[root@nagios ~]# /usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg  |grepTotal

Total Warnings: 0

Total Errors:   0

  --啟動

[root@nagios ~]# service nagios start

 

  --關閉selinux

[root@nagios ~]# getenforce

Permissive

 

7) 訪問nagios

http://localhost/nagios

 

 

 

 

 

 

 

+++++++++++++++++講解Nagios配置文件之間的關系(重點)+++++++++++++

監(jiān)控一臺主機包括的內容:主機是否活著/公共服務/私有服務

 

配置文件的組成:        --全局變量(變量的調用使用use命令)

/usr/local/nagios/etc/nagios.cfg   --主配置文件,實現(xiàn)配置文件總調度

/usr/local/nagios/etc/resource.cfg     --資源

/usr/local/nagios/etc/objects/commands.cfg --監(jiān)控使用的命令(通知的命令|監(jiān)控私有服務的命令|監(jiān)控公共服務的命令)

/usr/local/nagios/etc/objects/contacts.cfg  --聯(lián)系人(nagiosadmin-->nagios@localhost)

/usr/local/nagios/etc/objects/timeperiods.cfg   --監(jiān)控周期(7x24 5x8(1-5))

/usr/local/nagios/etc/objects/templates.cfg --模板(通知|genric-host| linux-server| local-server)

 

 

 

 

 

 

 

 

**********監(jiān)控命令 commands.cfg*************** 24個命令模板

 

# 'notify-host-by-email' command definition   ---使用郵件通知主機(私有服務)

define command{

        command_name    notify-host-by-email

        command_line    /usr/bin/printf "%b" "*****Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState:$HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert:$HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$

        }

 

 

 

郵件內容(通知宏|主機宏|日期/時間宏|...)

***** Nagios *****

 

Notification Type: $NOTIFICATIONTYPE$ (PROBLEM)

Host: $HOSTNAME$ (nagios.uplooking.com)

State: $HOSTSTATE$ (宕機)

Address: $HOSTADDRESS$ (192.168.0.1)

Info: $HOSTOUTPUT$ (TTP WARNING: HTTP/1.1 403 Forbidden)

 

Date/Time: $LONGDATETIME$  (Tue Apr26 15:22:03 CST 2016)

 

 

 

郵件主題

/bin/mail -s "** PROBLEM Host Alert: nagios.uplooking.com is 宕機"

 

 

# 'notify-service-by-email' command definition   ---使用郵件通知服務 (公共服務)

 

# 'check-host-alive' command definition --檢測主機是否存活

 

# 'check_local_disk' command definition --磁盤使用率

 

# 'check_local_load' command definition  --cpu負載

 

# 'check_local_users' command definition --用戶登錄數(shù)

 

# 'check_local_swap' command definition  --swap分區(qū)

....

 

 

 

 

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

**********聯(lián)系人 contacts.cfg*************** 1個聯(lián)系人 1個聯(lián)系組

 

 

define contact {

        contact_name                   HugoBoss    ---聯(lián)系人的名稱

        use                           generic-contact  --使用那個模板

        alias                          康康  --別名

        email                          hugoboss@hugo.cc  --郵件地址

}

 

 

define contactgroup{

        contactgroup_name       admins

        alias                   Nagios Administrators

        members                 nagiosadmin, HugoBoss  --組的成員

        }

 

 

 

 

 

 

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

****************監(jiān)控周期 timeperiods.cfg*********************************   5個模板

 

[root@nagios ~]# grep timeperiod_name/usr/local/nagios/etc/objects/timeperiods.cfg

        timeperiod_name 24x7  --全年

    timeperiod_name workhours ---工作日

    timeperiod_name none  ---全年不通知

        timeperiod_nameus-holidays  ---美國節(jié)假日

        timeperiod_name24x7_sans_holidays --除了美國節(jié)假日以外的全年

 

 

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

****************監(jiān)控模板 templates.cfg*********************************  8個模板

 

# CONTACT TEMPLATES --聯(lián)系人模板

define contact{

        name                           generic-contact  --模板名稱

       service_notification_period    24x7  ---服務的通知周期

        host_notification_period        24x7 ---主機的通知周期

       service_notification_options   w,u,c,r,f,s --通知服務的類型

       host_notification_options      d,u,r,f,s   --通知主機的類型

       service_notification_commands  notify-service-by-email  ---通知服務的郵件方式

        host_notification_commands      notify-host-by-email     ---通知主機的郵件方式

        register                        0   ---只是一個模板 不能當成監(jiān)控對象使用

        }

 

 

 

 

 

 

# HOST TEMPLATES  --主機模板

define host{

        name                            generic-host

 

 

define host{

        name                            linux-server     模板名稱

        use                             generic-host     調用那個模板

        check_period                    24x7             監(jiān)控周期

        check_interval                  5                檢測時間 5分鐘

        retry_interval                  1                失敗重試 1分鐘

        max_check_attempts              10               最大嘗試次數(shù) 10次

        check_command                   check-host-alive  檢測主機命令

        notification_period             workhours         通知周期

        notification_interval           120          通知間隔 120分鐘

        notification_options            d,u,r         通知類型 d:宕機 u:主機不能到達 r:恢復

        contact_groups                  admins        通知組

        register                        0 

        }

 

name windows-server

name generic-printer

name generic-switch

 

 

 

# SERVICE TEMPLATES

 

define service{

        name                            generic-service

 

 

define service{

        name                            local-service

        use                             generic-service

 

 

 

[root@nagios ~]# grep name /usr/local/nagios/etc/objects/templates.cfg

        name                           generic-contact     ; The name of this contact template

        name                            generic-host    ; The name of this host template

    name                linux-server    ;The name of this host template

    name            windows-server  ;The name of this host template

    name            generic-printer ;The name of this host template

    name            generic-switch  ;The name of this host template

        name                            generic-service     ; The 'name' of this service template

    name                local-service       ;The name of this service template

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI