第一章 简介
1.nagios监控原理
1.Nagios 执行安装在它里面的 check_nrpe 插件,并告诉 check_nrpe 去检测哪些服务。
2.通过 SSL,check_nrpe 连接远端机子上的 NRPE daemon
3.NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)
4.最后,NRPE 把检测的结果传给主机端的 check_nrpe,check_nrpe 再把结果送到 Nagios状态队列中
第二章 Nagios安装
安装需要准备的软件包
nagios-3.4.3.gz
nagios-plugins-1.4.13.tar.gz
nrpe-2.8.1.tar.gz
gd-devel-2.1.0-7.5.1.x86_64.rpm
2.安装nagios
2.1 安装PHP环境
配置本地yum环境
cd /etc/yum.repos.d/
mkdir repo.bak
cp CentOS-* repo.bak/
rm -rf CentOS-*
vi aa.repo
[aa]
name=aa
baseurl=file:///mnt
gpgcheck=1
:wq 保存退出
挂载
mount /dev/dvd /mnt
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-*
rpm -ivh gd-devel-2.1.0-7.5.1.x86_64.rpm --force --nodeps
yum install make gcc glibc glibc-common php gd gd-devel libpng libmng libjpeg zlib expect openssl openssl-devel -y
service httpd start
检测php安装是否成功
cd /var/www/html
建立php页面
vi index.php
<?php
phpinfo()
?>
:wq 保存退出
http://192.168.1.242
2.2 添加nagios软件用户和用户组
useradd nagios
groupadd nagcmd
usermod -G nagcmd apache
usermod -G nagcmd nagios
2.3安装和编译nagios
tar zxvf nagios-3.4.3.gz
cd nagios
# ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd
编译Nagios程序包源码
# make all
安装二进制运行程序、初始化脚本、配置文件样本并设置运行目录权限
# make install
安装生成/usr/local/nagios/share的目录(即nagiosWEB访问界面的站点目录)
# make install-init
安装生成/etc/rc.d/init.d/nagios 启动脚本
# make install-config
安装生成/usr/local/nagios/etc下的nagios相关配置文件
# make install-commandmode
设定相应nagios工作目录的权限
# make install-webconf
安装Nagios的WEB配置文件到Apache的conf.d目录下
2.4 配置web接口
我们应该创建一个的用户用于Nagios的WEB接口登录。记住设置好的登录口令,一会儿你会用到它。
用户名:nagiosadmin
密码:herendh
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
输入密码 herendh进行密码设置。
重启Apache服务以使设置生效。
service httpd reload
输入地址访问,此时nagios 什么也没有,需要安装下面的插件
将 Nagios和httpd设置为开机启动
chkconfig --add nagios
chkconfig nagios on
chkconfig --add httpd
chkconfig httpd on
3.安装nagios插件(服务器)nagios-plugins
tar zxvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make all
make install
service nagios reload
service httpd reload
4.安装nagios插件(服务器)nrpe
tar zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure
make all
make install-plugin
5.手动监控本机的监控对象
5.1 nagios文件的具体含义
nagios文件的具体含义:(/usr/local/nagios/etc/objects)
command.cfg 定义nagios能调用的命令;
contacts.cfg 定义联系人;
localhost.cfg 定义监控本机的对象;
printer.cfg 定义对打印机的监控;
switch.cfg 定义对交换机的监控;
templates.cfg 定义模板;
timeperiods.cfg 定义时间对象;
windows.cfg 定义监控的windows主机
5.2 业务监控
cd /usr/local/nagios/etc/objects/
定义主机和服务
vi heren.cfg
define host{
use heren-server
host_name 192.168.1.241
alias 192.168.1.241
address 192.168.1.241
}
define service{
use heren-service
host_name 192.168.1.241
service_description master8051
check_command check_url_port!'192.168.1.241'!'http://192.168.1.241:8051/heren/security/login-new.html'!'class'!8051
}
define service{
use heren-service
host_name 192.168.1.241
service_description message9999
check_command check_url_port!'192.168.1.241'!'http://192.168.1.241:9999/heren-message/personal/index.html'!'class'!9999
}
define service{
use heren-service
host_name 192.168.1.241
service_description schedule8061
check_command check_url_port!'192.168.1.241'!'http://192.168.1.241:8061/schedule/schedule/schedule.html'!'class'!8061
}
define service{
use heren-service
host_name 192.168.1.241
service_description report8081
check_command check_url_port!'192.168.1.241'!'http://192.168.1.241:8081/heren-report/api/jasper-prints/fill'!'class'!8081
}
define service{
use heren-service
host_name 192.168.1.241
service_description Disk
check_command check_nrpe_disk!check_sda
}
define service{
use heren-service
host_name 192.168.1.241
service_description Load
check_command check_nrpe_load!check_load
}
define service{
use heren-se