您好,登錄后才能下訂單哦!
前面兩篇做了大量監控準備工作,接下來才是進入正題,監控遠程主機資源,如這里我要監控遠程主機的cpu負載、內存、硬盤、網卡流量等
規范:
1).所有下載壓縮包統一存放于/usr/local/src下
2).編譯安裝目錄統一為/usr/local/下
服務端IP:10.30.20.2
客戶端IP:10.30.20.10
正文
在被監控主機既客戶端(以下均使用客戶端),安裝nagios-plugins-2.1.1.tar.gz、nrpe-2.15.tar.gz,解壓后的nrpe包內有具體的配置文檔
一. 客戶端安裝及配置
安裝前準備
useradd -s /sbin/nologin nagios
1.nagios-plugins安裝
tar zxvf nagios-plugins-2.1.1.tar.gz cd nagios-plugins-2.1.1 ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios make && make install
2.安裝xinetd服務
因本文檔的nrpe啟動方式是利用xinetd啟動,因此需要服務器有xinetd服務
yum install xinetd -y
3.安裝nrpe插件
tar zxvf nrpe-2.15.tar.gz cd nrpe-2.15 ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios make all && make install-plugin && make install-daemon && make install-daemon-config make install-xinetd
說明:非官方說明,個人理解解釋其含義
make all 編譯全部文件
make install-plugin 安裝插件
make install-daemon 以daemon模式安裝
make install-daemon-config 生成daemon配置文件
make install-xinetd 生產xinetd配置文件
修改/etc/xinetd.d/nrpe文件,使nagios服務端可以訪問客戶端
only_from= 127.0.0.1 <nagios_ip_address>
此處要做下說明,only_from有多個ip值時是以空格區分,之前配置時以逗號區分多個IP,啟動xinetd服務時nrpe服務并沒啟動,排查了好長時間才發現是這里配置的問題
將nrpe加入xinetd,編輯/etc/services,在最后一行添加如下內容,可使用shift+g或G直接跳到最后一行
vim /etc/services nrpe 5666/tcp #nrpe
啟動xinetd服務,并查看nrpe進程
service xinetd start netstat -at | grep nrpe
4.測試nrpe是否通信是否正常
/usr/local/nagios/libexec/check_nrpe -H localhost
說明:
-h 幫助信息
-H 指定主機地址
監控對象 監控閥值
主機資源
主機存活:check_ping -w 3000.0,80% -c 5000.0,100% -p 5(3000毫秒響應時間內,丟包率超過80%報警告,5000毫秒響應時間內,丟包率超過100%報危急,一共發送5個包)
登陸用戶數:check_load -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%以上報危急)
SWAP使用率:check_swap -w 20% -c 10%(交換分區剩余空間為總大小的20%警告,10%危急)
服務監控
監控服務端口:check_tcp|check_udp -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報危急)
流量監控
監控網絡流量:check_traffic -V 2c -C public -H localhost2 -I 2 -w 12,30 -c 15,35 -M –(snmp版本,用戶,主機,對應網卡,警告閥值,危急閥值)
5.配置nrpe監控插件及執行命令
注:只有在此定義了執行命令及執行插件,服務端才可調用
vim /usr/locat/nagios/etc/nrpe.cfg 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_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1 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%
說明:以下面一條做下解釋,需用此條是因為需要根據自己的實際情況修改/dev/sda1磁盤目錄
插件具體用法可通過-h參數查看幫助
command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_sda1] #定義遠程調用時的插件名或是調用方法
=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1 #定義插件名的具體插件及執行參數
-w 參數定義警告閥值http://morrowind.blog.51cto.com/addblog.php
-c 參數定義嚴重閥值
-p 參數指定具體磁盤目錄
如有其它資源需要監控,只需在nrpe.cfg中添加對應的調用名及參數即可遠程調用
客戶端配置到此基本結束,下面配置服務端,既nagios服務器
二.服務端配置
測試
前面客戶端已經做好配置了,在配置服務端之前,可以先在服務端對客戶端的監控做下測試,為什么要這么做呢?因為我在配置服務端的時候出錯了,不確定是配置文件里寫錯了,還是壓根服務端就得不到客戶端的監控信息
服務端執行如下命令,會返回客戶端nrpe的版本
/usr/local/nagios/libexec/check_nrpe -H 10.30.20.10
執行個監控cpu load的命令
/usr/local/nagios/libexec/check_nrpe -H 10.30.20.10 -c check_load
執行成功則返回類似以下的信息
2.commands.cfg配置
在文件最后一行增加以下內容
vim /usr/local/nagios/etc/commands.cfg define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
3.配置主機及服務
創建webapp目錄存放配置文件
主機配置
vim webapp/host.cfg define host{ use linux-server,host-pnp #這個是根據templates.cfg信息定義,如果上面定義的模板host-pnp添加在define host #和define sevice里面,這兒host-pnp可以不用加,因為linux-server已經包含了 host_name cacti #必須是 被監控的主機名 alias cacti-web #別名隨便定義 address 10.30.20.10 #主機ip地址 contact_groups admins #郵件組,下面會演示 }
主機組配置
vim webapp/hostgroup.cfg define hostgroup{ hostgroup_name servers #組名 alias servers_group #別名 members cacti #主機名(為host.cfg文件定義的host_name名稱) 多個 逗號 隔開 }
服務配置,既需要監控的服務內容都在此文件內配置,此文只列舉部分作為參考
vim webapp/cacti_service.cfg #### set cacti host define service{ use local-service,services-pnp #使用的模板名稱,一定要在templates.cfg里面提前定義好 host_name cacti service_description http check_command check_http contact_groups admins flap_detection_enabled 0 } define service{ use local-service,services-pnp host_name cacti service_description SSH_port check_command check_tcp!22 contact_groups admins flap_detection_enabled 0 } define service{ use local-service,services-pnp host_name cacti service_description Current Load check_command check_nrpe!check_load #使用nrpe檢測,客戶端需要定義 contact_groups admins flap_detection_enabled 0 }
等上幾分鐘就可以在web頁面查看到監控信息了
我的主機進程數太多了,可能和之前被人植入ddos工具有關,抽時間再查查服務
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。