简单介绍nagios 主页: http://www.nagios.org
nagios是一款开源的监控软件,能够对网络内的主机和硬件设备进行状态监控。
功能:
1. 状态监控
2. 预警报告
3. 集中,规模化管理
4. web可视化显示方式
5. 自定义shell脚本或插件实现更多的功能
nagios的实现方式:nagios采用分布-集中的管理模式。在nagios服务器上安装nagios主程序,
在被监控主机上安装nagios代理程序。通过nagios主程序和nagios代理程序之间的通讯,监视主机状态
。主程序和代理程序之间有两种工作方式,一种是主程序-->Active-->代理程序;另一种是主程序--
>passive-->代理程序;顾名思义,是以一方向另一方主动提出通讯需求来划分的。
安装nagios
3.1 准备软件包
在做安装之前确认要对该机器拥有root权限。
确认你安装好的linux系统上已经安装如下软件包再继续。
Apache
GCC编译器
GD库与开发库
可以用yum命令来安装这些软件包,键入命令:
yum –y install httpd gcc glibc glibc‐common gd gd‐devel
3.2 操作过程
建立nagios账号
/usr/sbin/useradd nagios && passwd nagios
创建一个用户组名为nagcmd用于从Web接口执行外部命令。将nagios用户和apache用户都加到这个组中
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod ‐G nagcmd nagios
/usr/sbin/usermod ‐G nagcmd apache
下载nagios和插件程序包
下载Nagios和Nagios插件的软件包(访问http://www.nagios.org/download/站点以获得最新版本)
cd /usr/local/src
wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nagios‐3.0.6.tar.gz
wget http://nchc.dl.sourceforge.net/sourceforge/nagiosplug/nagios‐plugins‐1.4.13.tar.gz
编译与安装nagios
cd /usr/local/src
tar zxvf nagios‐3.0.6.tar.gz
cd nagios‐3.0.6
./configure ‐‐with‐command‐group=nagcmd ‐ ‐prefix=/usr/local/nagios
make all
make install 安装主程序,CGI和HTML文件
make install‐init 在/etc/rc.d/init.d安装启动脚本
make install‐config 为外部命令文件配置目录权限
make install‐commandmode 安装示例配置文件
# make install‐webconf 安装nagios接口配置模版文件,此模版需要手动添加到httpd.conf文件才可生效(也就是apach的主配置文件)。默认安装位置为:/etc/httpd/conf.d
将nagios.conf中的内容追加到/etc/httpd/conf/httpd.conf下面!
验证程序是否被正确安装。切换目录到安装路径(这里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var这五个目录,如果存在则可以表明程序被正确的安装到系统了。后表是五个目录功能的简要说明:
bin | Nagios执行程序所在目录,nagios文件即为主程序 |
etc | Nagios配置文件位置,初始安装完后,只有几个*.cfg-sample文件 3与2区别 对象配置文件都在etc/objects目录下 |
sbin | Nagios Cgi文件所在目录,也就是执行外部命令所需文件所在的目录 |
Share | Nagios网页文件所在的目录 |
Var | Nagios日志文件、spid 等文件所在的目录 |
var/archives | Empty directory for the archived logs |
var/rw | Empty directory for the external command file |
编译并安装nagios插件 nagios‐plugins
cd /usr/local/src
tar zxvf nagios‐plugins‐1.4.13.tar.gz
cd nagios‐plugins‐1.4.13
./configure ‐‐with‐nagios‐user=nagios ‐‐with‐nagios‐group=nagios
‐‐perfix=/usr/local/nagios
make && make install
验证:
ls /usr/local/nagios/libexec
会显示安装的插件文件,即所有的插件都安装在libexec这个目录下
3.2.5 配置WEB接口
方法一:1.如上直接在安装nagios时 make install‐webconf
然后将/etc/httpd/conf.d/nagios.conf中的内容追加到/etc/httpd/conf/httpd.conf下面
2.创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,用于登录使用
htpasswd ‐c /usr/local/nagios/etc/htpasswd.users nagios
重启Apache服务以使设置生效。
service httpd restart
方法二:在httpd.conf最后追加如下内容:
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios /usr/local/nagios/share
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
添加用户
/usr/local/apache2/bin/htpasswd ‐c /usr/local/nagios/etc/htpasswd test
New password: (输入12345)
Re‐type new password: (再输入一次密码)
Adding password for user test
查看认证文件的内容
less /usr/local/nagios/etc/ htpasswd.users
test:47/irvfEsSyzs 前半部分是用户名test,后面是加密后的密码
本例添加的是test 用户名,需要改 cgi.cfg 配置文件,允许nagios用户
authorized_for_system_information=test
authorized_for_configuration_information=test
authorized_for_system_commands=test
authorized_for_all_services=test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=test
authorized_for_all_host_commands=test
如果有多用户,请用逗号格开
启动nagios
把Nagios加入到服务列表中以使之在系统启动时自动启动
chkconfig ‐‐add nagios
chkconfig nagios on
验证Nagios的样例配置文件
/usr/local/nagios/bin/nagios ‐v /usr/local/nagios/etc/nagios.cfg
如果没有报错,可以启动Nagios服务
service nagios start
更改SELinux设置
Fedora与SELinux(安全增强型Linux)同步发行与安装后将默认使用强制模式。这会在你尝试入Nagios的CGI时导致一个"内部服务错误"消息。
如果是SELinux处于强制安全模式时需要做getenforce 令SELinux处于容许模式
setenforce 0
如果要永久性更变它,需要更改/etc/selinux/config里的设置并重启系统。
不关闭SELinux或是永久性变更它的方法是让CGI模块在SELinux下指定强制目标模式:
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/sbin/
chcon ‐R ‐t httpd_sys_content_t /usr/local/nagios/share/
测试
登录 http://localhost/nagios/ 输入用户名和密码就可以正常登录了