nagios 安装配置
nagios的安装与配置
Apache和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态,因此,安装一个web服务是很必要的。
需要注意的是,nagios在nagios3.1.x版本以后,配置web监控界面时需要php的支持。这里我们下载的nagios版本为nagios-3.2.1,因此在编译安装完成apache后,还需要编译php模块,这里选取的php版本为php5.5.10.
一、安装apache
1.下载
cd /usr/local/src
wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.27.tar.bz2
2.解压
tar zxvf httpd-2.2.27.tar.bz2
3.配置编译参数
./configure --prefix=/usr/local/apache2
4.编译
make
5.安装
make install
二、安装php
1.下载
cd /usr/local/src
wgethttp://am1.php.net/distributions/php-5.3.27.tar.gz
2.解压
tar zxvf php-5.3.27
3.配置编译参数
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs 4.编译和安装
make && make install
三、安装nagios服务器端及插件nagios-plugins
1.下载
wget http://syslab.comsenz.com/downloads/linux/nagios-3.0.5.tar.gz
wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz
2.先安装nagios
useradd -s /sbin/nologin nagios
tar -zxvf nagios-3.0.5.tar.gz //解压缩;
cd nagios-3.0.5
./configure --prefix=/usr/local/nagios //编译参数;
make all
make install
make install-init
make install-config
make install-commandmode
chkconfig --add nagios //把nagios添加到系统服务;
chkconfig nagios on //把nagios设置为开机启动;
3.安装nagios-plugins
tar zxvf nagios-plugios.1.4.13.tar.gz
cd /nagios-plugins.1.4.13
./configure --prefix=/usr/local/nagios
make && make install //编译、安装;
useradd -s /sbin/nologin nagios //创建nagios用户并不允许登陆系统;
chown -R nagios:nagios /usr/local/nagios //修改nagios的目录的所属用户和组;
四、修改web接口
在刚才安装的apache的主配置文件httpd.conf中添加如下内容:
vim /usr/local/apache2/conf/httpd.conf //打开配置文件把下面的内容添加进去;
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin/">
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /nagios/ /usr/local/nagios/share/
<Directory "/usr/local/nagios/share">
Options None
AllowOverride AuthConfig
Order allow,deny
Allow from all
</Directory>
保存后,在httpd.conf中找到“DirectoryIndex index.htm”修改成“DirectoryIndex index.php index.html”
然后再找到 “AddType application/x-gzip .gz .tgz” 在该行下面添加下面两行的配置
AddType application/x-httpd-php .php .phtml
AddType applicatoin/x-httpd-php-source .phps
然后再找到LoadModule php5_module modules/libphp5.so 若是没有就添加该行;
五、创建登陆naigos的用户
/usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
//回车后会让你输入这个用户的密码,输入两遍就好;
/usr/local/apache2/bin/apachectl start //启动ahache服务;
service nagios start //启动nagios
用web浏览器打开nagios之前要确保你的linux防火墙是关闭的:
vim /etc/selinux/config //把“SELINUX=” 改为 “SELINUX=disabled”
iptables -F; /etc/init.d/iptables save //清空iptables规则并保存;
现在你可以在浏览器上输入 http://ip/nagios //ip为linux的ip地址
用户名是 nagiosadmin 密码是刚才你设置的。
至此nagios安装完成。
六、配置监控对象和服务
要实现远程监控需要在被监控的主机上安装nrpe和nagios-plugins 插件。
安装前需要创建nagios用户和nagios组
useradd -s /sbin/nologin nagios
cd /usr/local/src
wget http://syslab.comsenz.com/downloads/linux/nagios-plugins-1.4.13.tar.gz
tar zxvf nagios-plugins-1.4.13.tar.gz
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
make && make install
安装nrpe
下载:wget http://prdownloads.sourceforge.net/nagios/nrpe-2.12.tar.gz
tar zxvf nrpe-2.12.tar.gz
cd nrpe-2.12.tar.gz
./configure
make all
make install-plugin
make install-daemon
make install-daemon-config
yum install -y xinetd
或者也可以用yum直接安装:
rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm
yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
安装完成后,
vim /etc/nagios/nrpe.cfg
找到“allowed_hosts=127.0.0.1”,在后面加个监控主机(server)的ip地址,用逗号隔开;
然后再找到“dont_blame_nrpe=0”,把 0 改为 1 保存后退出;
service nrpe start //启动nrpe;
七、在监控主机(nagios server)上修改配置文件
vim /usr/local/nagios/etc/nagios.cfg 加入下面两行
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
cfg_file=/usr/local/nagios/etc/objects/services.cfg
touch /usr/local/nagios/etc/objects/hosts.cfg //创建hosts.cfg文件(定义主机)
touch /usr/local/nagios/etc/objects/services.cfg //创建services.cfg文件(定义服务)
在hosts.cfg中添加需要监控的主机
define host{
use linux-server
host_name 192.168.1.3 #这是被监控的主机的名字
alias centos_nagios #这个可以随便写
address 192.168.1.3 #这里的ip为被监控主机的ip
#notifications_enabled 0
}
在services.cfg中添加需要监控主机上的服务
vim /usr/local/nagis
define service{
use generic-service
host_name 192.168.79.144
service_description check_ping
check_command check_ping
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.79.144
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.79.144
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
// 注意,这里的IP是client端的IP,监控的项目有三个ping, ssh, http。其实这三个项目使用的脚本都为本地脚本,也就是说,即使远程主机没有安装nagios和nrpe同样可以监控这些项目。但是如果想监控load,disk,等等就需要通过nrpe服务来搞定了,道理很简单,load和disk都需要登录到远程主机上去获得信息,而ping,ssh,http都不需要的。这个到远程主机获取相关的信息的过程是由nrpe完成的。如果你的client上没有启动nrpe服务那么是无法获取远程主机的load和disk等信息的.
vim /usr/local/nagios/etc/objects/commands.cfg 写入下面内容:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
然后再编辑/usr/local/etc/objects/server.cfg 写入如下内容:
define service{
use generic-service
host_name 192.168.1.3
service_description check_load
check_command check_nrpe!check_load
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.1.3
service_description check_disk_hda1
check_command check_nrpe!check_hda1
max_check_attempts 5
normal_check_interval 1
}
//监控Linux磁盘容量时,若磁盘的格式是sda模式,需要在被监控的主机上更改nrpe.cfg的配置文件
service nagios restart //重启nagios
在被监控主机上启动nrpe服务: service nrpe start
现在可以在浏览器上输入 http://ip/nagios //ip为监控主机server的ip
点击左侧的hosts可以看到被监控主机是否在线;
点击左侧的service可以看到被监控的服务的状态。
本文出自 “浅浅的淡淡” 博客,谢绝转载!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。