yum構築nagiosモニタリングlinux&&windowおよびメールアラーム
本文は小弟が何人かの大神を統合した文章で、見笑@@
Linuxはsendmailとfetionを利用してアラーム通知を送信します
nagiosモニタwindowsホスト&linuxホスト
CentOS 5/6.X EPEL YUMソースを使用:
実験環境:
64ビットのcentos-6.6を2台
Windows-server-2003
インストールネットワークyumソース:
nagios監視サーバを構築するには、次の手順に従います.
モニタLINUXファイルを定義するには:
linuxクライアントの構成:
yumによってインストールされたnagiosモニタリングプラグインはまだたくさんあります.必要なものがあります.
両端再起動サービス:
Windows-serverのモニタ:
プロファイルのテスト:
WindowsインストールNSClient++:
1.
2.
3.
モニタ結果が表示されます.
メールアラーム設定:
メッセージを表示:
Linuxはsendmailとfetionを利用してアラーム通知を送信します
nagiosモニタwindowsホスト&linuxホスト
CentOS 5/6.X EPEL YUMソースを使用:
実験環境:
64ビットのcentos-6.6を2台
Windows-server-2003
インストールネットワーク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監視サーバを構築するには、次の手順に従います.
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 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 <<END
scriptAlias /nagios/cgi-bin "/usr/lib64/nagios/cgi-bin/"
<Directory "/usr/lib64/nagios/cgi-bin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
AuthUserFile /etc/nagios/htpasswd
</Directory>
Alias /nagios /usr/share/nagios/html/
<Directory "/usr/share/nagios/html/">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthUserFile /etc/nagios/htpasswd
</Directory>
END
モニタ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 ip
allowed_hosts=127.0.0.1,192.168.150.139
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モニタリングプラグインはまだたくさんあります.必要なものがあります.
両端再起動サービス:
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 nrpe :
[root@centos-server ~]# /usr/lib64/nagios/plugins/check_nrpe -H 192.168.150.143
NRPE v2.15
Windows-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
#hostgroups windows-servers ;
[root@centos-server objects]# service nagios restart
WindowsインストールNSClient++:
1.
2.
3.
モニタ結果が表示されます.
メールアラーム設定:
1、 sendmail
# /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 [email protected] smtp=smtp.139.com
set [email protected] smtp-auth-password=yi15093547036 smtp-auth=login
EOF
4、 sendmail
# service sendmail restart
5.
[root@centos-server objects]# vim /etc/nagios/objects/contacts.cfg
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email [email protected]
}
メッセージを表示: