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直接安装nrpe:
# 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可以看到被监控的服务的状态。
本文出自 “浅浅的淡淡” 博客,谢绝转载!