中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

nagios配置安裝

發布時間:2020-07-17 15:10:19 來源:網絡 閱讀:482 作者:A飛機 欄目:移動開發

Nagios官網:https://www.nagios.org/

nagios重狀態和結果,支持告警,沒有數據歷史,不用數據庫,不成圖像,不支持web配置,也可以自己開發腳本定制個性化的監控,支持多插件。

監控日志:log_file=/var/log/nagios/nagios.log

Web訪問原因:/etc/httpd/conf.d/nagios.conf

yum nagios默認路徑/etc/nagios,同時httpdphp被作為依賴安裝

yum install -y nagios-plugins                               #監控其它主機的插件

yum install -y nagios nagios-plugins-all            #/usr/lib/nagios/plugins下載一些關于監控命令的包,這樣才會有狀態

本機監控信息文件:/etc/nagios/objects/localhost.cfg

nagios-plugins-nrpe                   #用于和被監控別的主機通信,如監控負載,磁盤情況

nrpe                   #用來生成/etc/nagios/nrpe.cfg,監控本機和其它機器,也用于遠程通信

nagios -v /etc/nagios/nagios.cfg     #檢測nagios.cfg是否正確

下載sendmail,并啟動

告警試發郵件: mail -s "test" 463245818@qq.com

 

 

 

方法一:yum安裝nagioslamp

配置服務端:192.168.134.141

cd /usr/local/src/

wgethttp://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm

rpm -ivh epel-release-6-8_32.noarch.rpm

yum install -y nagios nagios-plugins nagios-plugins-allnrpe nagios-plugins-nrpe                     #安裝很多依賴包httpdphp

htpasswd -c /etc/nagios/passwd nagiosadmin       #web登陸是需要的賬號、密碼

nagios -v /etc/nagios/nagios.cfg                                 #檢查nagios配置文件

/etc/init.d/httpd start

/etc/init.d/nagios start                      #默認監控本機

通過web查看nagios

http://192.168.134.141/nagios/

 

客戶端(監控其它機器):192.168.134.132

首先在被監控機器操作:192.168.134.132

cd /usr/local/src/

wgethttp://www.lishiming.net/data/p_w_upload/forum/epel-release-6-8_32.noarch.rpm

rpm -ivh epel-release-6-8_32.noarch.rpm

yum install -y nagios nagios-plugins nagios-plugins-allnrpe nagios-plugins-nrpe 

vim /etc/nagios/nrpe.cfg

#找到并修改

allowed_hosts=127.0.0.1,192.168.134.135,192,168.134.141       #允許被誰監控

dont_blame_nrpe=1                  #1為允許,0為不允許

 

#然后在服務端添加被監控的主機信息

vim /etc/nagios/conf.d/192.168.132.cfg

#添加內容

 

define host{

       use            linux-server                  #應用linux-server的屬性,templates.cfg有定義

        host_name      web1                             #主機名

       alias           134.132                         #主機別名

       address        192.168.134.132                  #被監控的主機地址,可為IP,也可是域名

       }

 

define service{

       use                    generic-service

       host_name              192.168.134.132

       service_description     check_ping

       check_command          check_ping!100.0,20%!200.0,50%

       max_check_attempts 5

       normal_check_interval 1

}

 

define service{

       use                    generic-service

       host_name               192.168.134.132

       service_description     check_ssh

       check_command           check_ssh

       max_check_attempts      5    ;當nagios檢測到問題時,一共嘗試檢測5次都有問題才會告警,如果該數值為1,那么檢測到問題立即告警

       normal_check_interval 1   ;重新檢測的時間間隔,單位是分鐘,默認是3分鐘

       notification_interval           60;在服務出現異常后,故障一直沒有解決,nagios再次對使用者發出通知的時間。單位是分鐘。如果你認為,所有的事件只需要一次通知就夠>了,可以把這里的選項設為0

}

 

define service{

       use                    generic-service

       host_name              192.168.134.132

       service_description     check_http

       check_command           check_http

       max_check_attempts      5

       normal_check_interval 1

}

 

nagios -v /etc/nagios/nagios.cfg

/etc/init.d/nagios restart

 

以上幾個服務不依賴于客戶端nrpe服務,在自己電腦上可以使用ping或者telnet探測遠程任何一臺機器是否存活,是否開啟某個端口或服務。而當我們想要檢測客戶端的某個具體服務的情況時,就需要借助于nrpe了,比如想知道客戶端機器的負載或者磁盤使用情況

check_nrpenrpe daemon的工作原理

nagios配置安裝

 

繼續添加服務:客戶端負載和磁盤使用情況,

首先在服務端:192.168.134.141

編輯服務端的命令文件和客戶端文件

vim /etc/nagios/objects/commands.cfg

#增加

define command{

       command_name    check_nrpe

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

       }

 

 

 

vim /etc/nagios/conf.d/192.168.132.cfg

#增加

define service{

       use     generic-service

       host_name       192.168.134.141

       service_description     check_load

       check_command          check_nrpe!check_load

       max_check_attempts 5

       normal_check_interval 1

}

 

define service{

       use     generic-service

       host_name       192.168.134.132

       service_description     check_disk_sda1

       check_command          check_nrpe!check_sda1

       max_check_attempts 5

       normal_check_interval 1

}

 

define service{

       use     generic-service

       host_name       192.168.134.132

       service_description    check_disk_sda3

       check_command          check_nrpe!check_sda3

       max_check_attempts 5

       normal_check_interval 1

}

 

說明:check_nrpe!check_load:這里的check_nrpe就是在命令文件commands.cfg定義的,check_load是遠程主機上的一個檢測腳本,在/usr/lib/nagios/plugins這個文件下

客戶端操作:192.168.134.132

vim /etc/nagios/nrpe.cfg

#搜索check_load,這行就是在服務端上要執行的腳本,可以手動執行試試

check_hda1更改一下:check_hda1改為check_sda1/dev/hda1改為/dev/sda1

#因為本機沒有had盤,只有sda1

在添加一行

command[check_sda3]=/usr/lib/nagios/plugins/check_disk-w 20% -c 10% -p /dev/sda3

 

在客戶端啟動nrpe/etc/init.d/nrpe start                     #用于和服務端通信

在服務端重啟nagios/etc/init.d/nagios restart

 

5、服務端配置告警

vim /etc/nagios/objects/contacts.cfg

#添加內容

define contact{

       contact_name               David                              ;聯系人名稱

       use                       generic-contact          ;引用templates.cfg定義

       alias                       12                                    ;聯系人名稱

       email                      463245818@qq.com  ;聯系人郵箱

       }

 

 

define contact{

       contact_name               Nance

       use                       generic-contact

       alias                       13

       email                     463245818@qq.com

       }

 

 

define contactgroup{

       contactgroup_name           common             ;組名稱

       alias                        112

       members                   David,Nance     ;組成員

       }

 

#然后打開

vim /etc/nagios/conf.d/192.168.134.132.cfg

#在比較重要的服務增加

define service{

       use     generic-service

       host_name       192.168.134.132

        service_description     check_load

       check_command          check_nrpe!check_load

       max_check_attempts 5

       normal_check_interval 1

       contact_groups common

        notifications_enabled 1

        notification_period 24x7

        notification_options w,u,c,r

 

}

 

#其中

notifications_enabled  1    ;是否開啟提醒功能。1為開啟,0為禁用。一般,這個選項會在主配置文件(nagios.cfg)中定義,效果相同。

notification_period   24x7  ;發送提醒的時間段。非常重要的主機(服務)我定義為7×24,一般的主機(服務)就定義為上班時間。如果不在定義的時間段內,無論什么問題發生,都不>會發送提醒。

notification_options:w,u,c,r   ;這個是service的狀態。wwaning uunknown, ccritical, rrecover(恢復了),類似的還有一個  host對應的狀態:d,u,r   d = 狀態為DOWN, u = 狀態為UNREACHABLE, r = 狀態恢復為OK,需要加入到host的定義配置里。

 

 

方法二:編譯安裝lamp下編譯安裝nagios

下載網址:https://sourceforge.net/

環境在源碼安裝好的lamp

排錯查看日志

cat /usr/local/apache2/logs/error_log

cat /usr/local/nagios/var/nagios.log

 

 

打開apache的配置文件httpd.conf,找到4個,讓它允許訪問、支持php解析、默認phpServerName

先創建nagios用戶

useradd -s /sbin/nologin nagios

mkdir /usr/local/nagios

chown nagios:nagios /usr/local/nagios/

(一)安裝nagios

對于nrpe的版本下載v2.15check_nrpe可以和nrpe daemon通信

V3.0.1自己感覺很多不足,check_nrpenrpe daemon不能通信,編譯的參數也不同,3.0.1可以用make查看參數

 

 

有錯誤看日志

cd /usr/local/src

yum install -y unzip                              #編譯nagios需要的包

#這里使用nagios4..x在安裝pnp4nagios存在不兼容問題所以建議下載nagios3.x

wget http://nchc.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.1/nagios-3.5.1.tar.gz

wget http://nchc.dl.sourceforge.net/project/nagios/nagios-4.x/nagios-4.2.1/nagios-4.2.1.tar.gz

wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz#_ga=1.74695893.656335937.1476780657

wgethttp://nchc.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

tar -zxvf nagios-3.5.1.tar.gz

cd nagios

./configure --prefix=/usr/local/nagios

make all                                        #編譯主程序

make install                                 #對主程序,CGI以及HTML網頁進行安裝

make install-init                          #/etc/rc.d/init.d目錄產生nagios啟動腳本

make install-commandmode   #安裝和配置外部命令對nagios主路徑操作的權限。(這里所謂的外部命令主要是指apache通過CGI來對nagios的進行的操作,用戶通過web以執行CGI程序腳本的方式來對nagios的檢測結果進行讀取和調用)

make install-config                     #將會在/usr/local/nagios/etc這個nagios編譯安裝的主配置路徑下安裝示例配置模板

(二)安裝nagios-plugins

cd /usr/local/src

tar -zxvf nagios-plugins-2.1.2.tar.gz

cd nagios-plugins-2.1.2

./configure --prefix=/usr/local/nagios     #/usr/local/nagios生成libexec目錄,都是檢測腳本

make install

 

基本安裝完成,現在配置apache,讓它可以用web界面訪問

vim /usr/local/apache2/conf/httpd.conf

#添加一行

Include conf/extra/nagios.conf

#修改主和組

User nagios

Group nagios

 

然后創建nagios.conf文件

cp/usr/local/src/nagios/sample-config/httpd.conf/usr/local/apache2/conf/extra/nagios.conf

 

/usr/local/apache2/bin/htpasswd -c/usr/local/nagios/etc/htpasswd.users nagiosadmin                                                           #創建一個用戶,用于后臺訪問nagios

 

/usr/local/apache2/bin/apachectl start

/etc/init.d/nagios start

http://192.168.134.141/nagios/                        #通過ip訪問nagios,點擊Services

狀態:

w :Warming    警告

u: Unknown               未知

c: Critical          危險

p: Pending                  待定

r: Recovery                狀態已回復值OK

 

 

 

 

 

(三)服務端安裝插件nrpe

yum install -y openssl openssl-devel                           #./configure需要的包

cd /usr/local/src/

tar -zxvf nrpe-2.15.tar.gz

cd nrpe-2.15

./configure

make all

make install-plugin                     #安裝nrpe插件check-nrpe

 

 

(四)在被監控主機安裝nagios-pluginsnrpe

要想在被監控的主機安裝nrpe,首先要在被監控主機刪安裝nagios插件

useradd -s /sbin/nologin nagios

cd /usr/local/src

wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz#_ga=1.74695893.656335937.1476780657

wget http://nchc.dl.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

tar -zxvf nagios-plugins-2.1.2.tar.gz

cd nagios-plugins-2.1.2

./configure --prefix=/usr/local/nagios--with-nagios-user=nagios --with-nagios-group=nagios     #/usr/local/nagios生成libexec目錄,都是檢測腳本

make install

ls /usr/local/nagios/                                     #查看一下,共有三個目錄

 

 

yum install -y openssl openssl-devel                           #./configure需要的包

tar -zxvf nrpe-2.15.tar.gz

cd nrpe-2.15

./configure --enable-command-args                 #如果要給nrpe傳遞參數,在安裝配置加上該參數

make all

make install-plugin                                       #安裝nrpe插件check_nrpe

make install-daemon                                   #安裝nrpe命令/usr/local/nagios/bin/nrpe

make install-daemon-config                       #安裝nrpe配置文件nrpe.cfg

#跳過 版本為v3.0.1 操作這步makeinstall-config                       #安裝nrpe配置文件nrpe.cfg

 

允許被別的主機監控,并自制命令

vim /usr/local/nagios/etc/nrpe.cfg

#修改

allowed_hosts=127.0.0.1,192.168.134.132

dont_blame_nrpe=1

 

command[check_sda1]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/sda1

command[check_sda3]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/sda3

/usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d              #啟動nrpe服務

上面選項的解釋

# -c <config_file> = Name of configfile to use

#-d             =    Run as a standalone daemon

/usr/local/nagios/libexec/check_nrpe -H127.0.0.1        #檢查本機check_nrpenrpe daemon通信是否正常

停止nrpe服務可以殺死它的pid

ps -aux|grep nrpe                                                                                                 #查看pid

 

(五)服務器端監控遠程主機

#/usr/local/nagios/include下的文件讀入nagios.cfg

vim /usr/local/nagios/etc/nagios.cfg

#添加一行

cfg_dir=/usr/local/nagios/include

 

#定義check_nrpe

vim/usr/local/nagios/etc/objects/commands.cfg

#添加內容

define command{

       command_name    check_nrpe

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

        }                     

 

#監控遠程服務

vim/usr/local/nagios/include/192.168.134.141.cfg

#添加內容

define host{

       use                    linux-server

       host_name              192.168.134.141

       alias                   134.141

       address                192.168.134.141

       }

 

define service{

       use                    generic-service

       host_name              192.168.134.141

       service_description     check_ping

       check_command          check_ping!100.0,20%!200.0,50%

       max_check_attempts 5

       normal_check_interval 1

}

 

define service{

       use                    generic-service

       host_name               192.168.134.141

       service_description     check_ssh

       check_command           check_ssh

       max_check_attempts      5    ;當nagios檢測到問題時,一共嘗試檢測5次都有問題才會告警,如果該數值為1,那么檢測到問題立即告警

       normal_check_interval 1   ;重新檢測的時間間隔,單位是分鐘,默認是3分鐘

       notification_interval           60;在服務出現異常后,故障一直沒有解決,nagios再次對使用者發出通知的時間。單位是分鐘。如果你認為,所有的事件只需要一次通知就夠>了,可以把這里的選項設為0

}

 

define service{

       use                    generic-service

       host_name              192.168.134.141

       service_description     check_http

       check_command           check_http

       max_check_attempts      5

       normal_check_interval 1

}

 

define service{

       use     generic-service

       host_name       192.168.134.141

       service_description     check_load

       check_command          check_nrpe!check_load

       max_check_attempts 5

       normal_check_interval 1

}

 

 

define service{

       use     generic-service

       host_name       192.168.134.141

       service_description    check_disk_sda1

       check_command          check_nrpe!check_sda1

       max_check_attempts 5

       normal_check_interval 1

}

 

define service{

       use     generic-service

       host_name       192.168.134.141

       service_description    check_disk_sda3

       check_command          check_nrpe!check_sda3

       max_check_attempts 5

       normal_check_interval 1

}

 

/usr/local/nagios/libexec/check_nrpe -H 192.168.134.132    #檢查本機check_nrpe和遠程機器的nrpedaemon通信是否正常

/etc/init.d/nagios restart

/etc/init.d/httpd restart

http://192.168.134.132/nagios/                                 #可以監控遠程機器的cpu,磁盤使用

 

 

(六)告警

實驗在云主機測試成功

利用sendEmail發送郵件配置告警

利用sendEmail登陸一個郵箱,給別的郵箱發郵件,速度快,不延遲

服務端(119.29.186.209

安裝sendEmail

cd /usr/local/src/

wgethttp://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

tar -zxvf sendEmail-v1.56.tar.gz

cd sendEmail-v1.56

cp sendEmail /usr/local/bin/

 

 

測試發送郵件(成功測試)

sendEmail -t 463245818@qq.com -f14718177839@163.com                                                                                        -s smtp.163.com -u "gaojing" -xu m14718177839@163.com -xp20190214fang -m zhunbe                                                                                       i

 

選項解釋:

-t 表示接收者郵箱

-f 表示發送者郵箱

-s 表示SMTP服務器的域名或者ip

-u 表示郵件的主題

-xu 表示郵箱的用戶名

-xp 表示郵箱SMTP驗證的密碼(這個不是163的登陸密碼,而是SMTP服務的密碼,也就是客戶端授權密碼)

-m 表示郵箱的內容

-cc 表示抄送

-bcc 表示暗抄送

 

vim/usr/local/nagios/etc/objects/commands.cfg

#修改notify-host-by-emailnotify-service-by-email

 

# '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" |/usr/local/bin/sendEmail -f 14718177839@163.com -t $CONTACTEMAIL$ -ssmtp.163.com -l /var/log/sendEmail -xu m14718177839 -xp 20190214fang -u"** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" -m"`/usr/bin/printf "%b" "\n***** Nagios*****\n\nNotification Type: $NOTIFICATIONTYPE$ \nHost: $HOSTNAME$\nState:$HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\nDate/Time:$LONGDATETIME$\n"`"

       }

 

# 'notify-service-by-email' commanddefinition

define command{

       command_name   notify-service-by-email

       command_line    /usr/bin/printf"%b" "***** Nagios *****\n\nNotification Type:$NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress:$HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$\n" | /usr/local/bin/sendEmail -f14718177839@163.com -t $CONTACTEMAIL$ -s smtp.163.com -l /var/log/sendEmail -xum14718177839 -xp 20190214fang -u "** $NOTIFICATIONTYPE$ Service Alert:$SERVICEDESC$ is $SERVICESTATE$ **" -m "`/usr/bin/printf"%b" "\n***** Nagios *****\n\nNotification Type:$NOTIFICATIONTYPE$ \nService: $SERVICEDESC$\nHost: $HOSTNAME$\nState:$SERVICESTATE$\nAddress:$HOSTADDRESS$\nInfo:$SERVICEOUTPUT$\nDate/Time:$LONGDATETIME$\n"`"

       }

 

 

vim/usr/local/nagios/etc/objects/contacts.cfg

define contact{

       contact_name                    da

       use                            generic-contact

       alias                           da

#       service_notification_period    24x7

#       host_notification_period       24x7

#       service_notification_options   w,u,c

#       host_notification_options      d,u

#       service_notification_commands  notify-service-by-email

#       host_notification_commands     notify-host-by-email

       email                          463245818@qq.com

       }

 

define contact{

       contact_name                   fang

       use                             generic-contact

       alias                          fang

       email                          237600604@qq.com

       }

 

 

define contactgroup{

       contactgroup_name              ops

       alias                          ops

       members                         da,fang

       }

 

 

vim /usr/local/nagios/include/xiaojun.cfg

define service{

       use                    generic-service

       host_name              115.28.76.154

       service_description     check_ssh

       check_command           check_ssh

       max_check_attempts      5    ;當nagios檢測到問題時,一共嘗試檢測5次都有問題才會告警,如果該數值為1,那么檢測到問題立即告警

       normal_check_interval 1   ;重新檢測的時間間隔,單位是分鐘,默認是3分鐘

       notification_interval           60;在服務出現異常后,故障一直沒有解決,nagios再次對使用者發出通知的時間。單位是分鐘。如果你認為,所有的事件只需要一次通知就夠>了,可以把這里的選項設為0

}

 

define service{

       use                    generic-service

       host_name              115.28.76.154

       service_description     check_http

       check_command           check_http

       max_check_attempts      1

       normal_check_interval 1

       notification_interval           1

       contact_groups               ops

        notifications_enabled 1

        notification_period 24x7

        notification_options w,u,c,r

 

}

 

#其中

notifications_enabled  1    ;是否開啟提醒功能。1為開啟,0為禁用。一般,這個選項會在主配置文件(nagios.cfg)中定義,效果相同。

notification_period   24x7  ;發送提醒的時間段。非常重要的主機(服務)我定義為7×24,一般的主機(服務)就定義為上班時間。如果不在定義的時間段內,無論什么問題發生,都不>會發送提醒。

notification_options:w,u,c,r   ;這個是service的狀態。wwaning uunknown, ccritical, rrecover(恢復了),類似的還有一個  host對應的狀態:d,u,r   d = 狀態為DOWN, u = 狀態為UNREACHABLE, r = 狀態恢復為OK,需要加入到host的定義配置里。

 

 

 

 

 

 

 

 

 


向AI問一下細節

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

AI

贵德县| 鄂尔多斯市| 白银市| 崇州市| 夹江县| 绥德县| 都兰县| 渝北区| 乐清市| 青海省| 雷州市| 抚松县| 合山市| 太仆寺旗| 北安市| 巴里| 北京市| 双牌县| 合山市| 和政县| 新竹县| 博野县| 松桃| 云林县| 张家川| 卢湾区| 连云港市| 桂平市| 乐陵市| 宁海县| 朝阳市| 沁源县| 泽库县| 南昌市| 滁州市| 禹城市| 札达县| 澜沧| 延川县| 孟州市| 西乡县|