本文是小弟整合幾位大神的文章,見笑@@
10年積累的成都做網(wǎng)站、成都網(wǎng)站設(shè)計經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有施秉免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
Linux利用sendmail和fetion發(fā)送報警通知
nagios監(jiān)控windows主機(jī) && linux主機(jī)
CentOS 5/6.X 使用 EPEL YUM源:
實驗環(huán)境:
兩臺64位的centos-6.6
一臺window-server-2003
安裝網(wǎng)絡(luò)yum源:
centos5.x--32位 [root@centos-server ~]# wget http://mirrors.yun-idc.com/epel/5/i386/epel-release-5-4.noarch.rpm centos5.x--64位 [root@centos-server ~]# wget http://mirrors.hust.edu.cn/epel//5/x86_64/epel-release-5-4.noarch.rpm centos6.x--32位 [root@centos-server ~]# wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm centos6.x--64位 [root@centos-server ~]# wget http://mirrors.hust.edu.cn/epel//6/x86_64/epel-release-6-8.noarch.rpm [root@centos-server ~]# rpm -ivh epel-release-6-8.noarch.rpm
搭建nagios監(jiān)控服務(wù)器:
yum install httpd php* openssl openssl-devel nagios nagios-plugins* setenforce 0 iptables -I INPUT -p tcp --dport 80 -j ACCEPT 增加httpd的訪問驗證 [root@centos-server ~]# htpasswd -c /etc/nagios/htpasswd nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin 注意nagios的默認(rèn)用戶就是nagiosadmin,如果你使用的不是此用戶,需要修改以下項目 [root@centos-server objects]# cat /etc/nagios/cgi.cfg |grep nagiosadmin authorized_for_system_information=nagiosadmin authorized_for_configuration_information=nagiosadmin authorized_for_system_commands=nagiosadmin authorized_for_all_services=nagiosadmin authorized_for_all_hosts=nagiosadmin authorized_for_all_service_commands=nagiosadmin authorized_for_all_host_commands=nagiosadmin 快速修改命令 [root@centos-server ~]# sed -i 's/nagiosadmin/dragon/g' /etc/nagios/cgi.cfg 通過httpd訪問nagios的web文件 [root@centos-server objects]# cat >> /etc/httpd/conf/httpd.conf <AllowOverride AuthConfig Options ExecCGI Order allow,deny Allow from all AuthUserFile /etc/nagios/htpasswd Alias /nagios /usr/share/nagios/html/ Options None AllowOverride AuthConfig Order allow,deny Allow from all AuthUserFile /etc/nagios/htpasswd END
定義監(jiān)控LINUX文件:
[root@centos-server objects]# mkdir /etc/nagios/objects/server [root@centos-server objects]# vim /etc/nagios/nagios.cfg cfg_dir=/usr/local/nagios/etc/servers [root@centos-server objects]# vim /etc/nagios/objects/server/192.168.150.143.cfg define host{ use linux-server host_name 192.168.150.143 alias linux address 192.168.150.143 } define service{ use generic-service host_name 192.168.150.143 service_description Check Swap check_command check_nrpe!check_swap } define service{ use generic-service host_name 192.168.150.143 service_description total check_command check_nrpe!check_total_procs } define service{ use generic-service host_name 192.168.150.143 service_description check_load check_command check_nrpe!check_load } define service{ use generic-service host_name 192.168.150.143 service_description check_tcp_3306 check_command check_tcp!3306 } define service{ use generic-service host_name 192.168.150.143 service_description check_users check_command check_nrpe!check_users } define service{ use generic-service host_name 192.168.150.143 service_description check_MySQL check_command check_nrpe!check_mysql } define service{ use generic-service host_name 192.168.150.143 service_description check_http 192.168.150.143/index.html check_command check_http!'-u /index.html' } define service{ use generic-service host_name 192.168.150.143 service_description check_disk check_command check_nrpe!check_sda1 } 在commonds.cfg中添加check_nrpe的命令 [root@centos-server objects]# vim /etc/nagios/objects/commands.cfg define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
配置linux客戶端:
[root@centos-server ~]# yum install nagios-plugins* openssl-devel openssl mysql-server [root@centos-server ~]# cat /etc/nrpe.d/nrpe only_from=127.0.0.1 192.168.150.139 [root@centos-server objects]# vim /etc/nagios/nrpe.cfg 添加nagios監(jiān)控端的ip allowed_hosts=127.0.0.1,192.168.150.139 添加以下內(nèi)容 command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10 command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20 command[check_sda1]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1 command[check_zombie_procs]=/usr/lib64/nagios/plugins/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/lib64/nagios/plugins/check_procs -w 150 -c 200 command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 127.0.0.1 -ubbq -pqwe123 #此用戶需要在mysql中添加 command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 20% -c 10%
通過yum安裝的nagios監(jiān)控插件還有很多,有需要用到的可以研究下:
兩端重啟服務(wù):
service nagios restart service httpd restart service nrpe restart service xinetd restart [root@centos-server ~]# netstat -anl|grep 5666 tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN tcp 0 0 :::5666 :::* LISTEN 在nagios監(jiān)控端測試被監(jiān)控端nrpe聯(lián)通: [root@centos-server ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.150.143 NRPE v2.15
監(jiān)控window-server:
[root@centos-server objects]# vim /etc/nagios/objects/server/192.168.150.146.cfg define host{ usewindows-server host_name 192.168.150.146 alias my computer address 192.168.150.146 } define service{ use generic-service host_name 192.168.150.146 service_description NSClient++ Version check_command check_win!CLIENTVERSION } define service{ use generic-service host_name 192.168.150.146 service_description Uptime check_command check_win!UPTIME } define service{ use generic-service host_name 192.168.150.146 service_description CPU Load check_command check_win!CPULOAD!-l 5,80,90 } define service{ use generic-service host_name 192.168.150.146 service_description Memory Usage check_command check_win!MEMUSE!-w 80 -c 90 } define service{ use generic-service host_name 192.168.150.146 service_description C:\ Drive Space check_command check_win!USEDDISKSPACE!-l c -w 80 -c 90 } define service{ use generic-service host_name 192.168.150.146 service_description D:\ Drive Space check_command check_win!USEDDISKSPACE!-l d -w 80 -c 90 } define service{ use generic-service host_name 192.168.150.146 service_description E:\ Drive Space check_command check_win!USEDDISKSPACE!-l e -w 80 -c 90 } define service{ use generic-service host_name 192.168.150.146 service_description Explorer check_command check_win!PROCSTATE!-d SHOWALL -l Explorer.exe } [root@centos-server objects]# vim /etc/nagios/objects/commands.cfg define command{ command_name check_win command_line $USER1$/check_nt -H "$HOSTADDRESS$" -p 12489 -s dianyi123 -v $ARG1$ $ARG2$ }
測試配置文件:
[root@centos-server objects]# /usr/sbin/nagios -v /etc/nagios/nagios.cfg Error: Could not find any hostgroup matching 'windows-servers' (config file '/etc/nagios/objects/server/192.168.150.146.cfg', starting on line 1) #這里我遇到這個錯誤了,把/etc/nagios/objects/templates.cfg 里window-server模版主機(jī)中以下這項注釋就可以了 #hostgroups windows-servers ; 重啟以下服務(wù) [root@centos-server objects]# service nagios restart
配置window安裝NSClient++:
1.
2.
3.
看到監(jiān)控結(jié)果:
郵件報警設(shè)置:
引用鄭彥生的原文 1、停止系統(tǒng)自帶的sendmail服務(wù) # /etc/init.d/postfix stop 2、安裝sendmail和mailx # yum -y install sendmail mailx 3、修改sendmail配置文件 # cp /etc/mail.rc /etc/mail.rc.bak # cat >> /etc/mail.rc << EOF set from=13260071987@139.com smtp=smtp.139.com set smtp-auth-user=13260071987@139.com smtp-auth-password=yi15093547036 smtp-auth=login EOF 4、重新啟動sendmail服務(wù) # service sendmail restart 5.修改聯(lián)系人 [root@centos-server objects]# vim /etc/nagios/objects/contacts.cfg define contact{ contact_name nagiosadmin use generic-contact alias Nagios Admin email 18507656225@139.com }
查看郵件: