Nagios各元件簡述及nrpe詳解
Nagios各元件簡述及NRPE (Nagios Remote Plugin Executor) 詳解
一.Nagios各元件簡述 由於nagios配置較為繁鎖,且裡面元件也較多,這裡我將幾個關鍵的元件列舉一下,且做一下簡單的介紹及其和其它元件間的關係的描述。我自己的一些理解,如有偏差,歡迎指正! 我在部署過程中主要用到了以下元件: nagios-3.2.3.tar.gz,nagios-plugins-1.4.15.tar.gz,ndoutils-1.4b7.tar.gz,nrpe-2.12.tar.gz。 這些元件都是幹什麼的呢? 1. nagios-3.2.3.tar.gz是nagios的主要元件,裡面包括了各種配置檔案; 2. nagios-plugins-1.4.15.tar.gz是nagios的外掛,裡面提供了各種監控模板及監控命令,如check_tcp等等有很多常用的監控物件都可以使用這些模式,當然也可以自己編寫指令碼來實現,這一點上nagios是非常靈活的; 3. ndoutils-1.4b7.tar.gz,利用它將nagios的監控資訊存入mysql資料庫; 4. nrpe-2.12.tar.gz是一款用來監控被控端主機資源的工具,沒有它,nagios將無法對被控端伺服器的主機資源進行監控! 以上是一些主要的元件,還有一些比較重要的元件,如:NSClient-0.3.8-Win32.zip(被控端為win作業系統時要安裝),npc (主要用於cacti與nagios整合時,可用於將nagios的監控資料導給cacti) 關係也大致屢清了,上文講過部署nagios,本文將不在嫯述了,下面將nrpe的部署過程詳細整理一下!
二.Nrpe詳解
1.先用表格列舉一下我的監控物件和閥值:
監控物件 監控閥值
主 機 資 源
主機存活: check_ping -w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒響應時間內, 丟包率超過80%報警告,5000毫秒響應時間內,丟包率超過 100%報危急,一共傳送5個包)
登入使用者: check_user -w 5 -c 10(w為警告,c為危急)
系統負載: check_load -w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大於對應 的等待程式數則警告或危急)
磁碟佔用率: check_disk -w 20% -c 10% -p /(根分割槽剩餘空間為總大小的20%警告, 10%危急,-p後是根分割槽)
指令碼檢測磁碟I/O: check_iostat -w 5 –c 10 (磁碟I/O的iowait超過5%報警告,超過10%報危急)
檢測殭屍程式: check_zombie _procs -w 5 -c 10 -s Z(有5個殭屍程式報警告,10個報危急)
檢測總程式數: check_total_procs -w 150 -c 200(總程式到150個警告,200個報危急)
指令碼檢測記憶體剩餘: check_mem -w 90% -c 95%(記憶體空閒率90%以上報警告,95%以上報危急)
檢測交換分割槽使用率: check_swap -w 20% -c 10%(交換分割槽剩餘空間為總大小的20%警告, 10%危急)
應 用 服 務 監 控 監控服務埠: check_tcp -H localhost2 -p 80(主機與對應的埠號)
監控頁面響應時間: check_http -H localhost2 -u http:\/\/localhost2/test.jsp –w 5 –c 10(檢查頁面,超過5s報警告,超過10s報危急)
指令碼檢測IP連線數: check_ips -w 200 –c 250(IP連線數超過200報警告,超過250報危急)
流量 監控 監控server流量: Check_traffic -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b(snmp版本,使用者,主機,對應網路卡,警告閥值,危急閥值)
資料庫的監控以後再補上!
2.安裝過程 1)主控端 主控端上也要安裝 nrpe,因為需要它的check_nrpe來監控遠端主機: tar zxf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin 只執行這一步就行了,因為只需要check_nrpe 外掛。
在主控端的vim /usr/local/nagios/etc/object/commands.cfg中新增: #################################################################
'check_nrpe ' command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } ##################################################################
2)被控端 被控端上首先要安裝nagios-plugins-1.4.15.tar.gz,再安裝nrpe-2.12.tar.gz。
增加使用者: useradd nagios
安裝nagios外掛: tar fvxz nagios-plugins-1.4.15.tar.gz ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround --prefix=/usr/local/nagios make make install chown -R nagios.nagios /usr/local/nagios
安裝nrpe: tar fvxz nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config
找到vim /usr/local/nagios/etc/nrpe.cfg 裡面有一些預設的模板了:
# The following examples use hardcoded command arguments... command[check_users]=/opt/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/opt/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/opt/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1 command[check_zombie_procs]=/opt/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/opt/nagios/libexec/check_procs -w 150 -c 200
這些命令是由主控端 check_nrpe來執行來遠端監控主機資源!我們可以修改這些選項,還可以新增一些自己想監控的東西,比如自己寫的指令碼等! 下面是我修改後的配置,只簡單列了下,以供參考:
# The following examples use hardcoded command arguments... command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10% command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / command[check_ips]=/usr/local/nagios/libexec/ip_conn.sh 200 250 command[check_mem]=/usr/local/nagios/libexec/check_mem.sh -w 90% -c 95% command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 5 -c 10 command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b
注意還要在前面設定給監控主機許可權用以監控: allowed_hosts=127.0.0.1,192.168.175.200 完成後,啟動nrpe:/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d 最後在主控端新增要監控的服務如: vim /usr/local/nagios/etc/object/services.cfg define service{ host_name localhost2 service_description check-tcp-8080 check_command check_tcp!8080 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup } define service{ host_name localhost2 service_description check-http check_command check_http!http:\/\/localhost2/test.jsp!5!10 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup }
如果在/usr/local/nagios/libexec中已有的命令,那直接在被控端nrpe.cfg中新增命令,並在主控端的services.cfg中新增服務即可! 但上面有一些監控物件不是安裝的nagios-plugins外掛裡自帶的,是我在網上找的一些指令碼,這些指令碼怎麼配置的呢?用監控服務的IP連線數來舉個例子吧!
1. 放在/usr/local/nagios/libexec裡, 如:
vim ip_conn.sh #!/bin/sh #if [ $# -ne 2 ]
#then
# echo "Usage:$0 -w num1 -c num2"
#exit 3
#fi
ip_conns=`netstat -an | grep tcp | grep EST | wc -l`
if [ $ip_conns -lt $1 ];
then
echo "OK -connect counts is $ip_conns"
exit 0
fi
if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ];
then
echo "Warning -connect counts is $ip_conns"
exit 1
fi
if [ $ip_conns -gt $2 ];
then
echo "Critical -connect counts is $ip_conns"
exit 2
fi
2. 修改所有者及其許可權; 如:
3. 可先執行一下指令碼看指令碼是否能正常工作; 如:
4. 在被控端的nrpe.cfg中新增命令; 如:command[check_ips]=/usr/local/nagios/libexec/ip_conn.sh 200 250
5. 在主控端的services.cfg中新增監控的服務; 如:define service{ host_name localhost2 service_description check-connect-count check_command check_nrpe!check_ips max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup }
6. 重啟nrpe; kllall nrpe /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
7. 重啟nagios; 如:service nagios restart
8. 在主控端用命令測試一下,看是否能正常監控; [root@localhost libexec]# /usr/local/nagios/libexec/check_nrpe -H localhost2 -c check_ips OK -connect counts is 13
9. 在nagios的web展示頁上檢視是否正常顯示。 如:
Refer to:http://blog.csdn.net/liu_jia_guo/article/details/8480291
Nagios_攻略
一.Nagios各元件簡述 由於nagios配置較為繁鎖,且裡面元件也較多,這裡我將幾個關鍵的元件列舉一下,且做一下簡單的介紹及其和其它元件間的關係的描述。我自己的一些理解,如有偏差,歡迎指正! 我在部署過程中主要用到了以下元件: nagios-3.2.3.tar.gz,nagios-plugins-1.4.15.tar.gz,ndoutils-1.4b7.tar.gz,nrpe-2.12.tar.gz。 這些元件都是幹什麼的呢? 1. nagios-3.2.3.tar.gz是nagios的主要元件,裡面包括了各種配置檔案; 2. nagios-plugins-1.4.15.tar.gz是nagios的外掛,裡面提供了各種監控模板及監控命令,如check_tcp等等有很多常用的監控物件都可以使用這些模式,當然也可以自己編寫指令碼來實現,這一點上nagios是非常靈活的; 3. ndoutils-1.4b7.tar.gz,利用它將nagios的監控資訊存入mysql資料庫; 4. nrpe-2.12.tar.gz是一款用來監控被控端主機資源的工具,沒有它,nagios將無法對被控端伺服器的主機資源進行監控! 以上是一些主要的元件,還有一些比較重要的元件,如:NSClient-0.3.8-Win32.zip(被控端為win作業系統時要安裝),npc (主要用於cacti與nagios整合時,可用於將nagios的監控資料導給cacti) 關係也大致屢清了,上文講過部署nagios,本文將不在嫯述了,下面將nrpe的部署過程詳細整理一下!
二.Nrpe詳解
1.先用表格列舉一下我的監控物件和閥值:
監控物件 監控閥值
主 機 資 源
主機存活: check_ping -w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒響應時間內, 丟包率超過80%報警告,5000毫秒響應時間內,丟包率超過 100%報危急,一共傳送5個包)
登入使用者: check_user -w 5 -c 10(w為警告,c為危急)
系統負載: check_load -w 15,10,5 -c 30,25,20(1分鐘,5分鐘,15分鐘大於對應 的等待程式數則警告或危急)
磁碟佔用率: check_disk -w 20% -c 10% -p /(根分割槽剩餘空間為總大小的20%警告, 10%危急,-p後是根分割槽)
指令碼檢測磁碟I/O: check_iostat -w 5 –c 10 (磁碟I/O的iowait超過5%報警告,超過10%報危急)
檢測殭屍程式: check_zombie _procs -w 5 -c 10 -s Z(有5個殭屍程式報警告,10個報危急)
檢測總程式數: check_total_procs -w 150 -c 200(總程式到150個警告,200個報危急)
指令碼檢測記憶體剩餘: check_mem -w 90% -c 95%(記憶體空閒率90%以上報警告,95%以上報危急)
檢測交換分割槽使用率: check_swap -w 20% -c 10%(交換分割槽剩餘空間為總大小的20%警告, 10%危急)
應 用 服 務 監 控 監控服務埠: check_tcp -H localhost2 -p 80(主機與對應的埠號)
監控頁面響應時間: check_http -H localhost2 -u http:\/\/localhost2/test.jsp –w 5 –c 10(檢查頁面,超過5s報警告,超過10s報危急)
指令碼檢測IP連線數: check_ips -w 200 –c 250(IP連線數超過200報警告,超過250報危急)
流量 監控 監控server流量: Check_traffic -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b(snmp版本,使用者,主機,對應網路卡,警告閥值,危急閥值)
資料庫的監控以後再補上!
2.安裝過程 1)主控端 主控端上也要安裝 nrpe,因為需要它的check_nrpe來監控遠端主機: tar zxf nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin 只執行這一步就行了,因為只需要check_nrpe 外掛。
在主控端的vim /usr/local/nagios/etc/object/commands.cfg中新增: #################################################################
'check_nrpe ' command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ } ##################################################################
2)被控端 被控端上首先要安裝nagios-plugins-1.4.15.tar.gz,再安裝nrpe-2.12.tar.gz。
增加使用者: useradd nagios
安裝nagios外掛: tar fvxz nagios-plugins-1.4.15.tar.gz ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-redhat-pthread-workaround --prefix=/usr/local/nagios make make install chown -R nagios.nagios /usr/local/nagios
安裝nrpe: tar fvxz nrpe-2.12.tar.gz cd nrpe-2.12 ./configure make all make install-plugin make install-daemon make install-daemon-config
找到vim /usr/local/nagios/etc/nrpe.cfg 裡面有一些預設的模板了:
# The following examples use hardcoded command arguments... command[check_users]=/opt/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/opt/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/opt/nagios/libexec/check_disk -w 20 -c 10 -p /dev/hda1 command[check_zombie_procs]=/opt/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/opt/nagios/libexec/check_procs -w 150 -c 200
這些命令是由主控端 check_nrpe來執行來遠端監控主機資源!我們可以修改這些選項,還可以新增一些自己想監控的東西,比如自己寫的指令碼等! 下面是我修改後的配置,只簡單列了下,以供參考:
# The following examples use hardcoded command arguments... command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200 command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10% command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p / command[check_ips]=/usr/local/nagios/libexec/ip_conn.sh 200 250 command[check_mem]=/usr/local/nagios/libexec/check_mem.sh -w 90% -c 95% command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 5 -c 10 command[check_traffic]=/usr/local/nagios/libexec/check_traffic.sh -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –b
注意還要在前面設定給監控主機許可權用以監控: allowed_hosts=127.0.0.1,192.168.175.200 完成後,啟動nrpe:/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d 最後在主控端新增要監控的服務如: vim /usr/local/nagios/etc/object/services.cfg define service{ host_name localhost2 service_description check-tcp-8080 check_command check_tcp!8080 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup } define service{ host_name localhost2 service_description check-http check_command check_http!http:\/\/localhost2/test.jsp!5!10 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup }
如果在/usr/local/nagios/libexec中已有的命令,那直接在被控端nrpe.cfg中新增命令,並在主控端的services.cfg中新增服務即可! 但上面有一些監控物件不是安裝的nagios-plugins外掛裡自帶的,是我在網上找的一些指令碼,這些指令碼怎麼配置的呢?用監控服務的IP連線數來舉個例子吧!
1. 放在/usr/local/nagios/libexec裡, 如:
vim ip_conn.sh #!/bin/sh #if [ $# -ne 2 ]
#then
# echo "Usage:$0 -w num1 -c num2"
#exit 3
#fi
ip_conns=`netstat -an | grep tcp | grep EST | wc -l`
if [ $ip_conns -lt $1 ];
then
echo "OK -connect counts is $ip_conns"
exit 0
fi
if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ];
then
echo "Warning -connect counts is $ip_conns"
exit 1
fi
if [ $ip_conns -gt $2 ];
then
echo "Critical -connect counts is $ip_conns"
exit 2
fi
2. 修改所有者及其許可權; 如:
3. 可先執行一下指令碼看指令碼是否能正常工作; 如:
4. 在被控端的nrpe.cfg中新增命令; 如:command[check_ips]=/usr/local/nagios/libexec/ip_conn.sh 200 250
5. 在主控端的services.cfg中新增監控的服務; 如:define service{ host_name localhost2 service_description check-connect-count check_command check_nrpe!check_ips max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup }
6. 重啟nrpe; kllall nrpe /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
7. 重啟nagios; 如:service nagios restart
8. 在主控端用命令測試一下,看是否能正常監控; [root@localhost libexec]# /usr/local/nagios/libexec/check_nrpe -H localhost2 -c check_ips OK -connect counts is 13
9. 在nagios的web展示頁上檢視是否正常顯示。 如:
Refer to:http://blog.csdn.net/liu_jia_guo/article/details/8480291
Nagios_攻略
How to Add Linux Host to Nagios Monitoring Server Using NRPE Plugin
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26477398/viewspace-1412365/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Nagios監控MySQL報錯:NRPE: Unable to read output的詳細解決過程iOSMySql
- Nginx下構建nagios監控平臺Nagios+nrpe+nagios-plugins+pnp安裝文件薦NginxiOSPlugin
- nagios配置過程詳解iOS
- Nagios配置檔案詳解iOS
- Nagios外掛編寫及使用nrpe執行root命令iOS
- Nagios之批量修改nrpe配置檔案並自動重啟iOS
- 如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)LinuxiOSREMPlugin
- ant 簡述及build.xmlUIXML
- Nagios簡介iOS
- nagios 升級遇到的坑 CHECK_NRPE: Error - Could not complete SSL handshake.iOSError
- vue內建元件——transition簡單原理圖文詳解Vue元件
- JUnit概述及一個簡單例子單例
- Nagios伺服器端配置檔案詳解(2)iOS伺服器
- Nagios伺服器端安裝部署詳解(1)iOS伺服器
- Nginx訪問日誌詳解——各個部分含義——非常簡單Nginx
- 【簡單易懂】JPA概念解析:CascadeType(各種級聯操作)詳解。
- mybatis各階段的詳解MyBatis
- ntpq –p 各引數詳解
- Kafka核心元件詳解Kafka元件
- ReactNative元件詳解React元件
- Android 的各種 Drawable 詳解Android
- Go各時間字串使用詳解Go字串
- JavaScript 各種遍歷方式詳解JavaScript
- vue元件詳解(五)——元件高階用法Vue元件
- vue元件詳解(一)——元件與複用Vue元件
- MSSQL索引檢視(indexed view)之簡述及使用SQL索引IndexView
- OpenStack的Swift元件詳解Swift元件
- OpenStack的Heat元件詳解元件
- OpenStack的Trove元件詳解元件
- Android元件詳解—TextViewAndroid元件TextView
- 【詳解】核心元件之UserDetailService元件AI
- 元件例項 $el 詳解元件
- ReactNative WebView元件詳解ReactWebView元件
- ReactNative Image元件詳解React元件
- OpenStack 的Nova元件詳解元件
- SAP各種BOM詳解(包含常用BAPI)API
- caffe網路各層引數詳解
- windows的各種副檔名詳解Windows