一、软件版本下载

Nagios版本下载地址:

http://prdownloads.sourceforge.net/sourceforge/nagios/

http://sourceforge.net/projects/nagios/files/

Nagios 安装,是指基本平台,也就是Nagios软件包的安装。它是监控体系的框架,也是所有监控的基础。

Nagios plug版本下载地址:

http://prdownloads.sourceforge.net/sourceforge/nagiosplug/

http://sourceforge.net/projects/nagiosplug/files/

http://www.nagios.org/download/plugins

Nagios nrpe版本下载地址:

http://sourceforge.net/projects/nagios/files/

Apache 版本下载地址:

http://archive.apache.org/dist/httpd/

Php 版本下载地址:

http://cn2.php.net/downloads.php

Apr 版本下载地址:

http://apr.apache.org/download.cgi

Apr-Util 版本下载地址:

http://apr.apache.org/download.cgi#aprutil1

Pcre版本下载地址:

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

http://sourceforge.net/projects/pcre/files/pcre

Nagios 汉化插件下载地址:

http://sourceforge.net/projects/nagios-cn/files

sendEmail下载地址:

http://caspian.dotconf.net/menu/Software/SendEmail/

net-snmp下载地址:

http://sourceforge.net/projects/net-snmp/files/

openssl下载地址:

http://www.openssl.org/source/

二、介绍和编译安装

Nagios简介

 

Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。

Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。

  启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。

  Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。

  Nagios可以识别4种状态返回信息,即 0(OK)表示状态正常/绿色、1(WARNING)表示出现警告/黄色、2(CRITICAL)表示出现非常严重的错误/红色、3(UNKNOWN)表示未知错误/深黄色。Nagios根据插件返回来的值,来判断监控对象的状态,并通过web显示出来,以供管理员及时发现故障。

Nagios 通过NRPE 来远端管理服务

1. Nagios 执行安装在它里面的check_nrpe 插件,并告诉check_nrpe 去检测哪些服务。

2. 通过SSL,check_nrpe 连接远端机子上的NRPE daemon

3. NRPE 运行本地的各种插件去检测本地的服务和状态(check_disk,..etc)

4. 最后,NRPE 把检测的结果传给主机端的check_nrpe,check_nrpe 再把结果送到Nagios状态队列中。

5. Nagios 依次读取队列中的信息,再把结果显示出来。

编译环境: linux6.2(主机内需包含操作系统iso镜像文件)

挂载镜像文件

mount -o loop /home/rhel-server-6.2-x86_64-dvd.iso /mnt/cdrom

去掉挂载文件:umount /mnt/cdrom

基础支持套件:gcc glibc glibc-common gd gd-devel xinetd openssl-devel 

rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel

如果系统中没有这些套件,使用yum 安装

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel

本次升级系统只有gd安装包,没有gd-devel安装包,通过ftp://ftp.muug.mb.ca/mirror/centos/ 下载gd-devel的rpm安装包

rpm -ivh gd包

rpm -Uvh 升级gd包

rpm -ivh gd-devl包

1、必须创建nagios用户和用户组

创建用户:useradd nagios

设置用户密码:passwd nagios

创建用户组:groupadd nagios

给已有的用户增加用户组:usermod -G nagios nagios

chown nagios:nagios /home/nagios/

chmod 755 /home/nagios

安装nagios

解压软件包

切换成root帐号,执行后面命令

cd /home/nagios/wangjian

tar -zxvf nagios-4.0.8.tar.gz

cd nagios-4.0.8

3、编译

./configure --prefix=/home/nagios

make all

make install

make install-init

make install-config

make install-commandmode

把Nagios加入到服务列表中以使之在系统启动时自动启动

chkconfig --add nagios

chkconfig --level 35 nagios on

chkconfig --list nagios

切换目录到安装路径(这里是/home/nagios),看是否存在etc、bin、sbin、share、var 这五个目录,如果存在则可以表明程序被正确的安装到系统了。Nagios 各个目录用途说明如下:

bin

Nagios 可执行程序所在目录

etc

Nagios 配置文件所在目录

sbin

Nagios CGI 文件所在目录,也就是执行外部命令所需文件所在的目录

share

Nagios网页文件所在的目录

libexec

Nagios 外部插件所在目录

var

Nagios 日志文件、lock 等文件所在的目录

var/archives

Nagios 日志自动归档目录

var/rw

用来存放外部命令文件的目录

安装Nagios-plugins 插件

解压软件

tar zxvf nagios-plugins-2.0.3.tar.gz

cd nagios-plugins-2.0.3

./configure --prefix=/home/nagios

make

make install

Apache 和Php 不是安装nagios 所必须的,但是nagios提供了web监控界面,通过web监控界面可以清晰的看到被监控主机、资源的运行状态

安装Apache

切换至nagios帐号

Apr安装

cd /home/nagios;mkdir apr

cd /home/nagios/wangjian

tar zxvf apr-1.5.1.tar.gz

cd apr-1.5.1

./configure --prefix=/home/nagios/apr

make

make install

Apr-Util安装

cd /home/nagios;mkdir apr-util

cd /home/nagios/wangjian

tar zxvf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/home/nagios/apr-util --with-apr=/home/nagios/apr

make

make install

Pcre安装

cd /home/nagios;mkdir pcre

cd /home/nagios/wangjian

tar zxvf pcre-8.36.tar.gz

cd pcre-8.36

./configure --prefix=/home/nagios/pcre

make

make install

Apache安装

cd /home/nagios;mkdir apache-2.4.9

cd /home/nagios/wangjian

tar zxvf httpd-2.4.9.tar.gz

cd httpd-2.4.9

./configure \

--prefix=/home/nagios/apache-2.4.9 \

--with-pcre=/home/nagios/pcre \

--with-apr=/home/nagios/apr \

--with-apr-util=/home/nagios/apr-util

make

make install

安装Php

cd /home/nagios;mkdir php

cd /home/nagios/wangjian

tar zxvf php-5.6.5.tar.gz

cd php-5.6.5

./configure \

--prefix=/home/nagios/php \

--with-apxs2=/home/nagios/apache-2.4.9/bin/apxs

备注:apxs在安装完apachebin目录下

make

make install

三、软件配置

Apache配置

cd /home/nagios/apache-2.4.9/conf

cp httpd.conf httpd.conf.20150206

打开httpd.conf 文件找到:

User daemon

Group daemon

修改为

User nagios

Group nagios

找到

Listen 80

修改为

Listen 8090

放开LoadModule cgid_module modules/mod_cgid.so

放开LoadModule actions_module modules/mod_actions.so

找到

LogFormat "%h %l %u %t \"%r\" %>s %b" common

修改为

LogFormat "%h %l %u %t \"%r\" %>s %b %D" common

找到

CustomLog "logs/access_log" common

修改为

CustomLog "| /home/nagios/apache-2.4.9/bin/rotatelogs  /home/nagios/apache-2.4.9/logs/access_log.%Y%m%d 86400 480" common

找到

<IfModule dir_module>

  DirectoryIndex index.html

</IfModule>

修改为

<IfModule dir_module>

  DirectoryIndex index.html index.php

</IfModule>

找到

#ServerName www.example.com:80

添加

ServerName SHPD-PA-RADIUS-SV56-HSS22/test

接着增加如下内容:

AddType application/x-httpd-php .php .php5

AddType application/x-httpd-php-source .phps

为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:

#setting for nagios

ScriptAlias /nagios/cgi-bin "/home/nagios/sbin"

<Directory "/home/nagios/sbin">

AuthType Basic

Options ExecCGI

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthUserFile /home/nagios/etc/htpasswd

Require valid-user

</Directory>

Alias /nagios "/home/nagios/share"

<Directory "/home/nagios/share">

AuthType Basic

Options None

AllowOverride None

Order allow,deny

Allow from all

AuthName "nagios Access"

AuthUserFile /home/nagios/etc/htpasswd

Require valid-user

</Directory>

创建apache目录验证文件

在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件: /home/nagios/apache-2.4.9/bin/htpasswd -c /home/nagios/etc/htpasswd wangjian

在htpasswd文件中新增登录帐号

/home/nagios/apache-2.4.9/bin/htpasswd -b /home/nagios/etc/htpasswd 帐号 密码

查看认证文件的内容

cat /home/nagios/etc/htpasswd

启动apache

/home/nagios/apache-2.4.9/bin/httpd -k start

停止apache

/home/nagios/apache-2.4.9/bin/httpd -k stop

通过浏览器访问nagios页面

URL:http://IP:8090/nagios

Nagios安装部署和介绍(一)的更多相关文章

  1. nagios安装部署及详细配置说明(转)

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报 ...

  2. Nagios安装部署

    p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; line-height: 150%; fon ...

  3. Kubernetes安装部署演示介绍

    四.安装k8s 1.安装 使用的是k8s 1.2.4版本. 将kubernetes.tar.gz 上传主机,并解压. tar -xzvf kubernetes.tar.gz cd kubernetes ...

  4. linux下安装部署ansible

    linux下安装部署ansible 介绍 Ansible是一种批量部署工具,现在运维人员用的最多的三种开源集中化管理工具有:puppet,saltstack,ansible,各有各的优缺点,其中sal ...

  5. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  6. Nagios安装与部署

    Nagios概述: Nagios是一款开源免费(也有收费版的Nagios XI)的监控工具,可以用以监控Windows.Linux.Unix.Router.Switch,可以监控指定主机的物理基础资源 ...

  7. CentOS 7.4 下安装部署Nagios监控系统详细攻略(三)

    Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务 ...

  8. Hadoop入门进阶课程13--Chukwa介绍与安装部署

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博主为石山园,博客地址为 http://www.cnblogs.com/shishanyuan  ...

  9. Solr7 安装部署 管理界面介绍

    Solr7 安装部署 管理界面介绍 本章重点介绍CentOS 安装部署Solr7 ,Solr的管理界面介绍,添加核心Core配置,Dataimport导入数据,Documents 在线维护索引,Que ...

随机推荐

  1. webpack+react+redux+es6

    一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...

  2. SSH公钥认证+优化

    一 ssh公钥认证流程: sshclinet机器:产生公私钥(公钥相当于一把锁) sshclient:将公钥发给sshserver(抛出锁子) sshclinet去连sshserver不需要密钥   ...

  3. C语言 文件操作2--文件缓存的理解

    //文件缓存机制理解 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> void mai ...

  4. C#泛型委托,匿名方法,匿名类

    class Test { delegate K proxy<T, K>(T t, K k); //泛型委托,注意返回值的写法,返回值的类型K先于其声明proxy<T,K>中的K ...

  5. PHP基础20:创建文件

    <?php /* 1.PHP 创建文件 - fopen() fopen() 函数也用于创建文件.也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同 如果您用 fopen() 打 ...

  6. C# 利用QRCode生成二维码图片

    网上生成二维码的组件是真多,可是真正好用的,并且生成速度很快的没几个,QRCode就是我在众多中找到的,它的生成速度快.但是网上关于它的使用说明,真的太少了,大都是千篇一律的复制粘贴.这是本要用它做了 ...

  7. Java6 String.substring()方法的内存泄露

    substring(start,end)在Java编程里面经常使用,没想到如果使用不当,会出现内存泄露. 要了解substring(),最好的方法便是查看源码(jdk6): /** * <blo ...

  8. python数字图像处理(4):图像数据类型及颜色空间转换

    一.图像数据类型及转换 在skimage中,一张图片就是一个简单的numpy数组,数组的数据类型有很多种,相互之间也可以转换.这些数据类型及取值范围如下表所示: Data type Range uin ...

  9. MSSQL 分组后取每组第一条(group by order by)

    查询中经常遇到这种查询,分组后取每组第一条.分享下一个SQL语句: --根据 x 分组后.根据 y 排序后取第一条 select * from ( select ROW_NUMBER() over(p ...

  10. iOS开发的设计模式

    ios开发学习中,经常弄不清楚ios的开发模式,今天我们就来进行简单的总结和探讨~ (一)代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷 ...