本系列文章旨在记录作者搭建nagios监控的安装及配置步骤,都经过测试,欢迎指正。
nagios简介:
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
本篇文章将详细说明如何在ubuntu12.04 server 上安装nagios,并监控本机基本信息。
nagios监控远程服务器的配置将在下一节介绍:《ubuntu nagios 监控远程主机》
一、准备
1.更新ubuntu系统
配置好合适的源后 /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade
2.依赖软件包:
sudo apt-get install build-essential
sudo apt-get install libssl0.9.8 libssl-dev openssl
sudo apt-get install libgd2-noxpm libgd2-noxpm-dev
sudo apt-get install apache2
安装到目录:
/usr/bin/htpasswd
/usr/sbin/apache2 link
/etc/apache2 配置文件httpd.conf在此
/usr/lib/apache2 modules 在此
/usr/share/apache2
/usr/share/man/man8/apache2.8.gz
apt-get install php5
安装到目录
/usr/bin/php5 /etc/php5 /usr/lib/php5 /usr/share/php5 /usr/share/man/man1/php5.1.gz
二、下面进行nagios的安装
以下操作要在root权限用户下进行
修改root密码:
sudo passwd root 设置root密码
su 切到root用户
1.下载nagios软件包
下载所需安装包,在/usr/local/src目录下载
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
2.创建所需用户和组信息
groupadd nagcmd
groupadd nagios
useradd -g nagios nagios
3.安装nagios
tar zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure --prefix=/usr/local/nagios --with-command-group=nagcmd
终端打印出configure信息:
注意关于apache2和mail的配置,以后可能会修改,记住位置:
Apache conf.d directory: /etc/apache2/conf.d
Mail program: /usr/bin/mail
编译:
make all
根据上述提示安装:
make install
make install-init
make install-config
make install-commandmode
make install-webconf
其中要注意每一步的安装信息,主要是安装目录,方便以后修改。
修改nagios用户和组chown -R nagios:nagios /usr/local/nagios/
5.创建nagios页面监控账号,可以通过apache页面登陆后进行监控:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosuser1
输入密码: 1234 自己更改
将在/usr/local/nagios/etc/htpasswd.users中增加内容 nagiosuser1:$apr1$9BYgbp3B$GMsWR6vAI02n140GyT0Q606
如果找不到htpasswd命令,一般apache会将其装在/usr/bin/htpasswd
6.增加nagios监控用户的权限
vi /usr/local/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔
authorized_for_system_information=nagiosadmin,nagiosuser1
authorized_for_configuration_information=nagiosadmin,nagiosuser1
authorized_for_system_commands=nagiosadmin,nagiosuser1
authorized_for_all_services=nagiosadmin,nagiosuser1
authorized_for_all_hosts=nagiosadmin,nagiosuser1
authorized_for_all_host_commands=nagiosadmin,nagiosuser1
authorized_for_all_service_commands=nagiosadmin,nagiosuser1
7.编译并安装Nagios插件
tar zxvf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
编译安装
make
make install
会在/user/local/nagios/libexec目录下生成很多check_xxx脚本
8.验证nagios安装是否成功
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
其中展示了相关配置的信息(多少个service,contact,groups…),如果没有报错,可以启动Nagios服务:
启动(-d 后台执行):
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
查看运行状态:
/usr/local/nagios/bin/nagiostats
9.在监控主机上安装NRPE(Nagios Remote Process Execute)
tar -zxvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure
出错:checking for SSL libraries... configure: error: Cannot find ssl libraries
解决,创建一个user/lib/libssl.so=>/usr/lib/x86_64-linux-gnu/libssl.so的简单符号连接:
ln -s /usr/lib/x86_64-linux-gnu/libssl.so /usr/lib/libssl.so
这里/usr/lib/x86_64-linux-gnu/libssl.so目录可能不是这一个,可以通过命令whereis ssl来查看,32位ubuntu上可能是/usr/lib/i386-linux-gnu/libssl.so
然后重新
./configure
编译安装:
make all
make install-plugin
默认将check_nrpe安装到/usr/local/nagios/libexec目录下,监控主机只需安装plugin即可,被监控机器需要安装deman部分,参考下篇博文。
至此,监控主机上nagios的安装结束,下面是配置环节
二、nagios配置
1.创建一个存放监控所有机器的自定义配置文件的文件夹machines
mkdir -p /usr/local/nagios/etc/machines
chown nagios:nagios /usr/local/nagios/etc/machines
以后要是添加配置文件就:
vi /usr/local/nagios/etc/nagios.cfg
添加: cfg_dir=/usr/local/nagios/etc/machines/xxx.cfg
2.添加nrpe command 支持
vi /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
3.重新检查配置有没有语法错误
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
没有语法错误的话,可以启动nagios查看nagios对本机的基本监控了。因为对本机的基本监控已经默认配置好了,所以此处不需要再配置。
启动nagios
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
[关闭 service nagios stop]
重新启动apache:
service apache2 restart
在页面输入地址: http://ip地址/nagios,输入用户nagiosuser1 密码即可进入nagios监控页面
当然,为了学习我们还是要好好读一下/user/local/nagios/etc目录下的所有配置文件,尤其是objects子目录下的本机配置文件及模板文件。