Nagios安装部署
环境
Centos6.5
ip:192.168.189.120
Centos6.5(被监控端)
ip: 192.168.189.130
搭建LAMP环境并安装所需要的工具和库
#yum -y install httpd php openssl-devel gcc gcc-c++
整合Apache和PHP
#vim /etc/httpd/conf/httpd.conf
也即完成LAMP安装部署,测试页测试成功即可!!!
安装Nagios
安装Nagios核心程序
创建组和用户
#groupadd nagios
#useradd -g nagios nagios
解压
#tar zxf nagios-4.4.1.tar.gz
切换目录
#cd nagios-4.4.1
检测环境并指定安装路径
#./configure --prefix=/usr/local/nagios
编译
#make all
安装Nagios程序的主要文件
#make install
安装Nagios服务init脚本
#make install-init
安装Nagios配置文件目录
#make install-config
安装Nagios网页配置文件
#make install-webconf
安装Nagios权限相关
#make install-commandmode
生成Nagios网页认证文件并创建用户
#htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
关闭防火墙
#service iptables stop
#setenforce 0
启动Nagios和Apache
#service httpd restart
#service nagios restart
安装Nagios-plugins
#tar zxf nagios-plugins-2.2.1.tar.gz
#cd nagios-plugins-2.2.1
#./configure --prefix=/usr/local/nagios
#make
#make install
浏览器访问:
http://192.168.189.120/nagios
用户名为上面新建的nagiosadmin,密码是自定义的密码。
Nagios主配置文件为
#cd /usr/local/nagios/etc/
nagios.cfg
各个配置文件路径
Nagios安装目录:/usr/local/nagios
Nagios插件目录:/usr/local/nagios/libexec
Nagios配置文件目录:/usr/local/nagios/etc
配置文件整理
1)Nagios主配置文件:/usr/local/nagios/etc/nagios.cfg
2)Nagios定义命令的配置文件:/usr/local/nagios/etc/objects/commands.cfg
3)Nagios定义联系人的配置文件:/usr/local/nagios/etc/objects/contacts.cfg
4)Nagios定义监控windows系统的配置文件:/usr/local/nagios/etc/objects/windows.cfg
5)Nagios定义监控本机的配置文件:/usr/local/nagios/etc/objects/localhost.cfg
6)Nagios定义模板的配置文件:/usr/local/nagios/etc/objects/templates.cfg
7)Nagios定义监控时间模板的配置文件:/usr/local/nagios/etc/objects/timeperiods.cfg
8)Nagios定义变量的配置文件:/usr/local/nagios/etc/resource.cfg
添加一个主机‘
#vi /usr/local/nagios/etc/objects/localhost.cfg
define host{ #定义一个主机
use linux-server #引用一个模板
host_name 1605A #定义主机名
alias 1605A #定义主机别名
address 192.168.189.120 #主机的IP地址
}
添加一个服务
#vi /usr/local/nagios/etc/objects/localhost.cfg
define service{ #定义一个服务
use local-service #引用一个模板
host_name apache #主机名(定义是哪个主机上的服务)
service_description httpd的服务状态 #对要监控的服务的描述
check_command check_apache #监控这个服务要执行的命令
}
添加一个命令
define command { #定义一个命令
command_name check_apache #定义命令的名字
command_line
U
S
E
R
1
USER1
USER1/check_http -I
H
O
S
T
A
D
D
R
E
S
S
HOSTADDRESS
HOSTADDRESS #命令执行的插件
}
监控其他linux服务器原理图
Nagios监控其他linux服务器需要借助NRPE,NRPE是一个C/S架构的网络服务,服务器端是一个临时服务器,依靠xinetd运行,默认监听在5666端口上
原理:
Nagios服务器通过调用check_nrpe插件发送命令给被监控服务器的NRPE服务,NRPE服务在接收到命令后再调用插件去获取数据库,然后通过NRPE服务将数据库返回给Nagios服务器
1.在被监控的服务器上安装NRPE服务器端
配置被监控端:
安装nagios插件(被监控端操作):
#yum -y install gcc* openssl openssl-devel
#useradd nagios
#tar zxf nagios-plugins-2.1.1.tar.gz
#cd nagios-plugins-2.1.1
#./configure --prefix=/usr/local/nagios
#make && make install
#chown -R nagios.nagios /usr/local/nagios/
#tar zxf nrpe-3.2.1.tar.gz
#cd nrpe-3.2.1
#./configure --prefix=/usr/local/nagios/
#make all && make install-plugin && make install-daemon
修改配置文件,添加nagios服务器地址:
#cp /usr/local/src/nrpe-3.2.1/sample-config/nrpe.cfg /usr/local/nagios/etc/
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
#vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1, 192.168.152.136
启动nrpe:
#/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
在nagios服务器上测试nrpe运行是否正常:
#/usr/local/nagios/libexec/check_nrpe -H 192.168.152.130
NRPE v3.2.1
2.回到Nagios服务器安装nrpe插件
tar zxf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure –prefix=/usr/local/nagios
make all
make install-plugin
3.查看插件是否安装成功
ls /usr/local/nagios/libexec/check_nrpe
4.为插件增加命令
vim /usr/local/nagios/etc/objects/commands.cfg
增加如下内容:
###nrpe
define command {
command_name check_nrpe
command_line
U
S
E
R
1
USER1
USER1/check_nrpe -H
H
O
S
T
A
D
D
R
E
S
S
HOSTADDRESS
HOSTADDRESS -c
A
R
G
1
ARG1
ARG1
}
20 在被监控服务器端添加命令
vim /usr/local/nagios/etc/nrpe.cfg
增加以下内容:
command[check_boot]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /boot
21在Nagios服务器上测试新加的命令
#cd /usr/local/nagios/libexec/
./check_nrpe -H 192.168.189.130 -c check_boot
查看是否有数据返回
22.在Nagios服务器上添加一个主机
新增一个配置文件linux.cfg
#vim /usr/local/nagios/etc/nagios.cfg
增加
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
编辑配置文件新加主机
vim /usr/local/nagios/etc/objects/linux.cfg
define host {
use linux-server
host_name web-Apache
alias Apache
address 192.168.189.130
}
添加服务
####监控/boot分区的空间率#####
define service {
use local-service
host_name web-Apache
service_description /boot分区的空间率
check_command check_nrpe!check_boot
}
重启Nagios服务
service nagios restart
访问Nagios的web页面查看是否添加成功