第一章:简单快速安装nagios

1.1 准备软件包

在做安装之前确认要对该机器拥有root权限。 确认你安装好的linux系统上已经安装如下软件包再继续。

Apache

GCC编译器

GD库与开发库

Openssl-devel

可以用yum命令来安装这些软件包,键入命令:

yum –y install httpd gcc glibc glibc-common gd gd-devel

1.2 操作过程

1.2.1 建立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

1.2.2 下载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

1.2.3 编译与安装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

make install-init

make install-config

make install-commandmode

验证程序是否被正确安装。切换目录到安装路径(这里是/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

1.2.4 编译并安装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这个目录下

1.2.5 配置WEB接口

方法一:直接在安装nagios时 make install-webconf

创建一个nagiosadmin的用户用于Nagios的WEB接口登录。记下你所设置的登录口令,一会儿你会用到它。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

重启Apache服务以使设置生效。

service httpd restart

方法二:在httpd.conf最后添加如下内容:

#setting for nagios 20090325

#setting by bbs.linuxtone.org

ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin

<Directory "/usr/local/nagios/sbin">

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd

//用于此目录访问身份验证的文件

Require valid-user

</Directory>

Alias /nagios /usr/local/nagios/share

<Directory "/usr/local/nagios/share">

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

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

test:OmWGEsBnoGpIc 前半部分是用户名test,后面是加密后的密码

本例添加的是test 用户名,需要改 cgi.cfg 配置文件,允许test用户

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

如果有多用户,请用逗号格开

1.2.6 启动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

1.2.7 更改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/

1.2.8 测试

登录 http://localhost/nagios/ 输入用户名和密码就可以正常登录了

1.2.9 使用NRPE监控LINUX上的”本地信息”

1.在被监控主机上

增加用户

useradd nagios

设置密码

passwd nagios

2.安装nagios插件

tar -zxvf nagios-plugins-***.tar.gz

cd nagios-plugins-***

./configure

make

make install

chown nagios.nagios /usr/local/nagios

chown -R nagios.nagios /usr/local/nagios/libexec

3.安装nrpe (监控机也安欣)

tar -zxvf nrpe-***.tar.gz

cd nrpe-2.8.1

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

/usr/local/nagios/libexec/check_nrpe -H localhost

会返回当前NRPE的版本

# /usr/local/nagios/libexec/check_nrpe -H localhost

NRPE v2.8.1

在监控与被监控机上启动NRPE:

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

连接远程NRPE:

/usr/local/nagios/libexec/check_nrpe -H <IP_ADD>

也就是在本地用check_nrpe连接nrpe daemon是正常的

注:为了后面工作的顺利进行,注意本地防火墙要打开5666能让外部的监控机访问

/usr/local/nagios/libexec/check_nrpe –h查看这个命令的用法

可以看到用法是check_nrpe –H 被监控的主机 -c要执行的监控命令

注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令

打开nrpe.cfg下的远程登入:

Vim /usr/local/nagios/nrpe.cfg

Allowed_hosts=127.0.0.1,10.1.16.111

注意,两个IP地址中间是逗号

Nagios3完整配置文档的更多相关文章

  1. MYSQL服务器my.cnf配置文档详解

    MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...

  2. azkaban编译安装配置文档

    azkaban编译安装配置文档 参考官方文档: http://azkaban.github.io/azkaban/docs/latest/ azkaban的配置文件说明:http://azkaban. ...

  3. nginx 安全配置文档

    1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系统的nginx配置文件与文档中所写的路径可能不一样,在进行相关配置时,应以线上配置文件的实际路径为准. 线上系统 ...

  4. tomcat 安全配置文档

    1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tomcat的配置文件路径,此路径为测试环境的路径,线上系统对应配置文件的路径可能不一样,在进行相关配置时,应 ...

  5. (转)tomcat 安全配置文档

    原文:https://www.cnblogs.com/heaven-xi/p/9961354.html 1.配置文档中使用$CATALINA_HOME变量声明为tomcat的安装目录并明确写出了tom ...

  6. (转)nginx 安全配置文档

    原文:https://www.cnblogs.com/heaven-xi/p/9961357.html#top 1.配置文档中有多处明确写出了nginx的配置文件路径,该路径是测试环境中的路径,线上系 ...

  7. 转!!Java代码规范、格式化和checkstyle检查配置文档

    为便于规范各位开发人员代码.提高代码质量,研发中心需要启动代码评审机制.为了加快代码评审的速度,减少不必要的时间,可以加入一些代码评审的静态检查工具,另外需要为研发中心配置统一的编码模板和代码格式化模 ...

  8. Hibernate配置文档详解

    Hibernate配置文档有框架总部署文档hibernate.cfg.xml 和映射类的配置文档 ***.hbm.xml hibernate.cfg.xml(文件位置直接放在src源文件夹即可) (在 ...

  9. Java代码规范、格式化和checkstyle检查配置文档

    http://www.blogjava.net/amigoxie/archive/2014/05/31/414287.html 文件下载: http://files.cnblogs.com/files ...

随机推荐

  1. 修改msconfig->引导->高级选项-》最大内存为512M

    本来想开机提速的!手贱  把 最大内存设置成了512M  结果开机悲剧了,启用了微软的自动修复也不能解决问题!最后是WIN7 PE系统下直接修复boot结果了.遇到这种问题的朋友们可以试试喔

  2. Swift调用Objective-C

    Swift调用Objective-C需要一个名为“<工程名>-Bridging-Header.h”的桥接头文件,如下图所示.桥接头文件的作用是为Swift调用Objective-C对象搭建 ...

  3. JavaScript学习笔记(12)——JavaScript自定义对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 让 Putty 保存密码,自动登陆的四种方法

    Putty 基本是我在紧急时候用来登陆 Linux/Unix 终端的不二之先,因其小,开源,界面也非常实用.可是当你要在私有的机器上,经常性的要登陆很多机器的时候就觉得烦琐了,不光打开一堆的窗口,还要 ...

  5. Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载五)Linux系统的对话方式

    本篇是Linux小白最佳实践第5篇,目的就是让白菜们了解Linux进程之间是如何对话的.之前连载的几篇,在微信上引起了很多的反响,有人也反映图多文字少,感觉没有干货.本篇选了大部分是实战讲解的&quo ...

  6. linux之Gcc使用

    本篇文章摘自 http://blog.csdn.net/ljzcom/article/details/7213101 对于Gcc自带的很多命令行,只有具体编程里面用到了或者看到别人真真用到的,用的目的 ...

  7. Android - 代码片段

    转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/android-code-snippets/ 说明 此篇文章为个人日常使用所整理的一此代码片段,此篇文正将会不 ...

  8. 执行插入语句时直接返回插入信息的自增id,判断是否为空

    insert into userinfo(UserName,UserPass,RegTime,email)values('a','b',GETDATE(),'123@qq.com');select @ ...

  9. 【原】隐藏ultraGrid1指定列

    void uGrdAllFlight_InitializeRow(object sender, InitializeRowEventArgs e) { /***********TEST START** ...

  10. C# 从服务器下载文件代码的几种方法

    一.//TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一 ...