centos下nagios的基本安装
centos下nagios的基本安装
一、下载安装软件:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.4.tar.gz
wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.16/nagios-plugins-1.4.16.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
二、创建用户组及用户
groupadd nagcmd
useradd nagios -s /sbin/nagios
usermod -a -G nagcmd nagios
三、安装apache,mysql,php略
四、安装nagios/nagios-plugins/nrpe主程序
安装nagios
tar -zxvf nagios-3.4.4.tar.gz
cd nagios
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
cp sample-config/httpd.conf /usr/local/apache/conf/nagios.conf
安装nagios-plugins
tar -zxvf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql=/usr/local/mysql
make
make install
说明:如果不加--with-mysql=/usr/local/mysql选项,则不能在/usr/local/nagios/libexec/目录中找到check_mysql命令
安装nrpe
tar -zxvf nrpe-2.13.tar.gz
cd nrpe-2.13
./configure --prefix=/usr/local/nrpe
make
make install
mkdir /usr/local/nrpe/etc/
cp sample-config/nrpe.cfg /usr/local/nrpe/etc/
cp /usr/local/nrpe/check_nrpe /usr/local/nagios/libexec/
cp /usr/local/nagios/libexec/check_disk /usr/local/nrpe/libexec/
cp /usr/local/nagios/libexec/check_load /usr/local/nrpe/libexec/
cp /usr/local/nagios/libexec/check_ping /usr/local/nrpe/libexec/
cp /usr/local/nagios/libexec/check_procs /usr/local/nrpe/libexec/
五、配置cgi.cfgvi /usr/local/nagios/etc/cgi.cfg
authorized_for_system_information=nagiosadmin
修改为:authorized_for_system_information=tendy(联系人用户名:如tendy)
authorized_for_configuration_information=tendy
authorized_for_system_commands=tendy
authorized_for_all_services=tendy
authorized_for_all_hosts=nagiosadmin,tendy
authorized_for_all_service_commands=tendy
authorized_for_all_host_commands=tendy
配置nagios.cfg
vi /usr/local/nagios/etc/nagios.cfg
将cfg_file=/usr/local/nagios/etc/objects/localhosts.cfg
修改为:
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
手工添加如下文件:
cfg_file=/usr/local/nagios/etc/objects/contactgroups.cfg
cfg_file=/usr/local/nagios/etc/objects/hostgroups.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
然后在/usr/local/nagios/etc/objects/目录下,创建如下文件:
hosts.cfg
contactgroups.cfg
hostgroups.cfg
services.cfg
内容如下:
[root@jk objects]# more hosts.cfg
define host{
host_name jk-server
alias jk server
address 192.168.201.110
check_period 24x7
check_interval 5
retry_interval 1
max_check_attempts 10
check_command check-host-alive
notification_period 24x7
notification_interval 10
notification_options d,r,u
contact_groups jk_nagios_group,jk_db_group
}
[root@jk objects]# more hostgroups.cfg
define hostgroup{
hostgroup_name jk-servers
alias jk servers
members jk-server
}
[root@jk objects]# more contactgroups.cfg
define contactgroup{
contactgroup_name jk_nagios_group
alias system administrator group
members tendy
}
[root@jk objects]# more contacts.cfg
define contact{
contact_name tendy
alias system administrator
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands service-notify-by-email
host_notification_commands host-notify-by-email
email tendyjk@163.com
}
define service{
host_name jk-server
service_description check-host-alive
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups jk_nagios_group
notification_options w,u,c,r
notification_interval 10
notification_period 24x7
check_command check-host-alive
}
[root@jk objects]# more services.cfg
define service{
host_name jk-server
service_description check-tcp 80
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups jk_nagios_group
notification_options w,u,c,r
notification_interval 10
notification_period 24x7
check_command check_tcp!80
}
修改commands.cfg
vi /usr/local/nagios/etc/objects/commands.cfg
修改:notify-host-by-email----> host-notify-by-email
修改:notify-service-by-email----> service-notify-by-email
并新增如下内容:
# 'check_nrpe' command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
六、检查配置文件,配置文件都正确,会有如下输出
[root@jk objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 3.4.4
Copyright (c) 2009-2011 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 01-12-2013
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/contactgroups.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/templates.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/services.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/hostgroups.cfg'...
Processing object config file '/usr/local/nagios/etc/objects/hosts.cfg'...
Read object config files okay...
Running pre-flight check on configuration data...
Checking services...
Checked 6 services.
Checking hosts...
Checked 1 hosts.
Checking host groups...
Checked 1 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 2 contacts.
Checking contact groups...
Checked 2 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 26 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
七、将nagios.conf的内容追加到httpd.conf
cat nagios >> /usr/local/apache/conf/httd.conf
八、创建用户tendy
/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.user tendy
九、启动apache、nagios、nrpe
/usr/local/apache/bin/apachectl start
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg
十、查看进程
[root@jk objects]# ps aux |grep nrpe |grep -v grep
nagios 4216 0.0 0.0 5124 924 ? Ss 12:42 0:00 /usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
[root@jk objects]# ps aux |grep nagios |grep -v grep
nagios 4216 0.0 0.0 5124 924 ? Ss 12:42 0:00 /usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
nagios 5617 0.0 0.0 12952 1036 ? Ssl 13:48 0:00 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
root 6980 0.0 0.0 4664 1324 pts/0 T 15:12 0:00 /bin/sh ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
root 8382 0.0 0.0 4664 628 pts/0 T 15:12 0:00 /bin/sh ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagcmd
十一、查看端口
[root@jk objects]# netstat -an|grep 5666
tcp 0 0 192.168.201.110:5666 0.0.0.0:* LISTEN
十二、在web浏览器上查看